一、SANT
请求报文源地址替换
实现内网(192.168.129.0/24)通过路由访问外网(172.17.16.169)
路由器: 172.17.16.173和192.168.129.173
1.缺点
缺点
多个内网主机同时访问外网主机的web服务;则路由的地址不够,此时需要用PNAT(端口转换)
2.内网路由指向路由器的内网网段IP
nmcli c modify con-eth1 ipv4.gateway 192.168.129.173
3.在路由器POSTROUTING加策略
#静态IP转换
iptables -t nat -A POSTROUTING -s 192.168.129.0/24 ! -d 192.168.129.0/24 -j SNAT --to-source 172.17.16.173
#动态IP转换
iptables -t nat -A POSTROUTING -s 192.168.129.0/24 ! -d 192.168.129.0/24 -j MASQUERADE
4.开启转发功能
sysctl -w net.ipv4.ip_forward=1
5.与网络防火墙区别
#不同
只设置内网的路由记录
在172.17网段查看,是172.17.16.173访问,但其实是192.168.129.174在访问
#相同
都要开启路由转发功能
二、DANT
请求报文目标地址替换
1.实现
外网访问路由器的某个端口时,路由器替换目标地址IP和端口为内网的某个服务器的IP和端口
实现外网可以访问内网的服务
2.缺点
只能映射一个内部服务器主机
3.内网路由指向路由器的内网网段IP
nmcli c modify con-eth1 ipv4.gateway 192.168.129.173
4.在路由器POSTROUTING加策略
#转换IP加端口
iptables -t nat -A PREROUTING -d 172.17.16.173 -p tcp --dport 80 -j DNAT --to-destination 192.168.129.174:8080
#转换IP
iptables -t nat -A PREROUTING -d 172.17.16.173 -j DNAT --to-destination 192.168.129.174
4.开启转发功能
sysctl -w net.ipv4.ip_forward=1
5.结果
三、REDIRECT
访问本机a端口时,将端口转换为本机的b端口
1.实现访问172.17.16.169的80端口时,转换为本机端口8080
iptables -t nat -A PREROUTING -d 172.17.16.169 -p tcp --dport 80 -j REDIRECT --to-ports 80
2.访问本机的80端口,转换为本机的8080端口,则在本机执行,写本机IP
iptables -t nat -A PREROUTING -d 本机IP -p tcp --dport 80 -j REDIRECT --to-ports 80