iptables--SNAT、DNAT实践
iptables--SNAT、DNAT实践
目录
iptables--SNAT、DNAT实践
1.1 SNAT代理内网上网-iptables. 3
1.1.1 环境说明... 3
1.1.2 部署过程... 3
1.2 DNAT-映射内网服务器-iptables-实现外网IP的端口映射到内网IP的端口 5
1.2.1 需求:... 5
1.2.2 实现命令... 5
1.2.3 验证... 5
1.1 SNAT代理内网上网-iptables
1.1.1 环境说明
主机A:(能上网) ip:内172.16.1.7/24 外10.0.0.7/24 系统CentOS 6.9 主机B:(不能上网) ip:内172.16.1.8/24 系统CentOS 6.9
SNAT: 改变数据包的源地址。主机A的防火墙将数据包的源地址替换为10.0.0.7/24。这样使网络内部主机能够与网络外部通信。
1.1.2 部署过程
1.1.1.1 主机A:开启内核转发功能
#永久 vim /etc/sysctl.conf 修改 net.ipv4.ip_forward = 1 sysctl -p
1.1.1.2 主机A:iptables添加SNAT规则
映射多个外网IP上网
iptables -t nat -I POSTROUTING -s 172.16.1.0/24 -j SNAT --to 10.0.0.7 #验证成功后-优化 service iptables save #保存配置 chkconfig iptables on #开机自启
映射多个外网IP上网
方法1: iptables -t nat -A POSTROUTING -s 10.0.1.0/255.255.240.0 -o eth0 -j SNAT --to-source 124.42.60.11-124.42.60.16 三层交换机或路由器,划分VLAN。 方法2: iptables -t nat -A POSTROUTING -s 10.0.1.0/22 -o eth0 -j SNAT --to-source 124.42.60.11 iptables -t nat -A POSTROUTING -s 10.0.2.0/22 -o eth0 -j SNAT --to-source 124.42.60.12 扩大子网,增加广播风暴。
1.1.1.3 主机B : 添加默认路由并验证
[root@localhost B~]# route add default gw 10.0.0.1 #添加路由 (临时修改) 永久修改:修改网卡配置文件 [root@localhost B~]# route -n #查看路由 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 0.0.0.0 172.16.1.6 0.0.0.0 UG 0 0 0 eth1 验证: [root@localhost B~]# ping www.baidu.com PING www.a.shifen.com (111.13.100.91) 56(84) bytes of data. 64 bytes from 111.13.100.91: icmp_seq=1 ttl=128 time=5.42 ms 64 bytes from 111.13.100.91: icmp_seq=2 ttl=128 time=5.34 ms
1.2 DNAT-映射内网服务器-iptables-实现外网IP的端口映射到内网IP的端口
1.2.1 需求:
将网关的IP和9000端口映射到内网服务器的22端口
端口映射 10.0.0.7:9000 -->172.16.1.8:22
1.2.2 实现命令
1、需要开启内核转发功能
2、iptables -t nat -A PREROUTING -d 10.0.0.7 -p tcp --dport 9000 -i eth0 -j DNAT --to-destination 172.16.1.8:22
1.2.3 验证
[f:\~]$ ssh 10.0.0.7 9000