You are not logged in.

#1 2017-06-30 13:09:35

cjsthompson
Member
Registered: 2017-06-30
Posts: 2

hostapd, bridging and IPv6

Hi

I have a router running Arch Linux that acts as NAT for IPv4 and as a bridge for IPv6 because my ISP has native IPv6. I'm using systemd-networkd and I use the underlying interfaces that are added to the bridge for IPv4. The bridge is three interfaces including the wireless interface. Everything works except for IPv6 connectivity to the internet with the wireless clients. Hostapd adds the wireless interface to the IPv6 bridge (I'm not adding it with systemd-networkd). I am able to ssh from another IPv6 host somewhere else on the internet to the IPv6 address of one of the ethernet connected hosts behind my router. I have noticed that hostapd changes the sysctl settings for the wireless interface but it seems to me that it shouldn't matter when it's in the bridge and NATed IPv4 with the underlying interfaces works just fine. Is there something I'm missing or this a bug in hostapd?

I'm not looking for workarounds and not interested in changing my setup to something else.

# networkctl -a  status

● 1: lo
       Link File: /usr/lib/systemd/network/99-default.link
       Network File: n/a
       Type: loopback
       State: carrier (unmanaged)
       Address: 127.0.0.1
                       ::1

● 3: enp0s10
       Link File: /usr/lib/systemd/network/99-default.link
       Network File: /etc/systemd/network/enp0s10.network
       Type: ether
       State: routable (configuring)
       Path: pci-0000:00:0a.0
       Driver: via-rhine
       Vendor: VIA Technologies, Inc.
       Model: VT6105M [Rhine-III]
       HW Address: XX:XX:XX:XX:XX:XX
       Address: 192.168.1.1

● 4: enp0s11
       Link File: /usr/lib/systemd/network/99-default.link
       Network File: /etc/systemd/network/enp0s11.network
       Type: ether
       State: routable (configuring)
       Path: pci-0000:00:0b.0
       Driver: via-rhine
       Vendor: VIA Technologies, Inc.
       Model: VT6105M [Rhine-III]
       HW Address: XX:XX:XX:XX:XX:XX
       Address: XXX.XXX.XXX.XXX
       Gateway: XXX.XXX.XXX.254
       DNS: XXX.XXX.XXX.XXX
                 XXX.XXX.XXX.XXX

● 5: wlp0s15f5u1
       Link File: /usr/lib/systemd/network/99-default.link
       Network File: /etc/systemd/network/wlp0s15f5u1.network
       Type: wlan
       State: carrier (configuring)
       Path: pci-0000:00:0f.5-usb-0:1:1.0
       Driver: rt73usb
       Vendor: Ralink Technology, Corp.
       Model: RT2501/RT2573 Wireless Adapter
       HW Address: 00:1f:1f:08:f2:d2 (Edimax Technology Co. Ltd.)
       Address: 192.168.2.1

● 6: br0
       Link File: /usr/lib/systemd/network/99-default.link
       Network File: /etc/systemd/network/ipv6.network
       Type: ether
       State: routable (configured)
       Driver: bridge
       HW Address: XX:XX:XX:XX:XX:XX
       Address: XXXX:XXX:XXXX:XXXX:XXXX:XXX:XXXX:XXXX
                      fe80::1062:fff:fe71:2061
       DNS: fe80::1062:fff:fe71:2061
                 XXXX:XXX::1
                 XXXX:XXX::2

# brctl show
bridge name    bridge id                 STP enabled    interfaces
br0        XXXX.XXXXXXXXXXXX     no                enp0s10
                                                    enp0s11
                                                    wlp0s15f5u1

Last edited by cjsthompson (2017-06-30 13:23:07)

Offline

#2 2017-07-02 02:50:58

tom.ty89
Member
Registered: 2012-11-15
Posts: 897

Re: hostapd, bridging and IPv6

I suppose your wireless clients are not getting global IPv6 addresses (like br0 does, "XXXX:XXX:XXXX:XXXX:XXXX:XXX:XXXX:XXXX") though?

My ISP also provides IPv6 capability and it is done in a way like this:
It provides me with an optical fibre modem with 4 LAN ports. Say I connect two devices to two of the ports, both of them get an external IPv4 address, but only one gets a global IPv6 address. However, if one of the device is a IPv6-capable router, it also gets another prefix, which is different from that of its IPv6 address and is used to derive global IPv6 addresses for its clients.

If your ISP implement IPv6 in a similar manner, I think your machine is now like the IPv6 router in the aforementioned scenario. I suppose you will need to set up something like radvd to make use of the prefix it gets (well, assuming it does).

Also, why are there addresses/routes/dns configured for enp0s10/enp0s11/wlp0s15f5u1 when they are bridge slaves?

Last edited by tom.ty89 (2017-07-02 02:58:57)

Offline

Board footer

Powered by FluxBB