From 23.05 to 23.05.5 - Problem with WAN DHCP6

Hello,
i'm trying to update my x86 box with 23.05 to 23.05.5
I assumed this was linear, well i have no external connection :slight_smile:
my connection is based on dhcpv6 and, on top, map-e to get a ipv4 address.
However, it seems with 23.05.5 i can't get even basic ipv6 connection. I see something i can't understand in ip addresses of wan interface:
this is the "old" (and working) assignment:

23: eth1.836@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet6 <long address>/128 scope global
       valid_lft forever preferred_lft forever
    inet6 <long address>/128 scope global dynamic noprefixroute
       valid_lft 3522sec preferred_lft 1722sec
    inet6 <long address>/64 scope link
       valid_lft forever preferred_lft forever

and this is what i get with the new firmware:

14: eth1.836@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 169.254.46.94/16 brd 169.254.255.255 scope global noprefixroute eth1.836
       valid_lft forever preferred_lft forever
    inet6 <long address>/128 scope global
       valid_lft forever preferred_lft forever
    inet6 <long address>/128 scope global dynamic noprefixroute
       valid_lft 3579sec preferred_lft 1779sec
    inet6 <long address>/64 scope link
       valid_lft forever preferred_lft forever

can you see a ipv4 address popping out?
why the hell a DHCPv6 interface should get a ipv4? and obviously with that ipv4 nothing works..
not sure this is gonna make everything work, but for sure this sounds strange to me..
ideas?
thanks

ps: yes, i kept the settings from the old firmware, it's just a new ipv4 address (a failed dhcpv4) popping out..

and the same behavior has the snapshot version

shouldn't this config avoid the ipv4 dhcp assignment?

 config interface 'wan_dhcp6'
         option proto 'dhcpv6'
         option device 'eth1.836'
         option reqaddress 'force'
         option reqprefix 'auto'
         option force_link '1'
         option peerdns '0'
         list dns '2001:4860:4860::8888'
         list dns '2001:4860:4860::8844'
         option sourcefilter '0'
         option delegate '0'

Not necessarily. Does your config have another interface that uses eth1.836?

I don't think your device obtained a good IPv4 address. This IP generally means DHCPv4 didn't work.

i have not (that's the same configuration working on 23.05). (oh, well, if you want i have the virtual map interface based on eth1.836.. but it got the correct public ipv4 addres

sure, that's why nothing works :slight_smile: i wrote above "a failed dhcpv4".. thats the ip range..

can i force the interface to release the ipv4? just to test if something works again..

Can you clarify this?

So you do have another config using eth1.836 thay gets an IPv4 address?

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/dhcp
cat /etc/config/firewall

yes, sure. Hoping to answer also the following question:

my provider has a ipv6 only network that i connect to using a dhcpv6 interface.
ipv4 access is given using MAP-E (so basically ipv4 traffic is incalsulated in ipv6 traffic). This is working, in my present 23.05, with the MAP package. There is nothing specific to do: you create the dhcpv6 interface, when it goes up and gets ipv6 packages, the MAP creates virtual interfaces that has a public (real) ipv4 assighed.
This is working now, and totally not working with 23.05.5 or SNAPSHOT. I'm trying to debug and i see the ipv4 that i did not get with 23.05 so i assume this can be the source of the missing wan acces. But maybe it's something else :slight_smile: so any debug idea is welcome..

I just removed from the output (i) static leases (ii) traffic rules to avoid being too long and added the ip a output where you can see also the map virtual interface

thanks :slight_smile:

root@RUTTO:~# ubus call system board
{
        "kernel": "6.6.56",
        "hostname": "RUTTO",
        "system": "QEMU Virtual CPU version 2.5+",
        "model": "QEMU Standard PC (i440FX + PIIX, 1996)",
        "board_name": "qemu-standard-pc-i440fx-piix-1996",
        "rootfs_type": "ext4",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r27798-dbc2923cbe",
                "target": "x86/64",
                "description": "OpenWrt SNAPSHOT r27798-dbc2923cbe"
        }
}
root@RUTTO:~# cat /etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'xxx/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option delegate '0'

config interface 'DMZ'
        option proto 'static'
        option device 'br-dmz'
        option ipaddr '10.0.99.1'
        option netmask '255.255.255.0'

config interface 'Guest'
        option proto 'static'
        option device 'br-guest'
        option ipaddr '10.0.0.1'
        option netmask '255.255.255.0'

config device
        option type 'bridge'
        option name 'br-iot'
        list ports 'eth0.999'
        option bridge_empty '1'

config interface 'IOT'
        option proto 'static'
        option device 'br-iot'
        option ipaddr '192.168.111.1'
        option netmask '255.255.255.0'

config device
        option type 'bridge'
        option name 'br-guest'
        list ports 'eth0.777'
        option bridge_empty '1'

config device
        option type 'bridge'
        option name 'br-dmz'
        list ports 'eth0.888'
        option bridge_empty '1'

config interface 'wan_dhcp6'
        option proto 'dhcpv6'
        option device 'eth1.836'
        option force_link '1'
        option reqaddress 'try'
        option reqprefix 'auto'
        option peerdns '0'
        list dns '2001:4860:4860::8888'
        list dns '2001:4860:4860::8844'
        option delegate '0'

config device
        option name 'eth1'
        option macaddr 'xxx'
        option ipv6 '1'

