仅使用 3G 时无法通过 VPN 连接到 SSH

仅使用 3G 时无法通过 VPN 连接到 SSH

我遇到了一个奇怪的问题,我不知道如何调试/修复。我有一个通过有线接口或 3G 加密狗连接到 Windows VPN 的 Raspberry Pi。使用有线接口,我可以使用 Raspberry Pi 的 VPN 分配地址连接到端口 2200 上的 SSH,但使用 3G 加密狗我无法连接。

我刚刚在使用 3G 加密狗的 Pi 上运行了 tcpdump,它确实接收到了发送到端口 2200 的数据包,但没有发送响应。netstat --listening显示 SSH 正在监听 *:2200。iptables -L -n没有显示规则,但有policy ACCEPTINPUT、FORWARD 和 OUTPUT。

所以有某种因素阻止 SSH 接收这些数据包,但我不知道如何造成,以及为什么它只在通过 3G 连接时才会产生影响。

什么原因导致了这个问题?

‘ifconfig’输出:

eth0 链路封装:以太网 HWaddr b8:27:eb:cc:ff:62

     UP BROADCAST MULTICAST  MTU:1500  Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1 链路封装:以太网 HWaddr 58:2c:80:13:92:63

     inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:1394 errors:0 dropped:0 overruns:0 frame:0
     TX packets:1246 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:324889 (317.2 KiB)  TX bytes:99862 (97.5 KiB)

lo 链路封装:本地环回

     inet addr:127.0.0.1  Mask:255.0.0.0
     UP LOOPBACK RUNNING  MTU:16436  Metric:1
     RX packets:13 errors:0 dropped:0 overruns:0 frame:0
     TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:1020 (1020.0 B)  TX bytes:1020 (1020.0 B)

ppp0 链路封装:点对点协议

     inet addr:192.168.1.127  P-t-P:192.168.1.120  Mask:255.255.255.255
     UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
     RX packets:333 errors:8 dropped:0 overruns:0 frame:0
     TX packets:366 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:3 
     RX bytes:19944 (19.4 KiB)  TX bytes:24857 (24.2 KiB)

‘路线’输出:

内核 IP 路由表

目标网关 Genmask 标志度量参考使用 Iface
默认 * 0.0.0.0 U 0 0 0 ppp0
[VPN服务]192.168.1.1 255.255.255.255 UGH 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
192.168.1.120 * 255.255.255.255 UH 0 0 0 ppp0

PPP 配置:

pptp 模板[VPN服务]--nolaunchpppd --debug”
名称[VPN用户]
密码[VPN密码]
远程名称 PPTP
需要-mppe-128
需要-mschap-v​​2
拒绝-eap
拒绝-pap
拒绝-chap
拒绝-mschap
noauth
调试
持久
maxfail 0
默认路由
replacedefaultroute
usepeerdns
nobsdcomp
nodeflate

更新:

我刚刚尝试了让 Pi 连接到外部地址而不是 VPN 地址的实验,它在外部连接时有效,但任何访问另一个 VPN IP 的尝试都会导致“无法路由到主机”。所以这肯定是一个路由问题,但我不太擅长路由和网络掩码。

答案1

找到问题了。3G 加密狗在 192.168.1.0 子网上运行,我的 VPN 也在同一子网上运行。将 VPN 子网更改为 192.168.2.0 或任何其他子网即可解决问题。

这是通过 VPN“传入连接”适配器的 IPv4 网络设置来完成的,将 IP 地址范围更改为 192.168.2.1 - 192.168.2.200。

相关内容