Hi all
I have configured a Linksys EA4500 as a wireless extender, but without using WDS, rather I use the 5Ghz link for trunk towards another access point and the 2.4Ghz as AP
IPv4 connectivity is delivered with relayd and works just fine
A brief scheme is
WWAN - relayd - LAN (LAN bridged with WLAN 2.4Ghz)
Of course the DHCPv4 is disabled on LAN
I have configured IPv6 in relay mode on LAN, but I don't get any IPv6 on clients. IPv6 connectivity on my networks works just fine and it is provided by a LEDE router.
Also on this wireless extender the IPv6 on WWAN side works, because I have made a WAN6 interface on the same WWAN peer WLAN and I can perfectly get the IPv6 addresses
This are my configurations:
network
root@AccessPointP0_2:/etc/config# cat network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd73:e37b:9296::/48'
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipv6 '0'
option ipaddr '192.168.183.1'
option gateway '192.168.182.1'
option broadcast '192.168.182.255'
option dns '192.168.182.1'
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option ports '0 1 2 3 4 5'
option vid '1'
config interface 'tun0'
option proto 'none'
option ifname 'tun0'
config interface 'tun1'
option proto 'none'
option ifname 'tun1'
config interface 'wwan'
option proto 'dhcp'
config interface 'stabridge'
option proto 'relay'
option ipaddr '192.168.182.135'
list network 'lan'
list network 'wwan'
config interface 'WAN6'
option proto 'dhcpv6'
option reqaddress 'try'
option reqprefix 'auto'
dhcp
root@AccessPointP0_2:/etc/config# cat dhcp
config dnsmasq
option domainneeded '1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
option localservice '1'
option nonwildcard '0'
config dhcp 'lan'
option interface 'lan'
option ra 'relay'
option dhcpv6 'relay'
option ndp 'relay'
option ignore '1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
config host
option name 'LibreELEC-Cucina'
option mac 'ac:83:f3:2e:de:6a'
option ip '192.168.183.234'
config dhcp 'wwan'
option interface 'wwan'
option dhcpv6 'relay'
option ra 'relay'
option ndp 'relay'
option master '1'
firewall
root@AccessPointP0_2:/etc/config# cat firewall
config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option network 'lan LAN6 stabridge'
config zone
option name 'wan'
option output 'ACCEPT'
option input 'ACCEPT'
option forward 'ACCEPT'
option network 'wwan WAN6'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option src_ip 'fc00::/6'
option dest_ip 'fc00::/6'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config include
option path '/etc/firewall.user'
config rule
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
config zone
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option name 'vpn'
option network 'TUN0 tun0 tun1'
config forwarding
option dest 'lan'
option src 'vpn'
config forwarding
option dest 'vpn'
option src 'lan'
config rule
option name 'Drop IPv6 flooding UPnP'
option family 'ipv6'
option proto 'udp'
option src 'lan'
option dest_port '1900'
option target 'DROP'
config rule
option target 'ACCEPT'
option proto 'tcp udp'
option dest_port '1812'
option name 'freeradius1'
option src 'lan'
config rule
option enabled '1'
option target 'ACCEPT'
option proto 'tcp udp'
option dest_port '1813'
option name 'freeradius2'
option src 'lan'
config redirect 'adblock_dns'
option name 'Adblock DNS'
option src 'lan'
option proto 'tcp udp'
option src_dport '53'
option dest_port '53'
option target 'DNAT'
config forwarding
option dest 'lan'
option src 'wan'
config forwarding
option dest 'vpn'
option src 'wan'
config forwarding
option dest 'wan'
option src 'lan'
config forwarding
option dest 'wan'
option src 'vpn'
config include 'miniupnpd'
option type 'script'
option path '/usr/share/miniupnpd/firewall.include'
option family 'any'
option reload '1'
ifconfig (wlan1 is the 5Ghz trunk interface, you see that ipv6 works there)
br-lan Link encap:Ethernet HWaddr 20:AA:4B:F3:7B:C6
inet addr:192.168.183.1 Bcast:192.168.182.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4746544 errors:0 dropped:280 overruns:0 frame:0
TX packets:10050612 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:330106842 (314.8 MiB) TX bytes:13782648381 (12.8 GiB)
eth0 Link encap:Ethernet HWaddr 20:AA:4B:F3:7B:C6
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:745725 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:113309576 (108.0 MiB)
Interrupt:31
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:56 errors:0 dropped:0 overruns:0 frame:0
TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6032 (5.8 KiB) TX bytes:6032 (5.8 KiB)
wlan0 Link encap:Ethernet HWaddr 20:AA:4B:F3:7B:C8
inet6 addr: fe80::22aa:4bff:fef3:7bc8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4746498 errors:0 dropped:0 overruns:0 frame:0
TX packets:10072909 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:396557538 (378.1 MiB) TX bytes:13987254783 (13.0 GiB)
wlan1 Link encap:Ethernet HWaddr 20:AA:4B:F3:7B:CA
inet addr:192.168.182.135 Bcast:192.168.182.255 Mask:255.255.255.0
inet6 addr: 2001:470:b5b0::22aa:4bff:fef3:7bca/64 Scope:Global
inet6 addr: fdb5:24dd:30d::22aa:4bff:fef3:7bca/64 Scope:Global
inet6 addr: 2001:b07:2e6:c5e6::135/128 Scope:Global
inet6 addr: 2001:470:b5b0::135/128 Scope:Global
inet6 addr: 2001:b07:2e6:c5e6:22aa:4bff:fef3:7bca/64 Scope:Global
inet6 addr: fe80::22aa:4bff:fef3:7bca/64 Scope:Link
inet6 addr: fdb5:24dd:30d::135/128 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10719102 errors:0 dropped:0 overruns:0 frame:0
TX packets:4898876 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14246318964 (13.2 GiB) TX bytes:499551286 (476.4 MiB)
From the documentation I have seen that the option ignore could disable both dnsmasq dhcp and odhcpd. If it is so, then there is something to change here, since it is perfectly legit that you don't want dhcp ipv4 on an interface but you need ipv6 dhcp (master, relay or other modes are the same story).
Anyhow I have tried to remove the ignore on lan, as expected I get mixed IPv4 address on clients (randomly 192.168.182.0/24 from relayd or 192.168.183.0/24 from LAN DHCPv4), but still no IPv6
I see that the process odhcpd is started in both case
1998 root 1284 S /usr/sbin/odhcpd
But honestly I don't know where its configuration is placed by the startup scripts
I got IPv6 relay mode working in the past on my router when I got IPv6 on WAN via DHCPv6 from my ISP.
The running OpenWRT is a recent snapshot with kernel 4.14.x
Can anyone help on troubleshoot this?
Thanks!