root@RUTTO:~# cat /etc/config/dhcp

config dnsmasq
        option localise_queries '1'
        option rebind_protection '1'
        option cachesize '0'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option localservice '1'
        option ednspacket_max '1232'
        option confdir '/tmp/adblock-blocklist'
        option quietdhcp '1'
        option domain 'lan'
        option local '/lan/'
        option nonwildcard '0'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '3'

config dhcp 'DMZ'
        option interface 'DMZ'
        option start '100'
        option limit '150'
        option leasetime '12h'

config dhcp 'Guest'
        option interface 'Guest'
        option start '100'
        option limit '150'
        option leasetime '12h'

config dhcp 'IOT'
        option interface 'IOT'
        option start '100'
        option limit '150'
        option leasetime '12h'

<removed static hosts leases>

root@RUTTO:~# cat /etc/config/firewall

config defaults
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option synflood_protect '1'

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        list network 'WireGuard'
        list network 'lan'

config zone
        option name 'wan'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        list network 'wan_dhcp6'

config forwarding
        option src 'lan'
        option dest 'wan'

config zone
        option name 'dmz'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        list network 'DMZ'

config forwarding
        option src 'lan'
        option dest 'dmz'

config zone
        option name 'guest'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        list network 'Guest'

config forwarding
        option src 'lan'
        option dest 'guest'

config forwarding
        option src 'dmz'
        option dest 'wan'

config forwarding
        option src 'guest'
        option dest 'wan'

config zone
        option name 'iot'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        list network 'IOT'

config forwarding
        option src 'iot'
        option dest 'wan'

config forwarding
        option src 'lan'
        option dest 'iot'

<removed forward sules>


23: eth1.836@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether xxx brd ff:ff:ff:ff:ff:ff
    inet 169.254.46.94/16 brd 169.254.255.255 scope global noprefixroute eth1.836
       valid_lft forever preferred_lft forever
    inet6 <real correct ipv6> scope global
       valid_lft forever preferred_lft forever
    inet6 <real correct ipv6> scope global dynamic noprefixroute
       valid_lft 3377sec preferred_lft 1577sec
    inet6 <real correct ipv6> scope link
       valid_lft forever preferred_lft forever
24: map-wan_dhcp6_4@eth1.836: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
    link/tunnel6 <real correct ipv6> peer <real correct ipv6> permaddr <real correct ipv6>
    inet <real correct ipv4> brd 255.255.255.255 scope global map-wan_dhcp6_4
       valid_lft forever preferred_lft forever
    inet6 fe80::3099:feff:fe78:3206/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

Edit to add; i also tried dropping the ip address with

ip addr del <ip> dev <interface>

but it gets back another fake ipv4 immediately..

There are also changes in the routing table.. it seems more or less 169.254 addresses are assigned to all interfaces (so probably it's correct..), but i see changes also in ipv6 routes, but i'm not good enough to understand if there is something wrong in this :slight_smile:

Active IPv4 Routes 23.05 (working)
Device		Target			Gateway		Metric		Table		Protocol
wan_dhcp6_4	0.0.0.0/0		-			0			main	
Guest		10.0.0.0/24		-			0			main	
DMZ			10.0.99.0/24	-			0			main	
lan			192.168.1.0/24	-			0			main	
IOT			192.168.111.0/24-			0			main

Active IPv4 Routes SNAPSHOT (NOT working)
Device		Target			Gateway		Metric		Table		Protocol
wan_dhcp6_4	0.0.0.0/0		-			0			main		static
Guest		10.0.0.0/24		-			0			main		kernel
DMZ			10.0.99.0/24	-			0			main		kernel
lan			192.168.1.0/24	-			0			main		kernel
IOT			192.168.111.0/24-			0			main		kernel
(eth0)		0.0.0.0/0		-			1001002		main	
(eth0)		169.254.0.0/16	-			1002		main	
(eth1)		169.254.0.0/16	-			1004		main	
(eth0.888)	169.254.0.0/16	-			1007		main	
(eth0.777)	169.254.0.0/16	-			1009		main	
(eth0.999)	169.254.0.0/16	-			1012		main	
(eth1.836)	169.254.0.0/16	-			1016		main	
(ifb4eth1)	169.254.0.0/16	-			1021		main	


Active IPv6 Routes 23.05 (working)
Device			Target								Source						Metric		Table		Protocol
wan_dhcp6_4_	<ipv6/128 of map ipv6 interface>	-							256			main	
wan_dhcp6		<ipv6/64 of my public ipv6>			-							256			main	
wan_dhcp6		::/0								-							384			main	

Active IPv6 Routes 23.05 SNAPSHOT (NOT working)
Device			Target								Source						Metric		Table		Protocol
wan_dhcp6		::/0								<my pd ipv6/60>				4096		main		static
wan_dhcp6		::/0								<my public ipv6/128>		4096		main		static
wan_dhcp6_4_	<ipv6/128 of map ipv6 interface>	-							256			main		kernel

Edit to add: ok the issue seems wider that the ipv4, i mean, without the map package (to be sure), so just a plain dhcpv6 interface, i have no access to internet, i can't neither ping google dns ip address.. i'm trying to bisect this starting from 23.05.0.. let's see..

it seems nothing related with owrt, with imagebuilder the package dhcpcd broke everything. thanks and sorry for the noise

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.