This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Multiple PPTP VPN logins from behind NAT not working

Astaor v7, Release 7.405

The first to login is just fine and everything works just as it should, but if another computer behind the same NAT connects no requests to the network behind the firewall works. If I check the packet filter I can see that the requests go through the astaro marked green, but nothing works.
 
When checking the pptp logs I see someting that makes me believe that the problem is that both pptp connections associate with the same source ip and thus the answears to the second connections requests go to the first connection (since the source ip of the pptp connection is the same)

When I connect from a machine not on the same NAT everything works fine via both connections.


This thread was automatically locked due to age.
  • The only difference I can find between the working and not working logins are the srcip in the line: 
    2009:08:27-18:59:32 login pppd-pptp[3346]: id="2201" severity="info" sys="SecureNet" sub="vpn" event="Connection started" username="***" variant="pptp" srcip="81.232.79.160" virtual_ip="172.20.10.131"
    and the client ip address in the following line:
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Client 81.232.79.160 control connection started

    (the usernames are removed and replaced by ***, I've tried with both different users for both simultaneous connections and the same user for both without any difference in the result)

    First login from within NAT (works)

    2009:08:27-18:43:50 login pptpd[2344]: MGR: Launching /usr/local/sbin/pptpctrl to handle client
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: local address = 172.20.10.129
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: remote address = 172.20.10.130
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Client 81.232.79.160 control connection started
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Received PPTP Control Message (type: 1)
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Made a START CTRL CONN RPLY packet
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: I wrote 156 bytes to the client.
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Sent packet to client
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Received PPTP Control Message (type: 7)
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Set parameters to 100000000 maxbps, 64 window size
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Made a OUT CALL RPLY packet
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Starting call (launching pppd, opening GRE)
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: pty_fd = 6
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: tty_fd = 7
    2009:08:27-18:43:50 login pptpd[2345]: CTRL (PPPD Launcher): program binary = /usr/sbin/pppd-pptp
    2009:08:27-18:43:50 login pptpd[2345]: CTRL (PPPD Launcher): local address = 172.20.10.129
    2009:08:27-18:43:50 login pptpd[2345]: CTRL (PPPD Launcher): remote address = 172.20.10.130
    2009:08:27-18:43:50 login pppd-pptp[2345]: Plugin /usr/sbin/aua.so loaded.
    2009:08:27-18:43:50 login pppd-pptp[2345]: AUA plugin initialized.
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: I wrote 32 bytes to the client.
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Sent packet to client
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Received PPTP Control Message (type: 15)
    2009:08:27-18:43:50 login pptpd[2344]: CTRL: Got a SET LINK INFO packet with standard ACCMs
    2009:08:27-18:43:50 login pptpd[2344]: GRE: Bad checksum from pppd.
    2009:08:27-18:43:50 login pppd-pptp[2345]: pppd 2.4.3 started by (unknown), uid 0
    2009:08:27-18:43:50 login pppd-pptp[2345]: Starting negotiation on /dev/ttyp0
    2009:08:27-18:43:55 login pppd-pptp[2345]: Using interface ppp0
    2009:08:27-18:43:55 login pppd-pptp[2345]: MPPE 128-bit stateless compression enabled
    2009:08:27-18:43:55 login pppd-pptp[2345]: found interface eth4 for proxy arp
    2009:08:27-18:43:55 login pppd-pptp[2345]: local IP address 172.20.10.129
    2009:08:27-18:43:55 login pppd-pptp[2345]: remote IP address 172.20.10.130
    2009:08:27-18:43:55 login pppd-pptp[2356]: id="2201" severity="info" sys="SecureNet" sub="vpn" event="Connection started" username="***" variant="pptp" srcip="81.232.79.160" virtual_ip="172.20.10.130"

    2009:08:27-19:20:13 login pppd-pptp[4215]: LCP terminated by peer (MPPE disabled)
    2009:08:27-19:20:13 login pppd-pptp[4215]: Connect time 7.6 minutes.
    2009:08:27-19:20:13 login pppd-pptp[4215]: Sent 54805 bytes, received 31949 bytes.
    2009:08:27-19:20:13 login pppd-pptp[4728]: id="2202" severity="info" sys="SecureNet" sub="vpn" event="Connection terminated" username="***" variant="pptp" srcip="79.102.209.118" virtual_ip="172.20.10.131"
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: EOF or bad error reading ctrl packet length.
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: couldn't read packet header (exit)
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: CTRL read failed
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: Reaping child PPP[4215]
    2009:08:27-19:20:14 login pppd-pptp[4215]: Modem hangup
    2009:08:27-19:20:14 login pppd-pptp[4215]: Connection terminated.
    2009:08:27-19:20:14 login pppd-pptp[4215]: Exit.
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: Client 79.102.209.118 control connection finished
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: Exiting now
    2009:08:27-19:20:14 login pptpd[4201]: MGR: Reaped child 4214
  • Second login from within NAT (doesn't work)

    2009:08:27-18:59:26 login pptpd[3341]: MGR: Launching /usr/local/sbin/pptpctrl to handle client
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: local address = 172.20.10.129
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: remote address = 172.20.10.131
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Client 81.232.79.160 control connection started
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Received PPTP Control Message (type: 1)
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Made a START CTRL CONN RPLY packet
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: I wrote 156 bytes to the client.
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Sent packet to client
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Received PPTP Control Message (type: 7)
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Set parameters to 100000000 maxbps, 64 window size
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Made a OUT CALL RPLY packet
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Starting call (launching pppd, opening GRE)
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: pty_fd = 6
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: tty_fd = 7
    2009:08:27-18:59:26 login pptpd[3342]: CTRL (PPPD Launcher): program binary = /usr/sbin/pppd-pptp
    2009:08:27-18:59:26 login pptpd[3342]: CTRL (PPPD Launcher): local address = 172.20.10.129
    2009:08:27-18:59:26 login pptpd[3342]: CTRL (PPPD Launcher): remote address = 172.20.10.131
    2009:08:27-18:59:26 login pppd-pptp[3342]: Plugin /usr/sbin/aua.so loaded.
    2009:08:27-18:59:26 login pppd-pptp[3342]: AUA plugin initialized.
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: I wrote 32 bytes to the client.
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Sent packet to client
    2009:08:27-18:59:26 login pppd-pptp[3342]: pppd 2.4.3 started by (unknown), uid 0
    2009:08:27-18:59:26 login pppd-pptp[3342]: Starting negotiation on /dev/ttyp1
    2009:08:27-18:59:26 login pptpd[3341]: GRE: Bad checksum from pppd.
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Received PPTP Control Message (type: 15)
    2009:08:27-18:59:26 login pptpd[3341]: CTRL: Got a SET LINK INFO packet with standard ACCMs
    2009:08:27-18:59:31 login pppd-pptp[3342]: Using interface ppp1
    2009:08:27-18:59:31 login pppd-pptp[3342]: MPPE 128-bit stateless compression enabled
    2009:08:27-18:59:31 login pppd-pptp[3342]: found interface eth4 for proxy arp
    2009:08:27-18:59:31 login pppd-pptp[3342]: local IP address 172.20.10.129
    2009:08:27-18:59:31 login pppd-pptp[3342]: remote IP address 172.20.10.131
    2009:08:27-18:59:32 login pppd-pptp[3346]: id="2201" severity="info" sys="SecureNet" sub="vpn" event="Connection started" username="***" variant="pptp" srcip="81.232.79.160" virtual_ip="172.20.10.131"
    2009:08:27-18:59:50 login pppd-pptp[3342]: LCP terminated by peer (MPPE disabled)
    2009:08:27-18:59:50 login pppd-pptp[3342]: Connect time 0.4 minutes.
    2009:08:27-18:59:50 login pppd-pptp[3342]: Sent 0 bytes, received 1918 bytes.
    2009:08:27-18:59:50 login pptpd[3341]: CTRL: EOF or bad error reading ctrl packet length.
    2009:08:27-18:59:50 login pptpd[3341]: CTRL: couldn't read packet header (exit)
    2009:08:27-18:59:50 login pptpd[3341]: CTRL: CTRL read failed
    2009:08:27-18:59:50 login pptpd[3341]: CTRL: Reaping child PPP[3342]
    2009:08:27-18:59:50 login pppd-pptp[3342]: Modem hangup
    2009:08:27-18:59:50 login pppd-pptp[3342]: Connection terminated.
    2009:08:27-18:59:50 login pppd-pptp[3367]: id="2202" severity="info" sys="SecureNet" sub="vpn" event="Connection terminated" username="***" variant="pptp" srcip="81.232.79.160" virtual_ip="172.20.10.131"
    2009:08:27-18:59:50 login pppd-pptp[3342]: Exit.
    2009:08:27-18:59:50 login pptpd[3341]: CTRL: Client 81.232.79.160 control connection finished
    2009:08:27-18:59:50 login pptpd[3341]: CTRL: Exiting now
    2009:08:27-18:59:50 login pptpd[4201]: MGR: Reaped child 3341


    Second vpn login outside NAT (works)

    2009:08:27-19:12:27 login pptpd[4214]: MGR: Launching /usr/local/sbin/pptpctrl to handle client
    2009:08:27-19:12:27 login pptpd[4214]: CTRL: local address = 172.20.10.129
    2009:08:27-19:12:27 login pptpd[4214]: CTRL: remote address = 172.20.10.131
    2009:08:27-19:12:27 login pptpd[4214]: CTRL: Client 79.102.209.118 control connection started
    2009:08:27-19:12:27 login pptpd[4214]: CTRL: Received PPTP Control Message (type: 1)
    2009:08:27-19:12:27 login pptpd[4214]: CTRL: Made a START CTRL CONN RPLY packet
    2009:08:27-19:12:27 login pptpd[4214]: CTRL: I wrote 156 bytes to the client.
    2009:08:27-19:12:27 login pptpd[4214]: CTRL: Sent packet to client
    2009:08:27-19:12:28 login pptpd[4214]: CTRL: Received PPTP Control Message (type: 7)
    2009:08:27-19:12:28 login pptpd[4214]: CTRL: Set parameters to 100000000 maxbps, 64 window size
    2009:08:27-19:12:28 login pptpd[4214]: CTRL: Made a OUT CALL RPLY packet
    2009:08:27-19:12:28 login pptpd[4214]: CTRL: Starting call (launching pppd, opening GRE)
    2009:08:27-19:12:28 login pptpd[4214]: CTRL: pty_fd = 6
    2009:08:27-19:12:28 login pptpd[4214]: CTRL: tty_fd = 7
    2009:08:27-19:12:28 login pptpd[4215]: CTRL (PPPD Launcher): program binary = /usr/sbin/pppd-pptp
    2009:08:27-19:12:28 login pptpd[4215]: CTRL (PPPD Launcher): local address = 172.20.10.129
    2009:08:27-19:12:28 login pptpd[4215]: CTRL (PPPD Launcher): remote address = 172.20.10.131
    2009:08:27-19:12:28 login pppd-pptp[4215]: Plugin /usr/sbin/aua.so loaded.
    2009:08:27-19:12:28 login pppd-pptp[4215]: AUA plugin initialized.
    2009:08:27-19:12:28 login pptpd[4214]: CTRL: I wrote 32 bytes to the client.
    2009:08:27-19:12:28 login pptpd[4214]: CTRL: Sent packet to client
    2009:08:27-19:12:28 login pppd-pptp[4215]: pppd 2.4.3 started by (unknown), uid 0
    2009:08:27-19:12:28 login pppd-pptp[4215]: Starting negotiation on /dev/ttyp1
    2009:08:27-19:12:28 login pptpd[4214]: GRE: Bad checksum from pppd.
    2009:08:27-19:12:29 login pptpd[4214]: CTRL: Received PPTP Control Message (type: 15)
    2009:08:27-19:12:29 login pptpd[4214]: CTRL: Got a SET LINK INFO packet with standard ACCMs
    2009:08:27-19:12:35 login pppd-pptp[4215]: Using interface ppp1
    2009:08:27-19:12:37 login pppd-pptp[4215]: MPPE 128-bit stateless compression enabled
    2009:08:27-19:12:39 login pppd-pptp[4215]: found interface eth4 for proxy arp
    2009:08:27-19:12:39 login pppd-pptp[4215]: local IP address 172.20.10.129
    2009:08:27-19:12:39 login pppd-pptp[4215]: remote IP address 172.20.10.131
    2009:08:27-19:12:39 login pppd-pptp[4220]: id="2201" severity="info" sys="SecureNet" sub="vpn" event="Connection started" username="***" variant="pptp" srcip="79.102.209.118" virtual_ip="172.20.10.131"
    2009:08:27-19:19:41 login pptpd[4214]: GRE: buffering packet #386 (expecting #385, lost or reordered)
    2009:08:27-19:19:44 login pptpd[4214]: GRE: timeout waiting for 1 packets
    2009:08:27-19:19:44 login pptpd[4214]: GRE: accepting #386 from queue
    2009:08:27-19:20:13 login pppd-pptp[4215]: LCP terminated by peer (MPPE disabled)
    2009:08:27-19:20:13 login pppd-pptp[4215]: Connect time 7.6 minutes.
    2009:08:27-19:20:13 login pppd-pptp[4215]: Sent 54805 bytes, received 31949 bytes.
    2009:08:27-19:20:13 login pppd-pptp[4728]: id="2202" severity="info" sys="SecureNet" sub="vpn" event="Connection terminated" username="***" variant="pptp" srcip="79.102.209.118" virtual_ip="172.20.10.131"
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: EOF or bad error reading ctrl packet length.
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: couldn't read packet header (exit)
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: CTRL read failed
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: Reaping child PPP[4215]
    2009:08:27-19:20:14 login pppd-pptp[4215]: Modem hangup
    2009:08:27-19:20:14 login pppd-pptp[4215]: Connection terminated.
    2009:08:27-19:20:14 login pppd-pptp[4215]: Exit.
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: Client 79.102.209.118 control connection finished
    2009:08:27-19:20:14 login pptpd[4214]: CTRL: Exiting now
    2009:08:27-19:20:14 login pptpd[4201]: MGR: Reaped child 4214
  • Is this happening with the same login credentials, but just from two different computers? 

    Cheers - Bob
  • I have tried


    •  Same NAT, 2 computers, same credentials - the first to connect works fine but the second doesn't work at all
    •  Same NAT, 2 computers, different credentials - the first to connect works fine but the second doesn't work at all
    •  Different NAT, 2 computers, same credentials - both connections work fine
  • I just tried it again and now I get strange results when being the second to log in. Some of the internal ip's (the ones behind the fw) are accessible, but some are not. If I check the packet filter and turn on logging I can see all connections I try to make in green but only a few of them work.
    If I disconnect and reconnect I get the same results. The same ip's work/don't work on every try.

    The state right now:
    My second connection has ip 172.20.10.131 and I can reach
    172.20.10.6
    172.20.10.31
    172.20.10.200
    172.20.10.202
    but not
    172.20.10.1
    172.20.10.10
    172.20.10.11
    172.20.10.15
    172.20.10.17
    172.20.10.19
    172.20.10.20
    172.20.10.22
    172.20.10.42
    172.20.10.50
    172.20.10.58

    I see all the connections in green in the packet filter, both the successful and unsuccessful ones...
    I have tried different protocols, but that makes no difference. It's the ip addresses that make a difference.
     
    I find this really strange!
  • When testing a bit further it seems it isn't a related to being behind the same NAT. Logins from different ip addresses show the same symptoms of not being able to reach all ip addresses...
     
    But I still haven't found anything to explain why some ip's work and some don't. Although I believe the problems started when we did the latest update (that took us to 7.405)
  • Arvid, are you saying that some IPs in side your network can't reach other IPs inside your network - that this is not a PPTP problem?
  • Well, what I was saying is that the pptp users, or more correctly one of the pptp users can only access some of the ip addresses in the network behind the astaro. The pptp user gets an address from the same range behind as the servers behind the firewall.
     
    But. Now after some more testing I have found the real reason behind all my troubles. And it doesn't have anything to do with neither the pptp connecton nor the recent up upgrade. (atleast not directly)

    The problem was simply an IP conflict. One of the machines on the network behind the astaro has a Lights out Management interface that was assigned the ip 172.20.10.131 - the same IP that was assigned to the second PPTP user to log in. I just had the machines regular ip addresses in the list I looked at so I never found the ip conflict. Until I involved my colleague in the problem and he came to think of it. Annoyingly quickly I might add... ;-)
     
    So - always check for IP conflicts when setting the PPTP range! (or check your PPTP range when setting up new servers) :-)
  • Glad you found the problem.  Thanks for telling us the solution.

    Cheers - Bob