centos6.6搭建NAT路由转发
多网卡设置
打开网卡
ifup eth5
实验环境:
centos6.6(eth0外网口[VMnet8] eth1内网口[VMnet1])
eth0(192.168.159.128/24 gw:192.168.159.254)
eth1(192.168.121.129/24 没有网关)
客户端(eth1)[VMnet1]
eth1:192.168.121.128/24 gw:192.168.121.129
1.nat服务器IP设置
eth0(外网):
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
eth1(内网):
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.121.129
NETMASK=255.255.255.0
连eth0(内网)客户端ip:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.121.128
NETMASK=255.255.255.0
GATEWAY=192.168.121.129
DNS1=114.114.114.114 ##访问外网必须设置dns否则不能解析
DNS2=8.8.8.8
iptables-t nat -F #清除原有的nat表中的规则
iptables -F #清除原有的filter有中的规则
iptables -P FORWARDACCEPT #缺省允许IP转发
2.配置nat转发
iptables -t nat -F
方法1(静态ip):
iptables -t nat -A POSTROUTING -s 192.168.121.0/24 -j SNAT --to 192.168.159.128
方法2(动态ip):
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
说明:
-t nat:调用nat表,调用这个表说明遇到了产生新的连接的包
-A:改名了将一条规则附加到链的末尾
POSTROUTING:指定正当信息包打算离开防火墙时改变它们的规则
-o eth0:输出接口为eth0(即外网ip)
-j SNAT:跳转,当满足SNAT规则变发生跳转
整句意思:当防火墙遇到产生新的连接的包,则在他要离开防火墙时改变它的源ip为192.168.159.128从eth0送出去。
临时转发生效:echo 1>/proc/sys/net/ipv4/ip_forward
5.2# vi /etc/sysctl.conf
将net.ipv4.ip_forward的值从0改为1,否则服务器将不会进行包转发操作
# sysctl –p 保存执行
客户端:ping www.163.com