[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