OpenVPN bridge network from routed clients
        Posted  
        
            by 
                gphilip
            
        on Server Fault
        
        See other posts from Server Fault
        
            or by gphilip
        
        
        
        Published on 2013-11-06T08:42:52Z
        Indexed on 
            2013/11/06
            9:55 UTC
        
        
        Read the original article
        Hit count: 310
        
I have the following setup:
- subnet 1 - 10.0.1.0/24with a machine used as NAT and also running an OpenVPN client
- subnet 2 - 192.168.1/24with an OpenVPN server (the server in subnet 1 connect here)
- subnet 3 - 10.0.2.0/24that uses the NAT machine (subnet 1) to access the internet, so all non-local traffic is routed there to theeth0interface
The OpenVPN client creates the tun0 interface and appropriate routing so that I can access machines from 192.168.1/24
[root@ip-10-0-1-208 ~]# telnet 192.168.1.186 8081
Trying 192.168.1.186...
Connected to 192.168.1.186.
Escape character is '^]'.
[root@ip-10-0-1-208 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.1.1        0.0.0.0         UG    0      0        0 eth0
10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
192.168.0.0     10.8.0.5        255.255.0.0     UG    0      0        0 tun0
However, when I try the same from subnet 3, it can't reach that machine.
[root@ip-10-0-2-61 ~]# telnet 192.168.1.186 8081
Trying 192.168.1.186...
I suspect that it's because subnet 3 is routed to eth0 on the NAT machine in subnet 1 and it cannot jump to tun0.
What's the easiest way to resolve it? I don't want to use iptables. I can't change the routing from machines in subnet 1 because it's done in AWS and so it works only with specific interfaces. Also, the NAT machine gets its IP with DHCP and so bridging is a bit complicated.
IP forwarding is set on the NAT machine
[root@ip-10-0-1-208 ~]# cat /proc/sys/net/ipv4/ip_forward
1
Thank you!
© Server Fault or respective owner