首页 > 代码库 > linux下的nat设置
linux下的nat设置
配置采用双网卡:eth0、eth1
eth0的配置:[root@tpwb network-scripts]# cat ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=211.101.46.255
HWADDR=4C:00:10:59:6B:20
IPADDR=211.101.46.251
NETMASK=255.255.255.0
NETWORK=211.101.46.0
ONBOOT=yes
TYPE=Ethernet
eth1的配置: [root@tpwb network-scripts]# cat ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
HWADDR=4C:00:10:10:03:55
TYPE=Ethernet
注:“我才用的是固定IP,外网IP:211.101.46.251,内网IP是:192.168.1.1”
DNS配置:
[root@tpwb ~]# cat /etc/resolv.conf
nameserver 192.168.1.1 内网DNS地址
nameserver 202.106.0.20 外网DNS地址
网关配置:
[root@tpwb /]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=tpwb
GATEWAY=211.101.46.1 你的网关(211.101.46.251的网关)
[root@tpwb sysconfig]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
211.101.46.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 211.101.46.1 0.0.0.0 UG 0 0 0 eth0
保证default是 211.101.46.1
重启dns:
[root@tpwb ~]# service named restart
现在开始启用nat:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 211.101.46.251
注:-A:表示在所选择的的链末添加一条或多条规则, POSTROUTING:修改准备出去的包 ,-s:源地址,-o:输出接口,-j:指定规则的目标;也就是说,如果包匹配应当做什么,--to:只用于nat表的POSTROUTING链,相当于给包发出时所经过接口的IP地址设置一个映像。“
开启网卡的转发功能:[root@tpwb ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
允许dns服务端口的tcp、udp数据包通过:
[root@tpwb ~]#iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
[root@tpwb ~]#iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
如果想重启之后依然生效: /etc/rc.d/init.d/iptables save
vi /etc/rc.d/rc.local下添加一行:
echo 1 > /proc/sys/net/ipv4/ip_forward保存退出
[root@tpwb ~]# ntsysv
在named,iptables的[]里点空格见出现*号后,确定,表示开机自动加载!
重启即可:
本文出自 “wangconggao” 博客,请务必保留此出处http://wangconggao.blog.51cto.com/3253868/1579695
linux下的nat设置