1

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.

2
  • What 3G carrier are you going through?
    – trpt4him
    Apr 25, 2013 at 13:57
  • Three, although this definitely seems to be a networking setup issue on the Pi, not the carrier.
    – PeterBelm
    Apr 25, 2013 at 14:22

1 Answer 1

1

Found the problem. The 3G dongle is operating on the 192.168.1.0 subnet, my VPN was operating on the same subnet. Changing the VPN subnet to 192.168.2.0 or any other subnet fixed the problem.

This is done via the IPv4 Networking settings for the VPNs "Incoming Connections" adapter by changing the IP address range to 192.168.2.1 - 192.168.2.200.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .