Still some issues getting packets between VPN clients and services on the VPN Server. Any pointers would be appreciated. IceFloor is a really nice GUI, but also has this issue, so this approach is missing some basic ingredient.
For example, hitting a VNC server while running tcpdump shows VNC packets going to the server on interface tun0, and leaving the VNC server on interface en0. I'm not sure if packets are correctly crossing over between tun0 and en0 -- the result is that services are not available to VPN clients.
More details for those who'd be able to suggest a fix:
tcpdump shows VNC packets going to the server on interface tun0, and leaving the VNC server on interface en0. I'm not sure if packets are correctly crossing over between tun0 and en0 -- the result is that services are not available to VPN clients.
Is anyone able to suggest pfctl or other fixes that allow VPN clients on tun0 to access services on the same VPN server available on interface en0?
Here's the dump of tun0 showing packets going to the VNC service on tun0. The dump above shows them leaving the VNC service on interface en0. Are they supposed to be routed back to tun0 somehow? How?
I can ping my server from VPN clients, but nmap fails, and VNC clients fail to hit 10.0.1.3:5900. Yet tcpdump shows traffic on port 5900 associated with the VPN client. All this stuff works fine when not on VPN and sitting on the LAN.
ping from VPN:
iPad$ ping -c 3 10.0.1.3
PING 10.0.1.3 (10.0.1.3): 56 data bytes
64 bytes from 10.0.1.3: icmp_seq=0 ttl=64 time=38.303 ms
64 bytes from 10.0.1.3: icmp_seq=1 ttl=64 time=37.200 ms
64 bytes from 10.0.1.3: icmp_seq=2 ttl=64 time=36.507 ms
--- 10.0.1.98 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 36.507/37.337/38.303/0.740 ms
nmap from VPN client:
iPad$ nmap -p 5900 10.0.1.3
Starting Nmap 5.00 ( http://nmap.org ) at 2013-11-10 11:00 EST
Note: Host seems down. If it is really up, but blocking our ping probes , try -PN
Nmap done: 1 IP address (0 hosts up) scanned in 3.28 seconds
tcpdump on server interfaces en0 and tun0 during VPN client access:
server$ sudo tcpdump -n -e -ttt -i en0 port 5900
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
00:00:00.000000 c4:2f:03:0b:01:9d > b8:37:5d:de:dc:24, ethertype IPv4 (0x0800), length 78: 10.0.1.3.5900 > 10.8.0.10.52892: Flags [S.], seq 500616894, ack 2287587651, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 922913452 ecr 546523456,sackOK,eol], length 0
00:00:05.881495 c4:2f:03:0b:01:9d > b8:37:5d:de:dc:24, ethertype IPv4 (0x0800), length 78: 10.0.1.3.5900 > 10.8.0.10.52892: Flags [S.], seq 500616894, ack 2287587651, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 922918265 ecr 546523456,sackOK,eol], length 0 00:00:04.620650 c4:2c:03:0b:51:9d > b8:c7:5d:d0:dc:14, ethertype
server$ sudo tcpdump -n -e -ttt -i tun0 port 5900
00:00:00.142140 AF IPv4 (2), length 68: 10.8.0.10.53295 > 10.0.1.3.5900: Flags [S], seq 2223347580, win 65535, options [mss 1368,nop,wscale 4,nop,nop,TS val 566298513 ecr 0,sackOK,eol], length 0