I'm having a bit of a strange problem that I'm not sure how to debug/fix. I have a Raspberry Pi connected to a Windows VPN via either a wired interface or 3G dongle. With the wired interface I can connect to SSH on port 2200 using the VPN-assigned address of the Raspberry Pi, however with the 3G dongle I can't connect.
I've just run tcpdump on the Pi with the 3G dongle in use, it does receive packets to port 2200 but doesn't send a response. netstat --listening
shows SSH listening on *:2200. iptables -L -n
shows no rules, and has policy ACCEPT
for INPUT, FORWARD, and OUTPUT.
So something is preventing SSH from receiving those packets, but I've no idea how, and why it only effects it when connected via 3G.
What could be causing this problem?
'ifconfig' output:
eth0 Link encap:Ethernet 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 Link encap:Ethernet 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 Link encap:Local Loopback
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 Link encap:Point-to-Point Protocol
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)
'route' output:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default * 0.0.0.0 U 0 0 0 ppp0
[VPNSRV] 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 config:
pty "pptp [VPNSRV] --nolaunchpppd --debug"
name [VPNUSR]
password [VPNPASS]
remotename PPTP
require-mppe-128
require-mschap-v2
refuse-eap
refuse-pap
refuse-chap
refuse-mschap
noauth
debug
persist
maxfail 0
defaultroute
replacedefaultroute
usepeerdns
nobsdcomp
nodeflate
Update:
I've just tried an experiment of getting the Pi to connect to an external address vs. VPN address, it works when connecting externally, but any attempt to access another VPN IP results in 'no route to host'. So it's definitely a routing issue, but I'm not too good with routing & netmasks.