首页 > 代码库 > 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设置