What's new
  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

[OPENVPN] Use Local DHCP server on each site of the VPN BRIDGE (SITE to Site)

MuVo

Occasional Visitor
Network A:Asus N66U router
Firmware: : 374.43_2-16E1j9527 (FORK)
10.40.46.X
Subnet: 255.255.255.0

Network B:Asus N66U router
Firmware: : 374.43_2-16E1j9527 (FORK)
10.40.44.X
Subnet: 255.255.255.0

Background information:

IP-description:I hoped to create a unique IP range, because VPN won’t work if the server and client are in the same range. Most ISP here deliver IP ranges in the 192.168.X.X range, also my stock ISP modem. Now I replaced the stock ISP modem with a N66U router. My friend did the same , and created network B.

10.x.x.x Class A network, x.40.x.x is the region number, and x.x.46.x is my home number. Now it happened that my friend moved in the same region, a year later. He almost has the same home number (44). That’s the reason that network A and network B are almost identical.

Open-VPNI created a OpenVPN server in my Asus N66U Router at Network A, and connected with the OpenVPN client in the N66U router at network B. Using an AES encryption. The site to site (or Bridge) VPN network works correct and is connected.

Problem:
On my local LAN I receive IP addresses in the 10.40.44.X range on all my devices connected to my WIFI.

I understood that this is normal behavior of OpenVPN, but I want my local devices to receive an IP of my local DHCP server.

I found a work-around for this issue:
Adding the following firewall script with the name Firewall-start to the JFFS folder.
http://www.snbforums.com/threads/openvpn-site-to-site-with-asus-merlin.11097/#post-73277
ebtables -A INPUT --in-interface tap+ --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP

ebtables -A INPUT --in-interface tap+ --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP

ebtables -A FORWARD --out-interface tap+ --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP

ebtables -A FORWARD --out-interface tap+ --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP

This script is working correct! All my devices get an ip of my local DHCP Server. Now the problem occurred: All the local devices connected on Network B get a IP via the DHCP server from Network A.

What I can do is add the Same firewall script to the JFFS folder of the Network B router, that will work but won’t solve the issue. It is still a work around.

Is there a possibility to solve this issue in the Open VPN server at Network A itself? So that each site uses its own local DHCP server? do not want to add the same firewall script the the router of Network B or a new router in the future. It must work without changes to network device. Maybe i can solve this by adding a custom script at the OpenVPN server.

The log at Network A Server:
Jan 27 00:33:06 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:33:06 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC
Jan 27 00:33:13 dnsmasq-dhcp[583]: DHCPDISCOVER(br0) ***MAC***
Jan 27 00:33:13 dnsmasq-dhcp[583]: DHCPOFFER(br0) 10.40.46.86 ***MAC***
Jan 27 00:33:13 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:33:13 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC
Jan 27 00:36:54 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:36:54 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC
Jan 27 00:37:00 dnsmasq-dhcp[583]: DHCPDISCOVER(br0) ***MAC***
Jan 27 00:37:00 dnsmasq-dhcp[583]: DHCPOFFER(br0) 10.40.46.86 ***MAC***
Jan 27 00:37:00 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:37:00 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC
Jan 27 00:40:36 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:40:36 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC
Jan 27 00:40:38 dnsmasq-dhcp[583]: DHCPDISCOVER(br0) ***MAC***
Jan 27 00:40:38 dnsmasq-dhcp[583]: DHCPOFFER(br0) 10.40.46.86 ***MAC***
Jan 27 00:40:38 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:40:38 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC
Jan 27 00:44:24 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:44:24 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC
Jan 27 00:44:27 dnsmasq-dhcp[583]: DHCPDISCOVER(br0) ***MAC***
Jan 27 00:44:27 dnsmasq-dhcp[583]: DHCPOFFER(br0) 10.40.46.86 ***MAC***
Jan 27 00:44:27 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:44:27 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC


Later:

