Linux – Bridged network setup with gateway not in netmask

linuxnetmasknetworkingrouting

i'm currently stuck at setting up the bridged networking on a dedicated server to allow the KVM-guests to use ips from an extra subnet.
As far as i know, the address, broadcast and gateway must always be in range of the netmask.

My original network setup (/etc/network/interfaces) looks like this:

auto eth0
iface eth0 inet static
  address      1.2.3.163
  broadcast    1.2.3.191
  netmask      255.255.255.224
  gateway      1.2.3.161

So, to allow using the device as a bridge, i changed the file like this:

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
  address      1.2.3.163
  broadcast    1.2.3.191
  netmask      255.255.255.224
  gateway      1.2.3.161
  bridge-ports eth0

Result: Networking still available. However this is the information i got from the provider:

subnet: 9.8.7.200/29
addresses: 9.8.7.(200-207)
netmask: 255.255.255.248
gateway: 1.2.3.163
broadcast: 9.8.7.207

So the gateway as actually my main ip. However it does not exists in the current network. I've added a second bridge to my interfaces file:

auto br1
iface br1 inet static
  address      9.8.7.200
  broadcast    9.8.7.207
  netmask      255.255.255.248
  gateway      1.2.3.163
  bridge-ports eth0

The result is: i can ping 9.8.7.200, however when trying to ping via br1, no host can be resolved. The output of "route -n" is:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         1.2.3.161       0.0.0.0         UG    0      0        0 br0
9.8.7.200       0.0.0.0         255.255.255.248 U     0      0        0 br1
1.2.3.160       0.0.0.0         255.255.255.224 U     0      0        0 br0

I'm looking forward thankfully for any assistance with this problem.

Best Answer

The Gateway is wrong. It must reside within the same subnet as your IP is. otherwhise it wont work.

IP:        9.8.7.200
Netmask:   255.255.255.248 (/29)
Network:   9.8.7.200
Broadcast: 9.8.7.207   
First IP:  9.8.7.201
Last IP:   9.8.7.206

I configured my bridge the folowing way:

allow-hotplug eth0
iface eth0 inet static
        address 1.2.3.4
        netmask 255.255.255.0
        network 1.2.3.0
        broadcast 1.2.3.255
        gateway 1.2.3.1

#(as is work with openvpn interfaces)

auto tap0
iface tap0 inet manual
  pre-up openvpn --mktun --dev tap0
  post-down openvpn --rmtun --dev tap0

auto tap1
    iface tap1 inet manual
      pre-up openvpn --mktun --dev tap1
      post-down openvpn --rmtun --dev tap1

   auto br0
  iface br0 inet static
    bridge_ports tap0 tap1 
    address 10.20.30.40
    netmask 255.255.255.0
    up route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.20.30.101
    up route add -net 172.16.25.0 netmask 255.255.255.0 gw 10.20.30.100
    down route del -net 192.168.1.0 netmask 255.255.255.0 gw 10.20.30.101
    down route del -net 172.16.25.0 netmask 255.255.255.0 gw 10.20.30.100

All the OpenVPN Client Networks ar routet, and can connect to the internet if they use the servres OpenVPN IP as gateway. (redirect gateway option)