Linux SNAT地址转换做网关

一、试验拓扑图(略):
  192.168.1.3 (外)   192.168.6.6(内)
二、按照此图配置好各个网卡的IP地址:
 1、外网IP地址:
       IP192.168.1.3
      掩码:255.255.255.0
      网关:192.168.1..254
      DNS202.106.0.20 (北京网通)
 2、内网IP地址:
       IP192.168.6.6
      掩码:255.255.255.0
      网关:空
三、打开ipforward内核开关变量
1
、用more /proc/sys/net/ipv4/ip_forward查看其置为“0”

echo 1 > /proc/sys/net/ipv4/ip_forward

sysctl -w net.ipv4.ip_forward=1

sysctl -p

vi /etc/init.d/network

  sysctl -w net.ipv4.ip_forward=1


麻烦问下各位.如果想修改
/proc/sys/net/ipv4/ip_forward
默认值


再用:vi /proc/sys/net/ipv4/ip_forward将其中的数字“0 ”修改成“1”
2
、再修改 /etc/sysctl.conf文件中的如下几条:
   net.ipv4.ip_forward=1
   net.ipv4.conf.default.rp_filter=1
  kernel.sysrq=0

四、打开FORWARD 链的转发功能
iptables –A FORWARD –d 192.168.6.0/24 –j accept

五、将局域网地址翻译成互联网地址:
在防火墙表中加入如下两条,让所有192.168.6.0 网段的主机都能通过网关。
iptables –t nat –A POSTROUTING –s 192.168.6.0/24 –j SNAT --to-source 192.168.1.3

 

可以把以上保存成shell,让后把gw.sh放到/etc/rc.local

ysctl -w net.ipv4.ip_forward=1

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

sysctl -w net.ipv4.tcp_syncookies=1

sysctl -w net.ipv4.tcp_synack_retries=3

sysctl -w net.ipv4.tcp_syn_retries=3

 

iptables -t nat -F

iptables -F

 

iptables –A FORWARD –d 192.168.6.0/24 –j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.6.0/24 -j SNAT --to-source 192.168.1.3