Ubuntu IP伪装

服务器指南文档

IP Masquerading的目的是允许网络上具有私有的,不可路由的IP地址的计算机通过伪装的机器访问Internet。 来自您的专用网络的目的地为互联网的流量必须被处理,以使回复可路由回发出请求的机器。 为此,内核必须修改每个数据包的 IP地址,以便将回复路由回给它,而不是通过发送请求的私有IP地址,这在互联网上是不可能的。 Linux使用连接跟踪 (conntrack)来跟踪哪些连接属于哪些机器并相应地重新路由每个返回数据包。 因此,离开你的私人网络的流量被“伪装”成源于你的Ubuntu网关机器。 此过程在Microsoft文档中称为Internet连接共享。

IP伪装说明

这可以通过一个iptables规则来完成,根据您的网络配置,该规则可能会略有不同:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

上述命令假定您的私有地址空间是192.168.0.0/16,并且您的面向Internet的设备是ppp0。 语法分解如下:

过滤器表中的每个链(默认表以及大部分或全部数据包过滤发生处)都具有默认的ACCEPT 策略 ,但如果除了网关设备之外还要创建防火墙,则可能已将策略设置为DROP或REJECT,在这种情况下,您的伪装流量需要通过FORWARD链来允许上述规则的工作:

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT

上述命令将允许从本地网络到Internet的所有连接以及与这些连接相关的所有流量返回到启动它们的机器。

* 许可证

* Ubuntu服务器指南索引