我想设置我的 ubuntu 计算机来路由数据包。因此,我阅读了几篇教程,这些教程总是有很多规则要添加到 iptables 中。
我终于发现,路由数据包所需的唯一规则(假设 iptables 否则完全为空)如下:
iptables -t nat -A POSTROUTING -o <ext> -j MASQUERADE
其中ext
是数据包向外发送的网络接口。
我真的不明白这条规则的真正作用以及为什么只需要这条规则就可以使 IP 转发工作。
我想设置我的 ubuntu 计算机来路由数据包。因此,我阅读了几篇教程,这些教程总是有很多规则要添加到 iptables 中。
我终于发现,路由数据包所需的唯一规则(假设 iptables 否则完全为空)如下:
iptables -t nat -A POSTROUTING -o <ext> -j MASQUERADE
其中ext
是数据包向外发送的网络接口。
我真的不明白这条规则的真正作用以及为什么只需要这条规则就可以使 IP 转发工作。
命令:
信息:
-t nat
:-A POSTROUTING
:-j MASQUERADE
:-o <interface>
:概括:
-t nat
选择表“nat”用于配置 NAT 规则。-A POSTROUTING
将规则附加到 POSTROUTING 链(-A 代表“附加”)。-o eth1
此规则对离开此网络接口的数据包有效(-o 代表“输出”)-j MASQUERADE
应该采取的行动是“伪装”数据包,即将发送者的地址替换为路由器的地址。资料来源:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Security_Guide/s1-firewall-ipt-fwd.html
https://www.karlrupp.net/en/computer/nat_tutorial
https://www.thegeekstuff.com/2011/01/iptables-fundamentals/