在iptables中,我经常看到目标MASQUERADE。那是什么意思?我搜索了很多东西,但我需要有人以简单易懂的方式解释一下MASQUERADE是什么?
一个例子(摘自this answer)是:
一个例子(摘自this answer)是:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
.
.
阅读此内容并向下滚动至MASQUERADE: http://billauer.co.il/ipmasq-html.html 深入了解请阅读此内容:http://oreilly.com/openbook/linag2/book/ch11.html 所有关于“Connectify for linux”的问题都可以通过实施MASQUERADE算法来解决。sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -A FORWARD -i wlan0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
-j SNAT --to-source xx.xx.xx.xx
其中xx.xx.xx.xx是所需接口的外部IP。
我不能说它_应该_在已知外部IP时使用。我更喜欢使用MASQUERADE而不是SNAT来使规则灵活,并且不受我当前拥有的特定外部IP的限制。 - Sergey P. aka azureMASQUERADE链对于内部创建整个私有IP地址空间以及转发可能不兼容的数据包非常有用。
以太网或有线协议假设数据包来自源地址并进行报告。无线协议则假设数据包正在重复发送并进行报告,同时还保留了原始源地址。
因此,Wifi和以太网不能直接桥接,因为它们是不兼容的。伪装将导致数据包被重建,并能处理有线和无线标准之间的转换。注意:有办法使计算机在内部接受不兼容性并进行桥接,但如果没有完整的伪装,桥接欺骗将从外部视为安全风险,并且那些请求将被拒绝。
MASQUERADE
规则,链接确实被分享并在各个接口上可用。因此,我对第二行的FORWARD
规则有些困惑,它是用来做什么的? - 千木郷