我有一台具有以下网络设置的ubuntu路由器:
br0 192.168.1.15 netmask 255.255.255.0
br0:1 192.168.2.209 netmask 255.255.255.248
我有一台pc连接到br0:1
网络上,具有以下设置:
ip 192.168.2.210 netmask 255.255.255.248 gateway 192.168.2.209
这台pc应该能够访问主机192.168.1.1
,这是在br0网络的ubuntu路由器。
192.168.1.1
是广域网网关,所以我如何使它成为192.168.2.208/29
网络上主机的网关。
我已经在ubuntu路由器上启用了ip4转发。
发布于 2011-05-08 15:52:16
首先,确保192.168.2.209
是192.168.2.210
的默认网关,并且Ubuntu路由器允许来自主机的流量。在192.168.2.210
上:
route add default gw 192.168.2.209
在Ubuntu路由器上:
iptables -I FORWARD -i br0:1 -s 192.168.2.210 -j ACCEPT
那么你有两个选择。您可以在Ubuntu路由器上对转发的通信量进行SNAT,以便192.168.1.1将其视为属于路由器,并知道如何返回它:
iptables -t nat -I POSTROUTING -s 192.168.2.210 -j SNAT --to 192.168.1.15
或者您可以在192.168.1.1
网关上添加以下路由,假设它也是一个Linux主机:
route add -net 192.168.2.209/29 gw 192.168.1.15
它告诉它如何将数据包路由回该网络。当然,如果网关正在过滤,您也必须为192.168.2.209/29
网络添加筛选规则:
iptables -I FORWARD -s 192.168.2.210 -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.2.210 -j MASQUERADE
当然,这些最后的规则可以通过更多的信息来改进。
https://serverfault.com/questions/267477
复制相似问题