[resolved]Linking 2 VPN servers+routing movable subnets
Posted: Fri Dec 30, 2011 12:05 pm
Hi there
I am trying to sort out our 2 servers, A and B. Both are set up exactly the same way with subnet topology. Their only difference is their location and public IP. The vpn server ip for A is 172.18.254.1 and for B, 172.18.1.1. I currently have the 2 servers linked, in that the more powerful server, B, has a 2nd instance of openvpn running as a client to A, and so it has 2 tun interfaces running, tun0 and tun1.
The issue I am having is that I would like to allow our client subnets to join either server, for example after choosing one by ping response time, and be able to communicate with any client subnet on either server. This is no problem setting on server A as far as I know, since only one tun interface is used.
The problem is that on server B, I need to specify the routes that may be attached to the server instance at some point. If those routes are specified on the server interface, tun0, but in actual fact they are on tun1 (ie the clients are connected to the other server), then it will not work if anyone attached to server B wants to talk to those on A, will it?
I believe I have the iroutes set up correctly, in that server B's client instance (tun1) is getting a push-reset and then being given some iroutes/routes to add in its ccd. However I have not pushed the route of the test client subnet (172.18.22.64) since I know this will not work; its already added on tun0. I would need to do this if I wanted to use 172.18.22.64 as a client of server A. I can access 22.64 from A when it is attached to B in this case.
The routing table of Server B
I was wondering if anyone can suggest what I should do in this case? Have I gone the right way in running a 2nd instance of openvpn on server B to get the 2 servers connected? is there any form of bridging of the interfaces I can perform, or can I reuse tun0 for the client instance with an extra option? Any advice would be much appreciated!
I am trying to sort out our 2 servers, A and B. Both are set up exactly the same way with subnet topology. Their only difference is their location and public IP. The vpn server ip for A is 172.18.254.1 and for B, 172.18.1.1. I currently have the 2 servers linked, in that the more powerful server, B, has a 2nd instance of openvpn running as a client to A, and so it has 2 tun interfaces running, tun0 and tun1.
The issue I am having is that I would like to allow our client subnets to join either server, for example after choosing one by ping response time, and be able to communicate with any client subnet on either server. This is no problem setting on server A as far as I know, since only one tun interface is used.
The problem is that on server B, I need to specify the routes that may be attached to the server instance at some point. If those routes are specified on the server interface, tun0, but in actual fact they are on tun1 (ie the clients are connected to the other server), then it will not work if anyone attached to server B wants to talk to those on A, will it?
I believe I have the iroutes set up correctly, in that server B's client instance (tun1) is getting a push-reset and then being given some iroutes/routes to add in its ccd. However I have not pushed the route of the test client subnet (172.18.22.64) since I know this will not work; its already added on tun0. I would need to do this if I wanted to use 172.18.22.64 as a client of server A. I can access 22.64 from A when it is attached to B in this case.
Code: Select all
push-reset
push "topology subnet"
push "route 172.18.219.208 255.255.255.240 172.18.254.1"
iroute 192.168.1.0 255.255.255.0
iroute 172.18.22.64 255.255.255.224
Code: Select all
omitted * 255.255.255.255 UH 0 0 0 eth1
172.18.219.208 172.18.254.1 255.255.255.240 UG 0 0 0 tun1
172.18.1.0 * 255.255.255.240 U 0 0 0 tun0
172.18.254.0 * 255.255.255.240 U 0 0 0 tun1
172.18.22.64 172.18.1.1 255.255.255.224 UG 0 0 0 tun0
172.18.21.64 172.18.1.1 255.255.255.224 UG 0 0 0 tun0
omitted * 255.255.255.0 U 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 br0
169.254.0.0 * 255.255.0.0 U 0 0 0 br0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default omitted 0.0.0.0 UG 0 0 0 eth1