OpenVPN & ARP
Posted: Mon Mar 21, 2011 11:59 am
Hello,
After cleaning up my firewall script I am experiencing some interesting behavior for the remote access performed using OpenVPN. Things go on like that:
- the client connects and everything seems to be OK (no timeout/no error)
- when I try to ping or ssh a LAN server from the remote machine, it fails.
I have tcpdump-ed the server's interface and I have discovered that it asks for the VPN client's MAC address through an ARP request. However, no machine answers and things stop there.
I write a python script that listens for ARP requests and answers to them if they are questioning about an address in the VPN client's range. It answers indicating router's (VPN endpoint) MAC.
While this script is running, things work well. I can connect to servers and I can ping from the remote VPN machine a LAN machine and reverse.
However, when I roll back to the old version of the firewall, the VPN is working normal without that script. By tcpdump-ing server's interface I have discovered that there is no arp association for a remote client even when I am connected, so there is no ARP request-reply exchange.
My question is the following one: which is the normal OpenVPN behavior? Should arp reply-requests (for the remote VPN address) be exchanged when communicating between one LAN and one VPN computer?
Thanks,
Alex
After cleaning up my firewall script I am experiencing some interesting behavior for the remote access performed using OpenVPN. Things go on like that:
- the client connects and everything seems to be OK (no timeout/no error)
- when I try to ping or ssh a LAN server from the remote machine, it fails.
I have tcpdump-ed the server's interface and I have discovered that it asks for the VPN client's MAC address through an ARP request. However, no machine answers and things stop there.
I write a python script that listens for ARP requests and answers to them if they are questioning about an address in the VPN client's range. It answers indicating router's (VPN endpoint) MAC.
While this script is running, things work well. I can connect to servers and I can ping from the remote VPN machine a LAN machine and reverse.
However, when I roll back to the old version of the firewall, the VPN is working normal without that script. By tcpdump-ing server's interface I have discovered that there is no arp association for a remote client even when I am connected, so there is no ARP request-reply exchange.
My question is the following one: which is the normal OpenVPN behavior? Should arp reply-requests (for the remote VPN address) be exchanged when communicating between one LAN and one VPN computer?
Thanks,
Alex