iptables nat表应用案例:
nat表作用:
导流
nat表作用位置:
KVM或者OpenStack中虚拟机或云主机与外部通信。(云主机导流)
Docker管理的容器与外部通信
nat表规则动作所对应的链:
SNAT 源地址转换 应用于出口POSTROUTING
MASQUERADE 源地址转换 应用于出口POSTROUTING
DNAT 目的地址转换 应用于进行PREROUTING
REDIRECT 端口重定向 应用于进口PREROUTING
Linux主机开启路由转发功能:我们的电脑就是路由器。
sysctl -a |grep ip_forward
net.ipv4.ip_forward = 1
cat /proc/sys/net/ipv4/ip_forward
# 以上为开启
# 以下为关闭
echo 0 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
vim /etc/sysctl.conf # 系统控制配置文件
net.ipv4.ip_forward = 1
sysctl -p # 刷新
sysctl -a # 查看内核修改的参数
涉及到临时修改还是永久修改。
我们开启路由转发的目的,主要是为了实现Linux系统的SNAT和DNAT功能。
SNAT MASQUERAED 源地址转换案例:
两个概念的区别:
SNAT: 将私有地址转换成公网地址上网。
MASQUERAED: 私有地址想上网,使用公网地址的某个端口去上网,其实就是一个伪装。
案例:实现内网主机上网功能:把我们的主机配置成路由器。
网络连接拓扑:
win系统使用vmware workstation实现了SNAT实验拓扑:
vnet8 NAT 性质:交换机。