|
||||||||
On Fri, 13 Aug 2004, Herron, David S wrote: > I can't seem to get PPTP to work through m0n0wall. I am trying to > connect from a host on my LAN connection to a Windows 2000 VPN server > outside (WAN) using the XP PPTP client. If I place my client on the WAN > subnet (outside the firewall) everything works perfectly. I am using > v1.1b16. I am using captive Portal, everything there works as expected. > My rules (right now) are set to pass all packets (three rules): PPTP doesn't work through NAT (without difficulty). If you don't need to use m0n0wall's PPTP (client or server) *and* you only need to make connections from *one* LAN client, then you can do it by setting up "PPTP redirection". Yes, that option is meant for servers, but it happens to be the only way to make clients work as well. Actually, the outgoing control connection (TCP port 1723) works properly through NAT as long as multiple clients aren't connecting to the same server. But incoming GRE packets need to be redirected properly, and at present that needs to be done via PPTP redirection, since GRE isn't one of the selectable protocol types in NAT redirection. It would be useful (and pretty trivial) to add GRE to the NAT redirection protocol types, which would add *some* flexibility. It would be additionally useful (but less trivial) to add an "other" option, so one could specify protocols not listed in the popup menu. With NAT redirection available for GRE, one would *not* use the PPTP redirection option for clients, but would instead set up NAT mappings as needed, which could be keyed to the external server IP. This would not conflict with incoming PPTP, provided that the same external machine didn't need to be both a client and a server. One subtlety here concerns how conflicting NAT mappings are handled, since there's no provision to adjust the order. Unless it uses the "most specific wins" approach, there could be difficulty in having both specific mappings and general mappings at the same time. > Client seems to connect, but can't authenticate. It goes from > 'Connecting to <vpn host name>' to 'Verifying username and password'. > It sits there until it times out. Again, if the client is put on the > WAN side, the connection goes through perfectly. M0n0 is being used > primarily for captive portal support for a campus wireless > implementation but LAN users on the wireless network (LAN side) will > need to VPN into corporate network (on other side of another firewall on > WAN connection) after captive portal allows their login and connection. Sounds like you're screwed. If each client only needs to connect to a *different* server, then the redirection improvement I mentioned above could be used to configure the proper mappings. But if you need to have multiple clients connecting to a *single* server, the only way to make that work through NAT is with a full-blown PPTP proxy. The basic problem is that the NAT code has no means to demultiplex the incoming GRE packets on any basis other than the IP addresses. However, if the number of clients is small, and GRE redirection were available, a possible workaround could be to multihome the server so that different clients could connect to it at different IPs. Or multihome the m0n0wall WAN and use "Advanced outbound NAT" to map the clients to different WAN IPs. IOW, insure that at least one of the two external IPs is different for different clients. Fred Wright |