伪装从某些源IP到VPN连接的stream量

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连接,然后到互联网。 我做的是:

  1. 将PC(10.0.0.51)上的网关设置为10.0.0.70
  2. 启用ipv4转发10,0,0,70
  3. 将伪装规则添加到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>