我遇到了一个奇怪的问题,我不知道如何调试/修复。我有一个通过有线接口或 3G 加密狗连接到 Windows VPN 的 Raspberry Pi。使用有线接口,我可以使用 Raspberry Pi 的 VPN 分配地址连接到端口 2200 上的 SSH,但使用 3G 加密狗我无法连接。
我刚刚在使用 3G 加密狗的 Pi 上运行了 tcpdump,它确实接收到了发送到端口 2200 的数据包,但没有发送响应。netstat --listening
显示 SSH 正在监听 *:2200。iptables -L -n
没有显示规则,但有policy ACCEPT
INPUT、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-v2
拒绝-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。