我正在尝试使用网关地址10.10.121.10
来通过这台机器转发 TCP 流量。我想让来自我机器的流量通过,10.10.121.10
并且该机器10.200.32.107
认为它来自10.10.121.10
而不是我的机器。似乎无论我在 Windows 中设置什么 - 它都不关心设置的网关地址。
以下是未设置静态路由的状态:
这正是我所期望的 - 没有设置路由10.200.32.107
,因此我无法到达该 IP。
但是当我在这里添加这个静态路由时
目的地可到达,但无法通过10.10.121.10
。看来这个Gateway
地址在这里并不重要 - 即使我在这里输入随机 IP(例如我尝试使用1.1.1.1
),它也能正常工作。
我期望的是流量按照图像上的绿色步骤进行引导:
- 我想到达
10.200.32.107
,所以使用路线10.200.32.0 255.255.255.0
- 网关是
10.10.121.10
,因此使用路由10.10.121.10 255.255.255.255
- 网关就是
192.168.24.1
这样去那里并将流量转发到10.10.121.10
TAP-Windows 适配器 V9 (VPN)
答案1
看来您想管理所连接的路由器后面的路由方式。数据包中没有可以设置为在路由器上读取的选项来更改其行为。
您的计算机唯一能决定的是下一跳。因此,您的所有路由表都只是选择 192.168.24.1 作为下一跳的一种方式,仅此而已。192.168.24.1 将决定下一步要做什么,您无法从计算机更改其行为。
答案2
好的,我最终要做的是pptpd
在树莓派上安装并进行如下配置:
sudo apt-get install pptpd
sudo nano /etc/pptpd.conf
并在底部添加
localip 199.168.0.1
remoteip 199.168.0.234-238,199.168.0.245
然后我只是添加了规则iptables
# Generated by xtables-save v1.8.2 on Sun Nov 1 21:00:46 2020
*nat
:PREROUTING ACCEPT [3303:295008]
:INPUT ACCEPT [434:44479]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [51:3332]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sun Nov 1 21:00:46 2020
# Generated by xtables-save v1.8.2 on Sun Nov 1 21:00:46 2020
*filter
:INPUT ACCEPT [6349:640268]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3318:257937]
-A FORWARD -i ppp0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Nov 1 21:00:46 2020
我在 Windows 上安装了新网络:
然后,因为我正在使用 OpenConnect,所以我编辑了文件vpnc-script.js
以便自动连接到piVNP
- 我刚刚添加了
echo("Connecting to piVPN...");
exec("rasdial \"piVPN\" \"default\" \"default\"");
echo("Adding my static route...");
exec("route add 10.200.0.0 mask 255.255.0.0 199.168.0.1 metric 36");
在连接方法中,然后在断开连接时添加:
echo("Disconnecting from piVPN...");
exec("rasdial \"piVPN\" /disconnect");
现在一切都自动化了并且运转完美......