6.防火墙nat表的配置实践
iptables NAT:(配置NAT表示就是配置以下两个链)
1.postrouting(内网---外网-NAT 源私网IP地址---源公网IP地址)
路由之后,进行地址映射转换,把源地址进行转换(源私网地址==>源公网地址)
2.prerouting(外网---内网-NAT 目标公网IP地址---目标私网IP地址 映射目标端口)
路由之前,进行地址映射转换,把目标地址进行转换(目标公网地址==>目标变为私网地址)
实践一:iptables实现共享上网方法(postrouting)
第一个历程:配置内网服务器,设置网关地址
/etc/init.d/iptables stop --- 内网服务器停止防火墙服务
ifdown eth0 --- 模拟关闭内网服务器外网网卡
setup --- 修改内网网卡网关和DNS地址信息
[root@oldboyedu42-lnb-02 ~]# 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 1003 0 0 eth1
0.0.0.0 172.16.1.7 0.0.0.0 UG 0 0 0 eth1
说明:内网服务器网关地址指定为共享上网服务器内网网卡地址
第二个历程:配置共享上网服务器,开启共享上网服务器路由转发功能
[root@oldboyedu42-lnb-02 ~]# vim /etc/sysctl.conf
[root@oldboyedu42-lnb-02 ~]# sysctl -p
net.ipv4.ip_forward = 1
第三个历程:配置共享上网服务器,实现内网访问外网的NAT映射
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.7
-s 172.16.1.0/24 --- 指定将哪些内网网段进行映射转换
-o eth0 --- 指定在共享上网哪个网卡接口上做NAT地址转换
-j SNAT --- 将源地址进行转换变更
-j DNAT --- 将目标地址进行转换变更
--to-source ip地址 --- 将源地址映射为什么IP地址
--to-destination ip地址 --- 将目标地址映射为什么IP地址
扩展如果开启:forward默认drop策略,如果配置forward链
iptables -A FORWARD -i eth1 -s 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth0 -s 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -d 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth1 -d 172.16.1.0/24 -j ACCEPT
网络数据包传输过程一定是有去有回的
实践二:iptables实现共享上网方法(postrouting)
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j MASQUERADE <- 伪装共享上网
说明:在企业中如何没有固定外网IP地址,可以采取以上伪装映射的方式进行共享上网
总结:配置映射方法
1.指定哪些网段需要进行映射 -s 172.16.1.0/24
2.指定在哪做映射 -o eth0
3.用什么方法做映射 -j SNAT/DNAT
4.映射成什么地址 --to-source ip地址/--to-destination ip地址
实践三:iptables实现外网IP的端口映射到内网IP的端口
需求:将网关的IP和9000端口映射到内网服务器的22端口
端口映射 10.0.0.7:9000 -->172.16.1.8:22
实现命令:
iptables -t nat -A PREROUTING -d 10.0.0.7 -i eth0 -p tcp --dport 9000 -j DNAT --to-destination 172.16.1.8:22
(1)-d 10.0.0.8目标地址。
(2)-j DNAT 目的地址改写。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx