Linux SNAT地址转换做网关
一、试验拓扑图(略):
192.168.1.3 (外) 192.168.6.6(内)
二、按照此图配置好各个网卡的IP地址:
1、外网IP地址:
IP:192.168.1.3
掩码:255.255.255.0
网关:192.168.1..254
DNS:202.106.0.20 (北京网通)
2、内网IP地址:
IP:192.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
转载于:https://blog.51cto.com/whiptiger/1122235