networking设置:
10.0.0.1路由器:上网
10.0.0.70服务器:基于Ubuntu的服务器,默认网关是10.0.0.1
10.0.0.51 PC
我在服务器上创build了一个PPTP连接(接口:ppp0)到互联网上的一台机器,我想要做的是将所有来自特定IP地址(10.0.0.51)的stream量通过PPTP连接,然后到互联网。 我做的是:
- 将PC(10.0.0.51)上的网关设置为10.0.0.70
- 启用ipv4转发10,0,0,70
- 将伪装规则添加到iptable:
iptables -t nat -A POSTROUTING -o ppp0 -s 10.0.0.51 -j MASQUERADE
之后,似乎10.0.0.51的stream量都没有被redirect到ppp0,而是直接通过了10.0.0.1。
任何想法呢?
假设Ubuntu网关上的内部接口是eth0。
添加更多2条以下规则:
iptables -A FORWARD -i eth0 -o ppp0 -s 10.0.0.51 -j ACCEPT iptables -A FORWARD -i ppp0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
并确保您删除了客户端上的旧网关:
route del default gw 10.0.0.1 dev <ethx>