Jan 27 07:32:24 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 07:32:24 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC
Jan 27 07:32:28 dnsmasq-dhcp[583]: DHCPDISCOVER(br0) ***MAC***
Jan 27 07:32:28 dnsmasq-dhcp[583]: DHCPOFFER(br0) 10.40.46.86 ***MAC***
Jan 27 07:32:28 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 07:32:28 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.86 ***MAC*** PC
Jan 27 07:59:07 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.83 ***MAC***
Jan 27 07:59:07 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.83 ***MAC*** iPhone
Jan 27 07:59:07 dnsmasq-dhcp[583]: DHCPDISCOVER(br0) ***MAC***
Jan 27 07:59:07 dnsmasq-dhcp[583]: DHCPOFFER(br0) 10.40.46.83 ***MAC***
Jan 27 07:59:09 dnsmasq-dhcp[583]: DHCPREQUEST(br0) 10.40.46.83 ***MAC***
Jan 27 07:59:09 dnsmasq-dhcp[583]: DHCPACK(br0) 10.40.46.83 ***MAC*** iPhone


The Log at network B Client:
Jan 27 00:28:23 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.44.***MAC***
Jan 27 00:28:23 dnsmasq-dhcp[5533]: DHCPACK(br0) 10.40.44.20 ***MAC*** ubuntu_14
Jan 27 00:33:06 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:33:06 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong network
Jan 27 00:33:15 dnsmasq-dhcp[5533]: DHCPDISCOVER(br0) ***MAC***
Jan 27 00:33:15 dnsmasq-dhcp[5533]: DHCPOFFER(br0) 10.40.44.18 ***MAC***
Jan 27 00:33:15 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:33:15 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong server-ID
Jan 27 00:36:54 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:36:54 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong network
Jan 27 00:37:03 dnsmasq-dhcp[5533]: DHCPDISCOVER(br0) ***MAC***
Jan 27 00:37:03 dnsmasq-dhcp[5533]: DHCPOFFER(br0) 10.40.44.18 ***MAC***
Jan 27 00:37:03 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:37:03 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong server-ID
Jan 27 00:40:36 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:40:36 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong network
Jan 27 00:40:40 dnsmasq-dhcp[5533]: DHCPDISCOVER(br0) ***MAC***
Jan 27 00:40:40 dnsmasq-dhcp[5533]: DHCPOFFER(br0) 10.40.44.18 ***MAC***
Jan 27 00:40:40 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:40:40 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong server-ID
Jan 27 00:44:24 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:44:24 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong network
Jan 27 00:44:29 dnsmasq-dhcp[5533]: DHCPDISCOVER(br0) ***MAC***
Jan 27 00:44:29 dnsmasq-dhcp[5533]: DHCPOFFER(br0) 10.40.44.18 ***MAC***
Jan 27 00:44:29 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 00:44:29 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong server-ID


Later:

Jan 27 07:32:24 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 07:32:24 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong network
Jan 27 07:32:31 dnsmasq-dhcp[5533]: DHCPDISCOVER(br0) ***MAC***
Jan 27 07:32:31 dnsmasq-dhcp[5533]: DHCPOFFER(br0) 10.40.44.18 ***MAC***
Jan 27 07:32:31 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.86 ***MAC***
Jan 27 07:32:31 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.86 ***MAC*** wrong server-ID
Jan 27 07:59:07 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.83 ***MAC***
Jan 27 07:59:07 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.83 ***MAC*** wrong network
Jan 27 07:59:10 dnsmasq-dhcp[5533]: DHCPDISCOVER(br0) ***MAC***
Jan 27 07:59:10 dnsmasq-dhcp[5533]: DHCPOFFER(br0) 10.40.44.24 ***MAC***
Jan 27 07:59:10 dnsmasq-dhcp[5533]: DHCPREQUEST(br0) 10.40.46.83 ***MAC***
Jan 27 07:59:10 dnsmasq-dhcp[5533]: DHCPNAK(br0) 10.40.46.83 ***MAC*** wrong server-ID
Jan 27 07:59:57 ntp: start NTP update

When Network A received the wrong local IP address

Error: wrong server-ID and wrong network are now on the router of Network B. Before I applied the workaround on Network A, the errors where logged in the router of Network A.

Hopefully there is a solid solution for this.

Second question: Can i access all resources at both sites if Network A and Network B using their local DHCP?

Thanks!
 
Last edited:
Update:

I did more research, there is not a better or solid solution for this. How more i read about OpenVPN and the options the more i understand VPN.

I have decided that TAP is no the best option for what i want. I switched to TUN site to site. I have it almost working, only 1 issue to tackle: I can ping everything from the client behind the servers lan. But i cannot ping the lan behind the client from the server side. I have to check the log and check if my iroute is working correctly.
 

Similar threads

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Back
Top