[PATCH] fff-network: Improve IPv6 WAN connectivity

Robert Langhammer rlanghammer at web.de
Mi Jul 8 17:23:39 CEST 2020


Hi,

es funktioniert nicht bei mir. Der netifd macht source specific routen:

# ip -6 r
default from 2003:d2:571d:9442::/64 via fe80::1 dev br-wan proto static
metric 512 pref medium
default from fd52:28be:4c6f:1::/64 via fe80::1 dev br-wan proto static
metric 512 pref medium

Wenn ich an br-mesh eine v6 binde: inet6 2a0b:f4c0:84:c::1/64 scope global

Kann ich mein Wireguardpeer nicht mehr erreichen:

prohibit 2a01:4f8:1c0c:70c4::2 from :: dev lo proto kernel src
2a0b:f4c0:84:c::1

Falsche src :-(

Ohne source specific geht es.

Viele Grüße
Robert

Am 17.06.20 um 09:04 schrieb Robert Langhammer:
> Hi,
>
> das ist wirklich schöner als die versteckten sysctls.
>
> Reviewed-by: Robert Langhammer <rlanghammer at web.de>
>
> Am 14.06.20 um 13:17 schrieb Fabian Bläse:
>> Until now, IPv6 connectivity was only ensured by some custom sysctls.
>> OpenWrt has a proper way of enabling IPv6 client (SLAAC, as well as DHCPv6)
>> for an interface. Switching to OpenWrt's way of configuring client addresses
>> for an interface might also make configuration more reliable, as the appropriate
>> sysctls are now set by netifd. Especially OnePort and TwoPort devices will
>> benefit from this change, as IPv6 auto configuration does not have to be manually
>> enabled and disabled for a physical interface, but rather is set as an option for
>> our logical wan interface.
>>
>> At the same time this change enables DHCPv6 client support for WAN.
>>
>> Signed-off-by: Fabian Bläse <fabian at blaese.de>
>> ---
>>  src/packages/fff/fff-network/files/etc/config/network    | 5 +++++
>>  .../fff/fff-network/files/usr/sbin/configurenetwork      | 9 +--------
>>  2 files changed, 6 insertions(+), 8 deletions(-)
>>
>> diff --git a/src/packages/fff/fff-network/files/etc/config/network b/src/packages/fff/fff-network/files/etc/config/network
>> index d2ee443..1f56ce5 100644
>> --- a/src/packages/fff/fff-network/files/etc/config/network
>> +++ b/src/packages/fff/fff-network/files/etc/config/network
>> @@ -12,6 +12,11 @@ config interface 'wan'
>>          option proto 'dhcp'
>>          option ifname 'eth1'
>>
>> +config interface 'wan6'
>> +        option proto 'dhcpv6'
>> +        option reqprefix 'no'
>> +        option ifname '@wan'
>> +
>>  config interface 'ethmesh'
>>          option proto 'batadv_hardif'
>>          option master 'bat0'
>> diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>> index 0ae7ba8..4bbc4f1 100755
>> --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>> +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork
>> @@ -126,11 +126,7 @@ if ! uci -q get network.$SWITCHDEV > /dev/null || [ "$FORCEPARSE" = '1' ] ; then
>>          uci set network.${SWITCHDEV}_2.vlan=2
>>          uci set network.${SWITCHDEV}_2.ports="$WAN_PORTS"
>>
>> -        enableAutoConf "$WANDEV.2"
>> -    else
>> -        enableAutoConf "$WANDEV"
>> -    fi
>> -
>> +
>>      uci set network.${SWITCHDEV}_3=switch_vlan
>>      uci set network.${SWITCHDEV}_3.device=$SWITCHHW
>>      uci set network.${SWITCHDEV}_3.vlan=3
>> @@ -153,19 +149,16 @@ if [ "$ONE_PORT" = "YES" ] && ( ! uci -q get network.$SWITCHDEV.ifname || [ "$FO
>>      uci set network.$SWITCHDEV=interface
>>      uci set network.$SWITCHDEV.ifname=$SWITCHDEV
>>      if [ "$ETHMODE" = "WAN" ]; then
>> -        enableAutoConf "$WANDEV"
>>          uci set network.mesh.ifname="bat0"
>>          uci set network.wan.ifname="$WANDEV"
>>          uci del uci set network.ethmesh.ifname
>>          uci del network.eth0.macaddr
>>      elif [ "$ETHMODE" = "CLIENT" ] ; then
>> -        disableAutoConf "$WANDEV"
>>          uci set network.mesh.ifname="bat0 $SWITCHDEV"
>>          uci set network.wan.ifname="eth1" #eth1 because it is default in config file
>>          uci del network.ethmesh.ifname
>>          uci del network.eth0.macaddr
>>      elif [ "$ETHMODE" = "BATMAN" ] ; then
>> -        disableAutoConf "$WANDEV"
>>          uci set network.mesh.ifname="bat0"
>>          uci set network.wan.ifname="eth1" #eth1 because it is default in config file
>>          uci set network.ethmesh.ifname="$SWITCHDEV"



Mehr Informationen über die Mailingliste franken-dev