1

I'm trying to run a small OpenStack setup over a few servers hosted in hetzner.de, I'm currently deploying a basic setup to two servers.

All servers are running Ubuntu, they are connected to each other using a LAN, running on 172.16.0.x network. Here's the contents of /etc/network/interfaces on one of the servers:

auto eth1
iface eth1 inet static
    address 172.16.0.1
    broadcast 172.16.0.255
    netmask 255.255.255.0

First server is a controller, which is connected to public internet through eth0 (one IP address is pointing to it, server gets configured using DHCP). The second server is only a networking node and I can't get neutron properly configured on it.

The second server also has two interfaces, eth1 (the LAN) works properly, but eth0 does not allow access to the internet. I believe it might be a routing issue. There's a /28 block pointing to eth0 + a single IP, which can be configured using DHCP. Here's the contents of /etc/network/interfaces on the neutron node:

auto eth0
iface eth0 inet manual

From what I've read, it has to be manual to let neutron configure it. I followed the Ubuntu setup guide from OpenStack's official website. Here's the output of ovs-vsctl show:

╰─➤  ovs-vsctl show
d57fbedc-d9c8-4102-9edf-0b8defa49d98
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=phy-br-ex}
        Port "qr-72448652-b4"
            tag: 1
            Interface "qr-72448652-b4"
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "tapfb4cc7c2-ec"
            tag: 1
            Interface "tapfb4cc7c2-ec"
                type: internal
    Bridge br-ex
        Port "eth0"
            Interface "eth0"
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=int-br-ex}
        Port "qg-bc735ff4-fe"
            Interface "qg-bc735ff4-fe"
                type: internal
        Port br-ex
            Interface br-ex
                type: internal
    Bridge br-tun
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port "gre-ac100003"
            Interface "gre-ac100003"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="172.16.0.2", out_key=flow, remote_ip="172.16.0.3"}
        Port br-tun
            Interface br-tun
                type: internal
    ovs_version: "2.0.2"

I ran ovs-vsctl add-br br-ex and ovs-vsctl add-port br-ex eth0. Then I ran this command to add that network to neutron:

neutron subnet-create ext-net --name ext-subnet --allocation-pool start=x.x.x.193,end=x.x.x.206 --disable-dhcp --gateway x.x.x.193 x.x.x.192/28

Here's the output of route -n on the networking node.

╭─route -n                                                                                                   127 ↵
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.0        172.16.0.1      255.255.255.0   UG    0      0        0 eth1
x.x.x.192       0.0.0.0         255.255.255.240 U     0      0        0 br-ex
172.16.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1

Clearly the routing is invalid, but I'm not sure how it should look like. Any tips on how I should make the networking work?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.