有关用linux作NAT服务 (代理,透明代理等)

发表于:2007-06-22来源:作者:点击数: 标签:
作者:wind521 准备: 一台 linux 主机(这是必备的) 两块网卡 系统支持iptables (如有人不清楚iptables,可以先到网上去看一下相关的资料) 针对于此,我这几天写了一个简单的小脚本,大家可以利用他来作代理服务,如果有能力,可以添加一些相关的规则。。

   
  作者:wind521
  
  准备: 一台linux主机(这是必备的)
      两块网卡
      系统支持iptables (如有人不清楚iptables,可以先到网上去看一下相关的资料)

    针对于此,我这几天写了一个简单的小脚本,大家可以利用他来作代理服务,如果有能力,可以添加一些相关的规则。。。
  程序如下:
  
  #! /bin/sh
  
  IPTABLES=/usr/sbin/iptables
  EXTERNAL="eth1" ---> 外网的接口
  INTERNAL="eth0"  ---> 内网的接口
  IP=192.168.0.0/24 ---> 内网地址
  
  
  $IPTABLES -P INPUT ACCEPT
  $IPTABLES -P FORWARD ACCEPT
  $IPTABLES -P OUTPUT ACCEPT
  
  $IPTABLES -t nat -P PREROUTING ACCEPT
  $IPTABLES -t nat -P POSTROUTING ACCEPT
  $IPTABLES -t nat -P OUTPUT ACCEPT
  
  $IPTABLES -F
  $IPTABLES -t nat -F
  
  
  $IPTABLES -X
  $IPTABLES -t nat -X
  
  start() {
   echo -n $"Starting firewall "
   # Enable IPV4 Packet Forwarding
   echo 1 > /proc/sys/net/ipv4/ip_forward
  
   for i in /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/*
   do
   t=`echo $i |sed 's/\.o$//g'`
   module=`basename $t`
   modprobe $module
   done
   #
   #允许ICMP数据包(ping)
   $IPTABLES -A INPUT -p icmp -j ACCEPT
  
   #允许内部网之间的数据通讯
  
   $IPTABLES -A INPUT -i $INTERNAL -s $PRINET -j ACCEPT
   $IPTABLES -A OUTPUT -o $INTERNAL -d $PRINET -j ACCEPT
  
  
   $IPTABLES -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
   echo_suclearcase/" target="_blank" >ccess
  }
  
  
  stop(){
   echo -n $"Stopping Firewall"
  
   flush
  
   for i in /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/*
   do
   t=`echo $i |sed 's/\.o$//g'`
   module=`basename $t`
   modprobe -r $module
   done
  
   # Disale IPV4 Packet Forwarding
   echo "0" > /proc/sys/net/ipv4/ip_forward
   echo_success
  }
  
  restart()
  {
   stop
   start
  }
  
  # See how we were called.
  case "$1" in
   start)
   start
   ;;
   stop)
   stop
   ;;
   restart)
   restart
   ;;
   *)
   echo $"Usage: $0 {start|stop|restart}"
   exit 1
  esac
  
  按照需要将你所对应的变量改动一下,应该没有问题的!
  
  说明:这个基本上能保证代理上网的功能,其他的什么都没有作,包括SNAT,DNAT,都没有作,如果有需要的可以自己去改动

原文转自:http://www.ltesting.net