No ipv6 ping on client posible

Hi,

on my fresh installed openwrt 19.07.4 on a Archer C6 I can do ping -6 google.com and get the expected result:

PING google.com (2a00:1450:4001:800::200e): 56 data bytes

64 bytes from 2a00:1450:4001:800::200e: seq=0 ttl=117 time=20.877 ms

Doing the same on a client fails with “host not found”. Pinging 2a00:1450:4001:800::200e instead off google.com does not work as well. The problem exists on Windows and Linux clients. Ping -4 google.com works. The clients have a valid Ipv6 address in the address space of the router.

Any idea why dns and icmp are blocked?

Thanx, anna

1 Like

Post the output:

# OpenWrt
ifstatus wan6

# Linux client
nslookup google.com
tracepath6 -b google.com
ip route get 1::

https://openwrt.org/docs/guide-quick-start/sshadministration

2 Likes

looks like dns is working:

pi@raspberrypi:~ $ nslookup google.com
Server:         192.168.1.1
Address:        192.168.1.1#53
Non-authoritative answer:
Name:   google.com
Address: 172.217.23.110
Name:   google.com
Address: 2a00:1450:4001:825::200e

tracepath output:
pi@raspberrypi:~ $ tracepath -6 -b google.com
 1:  send failed
     Resume: pmtu 128000

ip route:
pi@raspberrypi:~ $ ip route get 1::
RTNETLINK answers: Network is unreachable

pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.146  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fdb6:f89d:a68d:0:db0b:a78:3f3b:bc4  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::b477:7951:b538:a3d5  prefixlen 64  scopeid 0x20<link>
        inet6 fdb6:f89d:a68d::fb2  prefixlen 128  scopeid 0x0<global>
        ether b8:27:eb:8e:24:9c  txqueuelen 1000  (Ethernet)
        RX packets 3332  bytes 259344 (253.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 798  bytes 95467 (93.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



openwrt----------------------------------------------------------------------------
ifstatus wan6 on open wrt:
{
	"up": true,
	"pending": false,
	"available": true,
	"autostart": true,
	"dynamic": false,
	"uptime": 3789,
	"l3_device": "eth0.2",
	"proto": "dhcpv6",
	"device": "eth0.2",
	"metric": 0,
	"dns_metric": 0,
	"delegation": true,
	"ipv4-address": [
		
	],
	"ipv6-address": [
		{
			"address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
			"mask": 64,
			"preferred": 3153,
			"valid": 6753
		}
	],
	"ipv6-prefix": [
		
	],
	"ipv6-prefix-assignment": [
		
	],
	"route": [
		{
			"target": "xxxxxxxxxxxxxx::",
			"mask": 64,
			"nexthop": "::",
			"metric": 256,
			"valid": 6753,
			"source": "::/0"
		},
		{
			"target": "xxxxxxxxxxx::",
			"mask": 56,
			"nexthop": "fe80::3ea6:2fff:fe77:dc36",
			"metric": 512,
			"valid": 1353,
			"source": "xxxxxxxxxxxxx/64"
		},
		{
			"target": "::",
			"mask": 0,
			"nexthop": "fe80::3ea6:2fff:fe77:dc36",
			"metric": 512,
			"valid": 1353,
			"source": "xxxxxxxxxxxxxxxxxxxxxxx/64"
		}
	],
	"dns-server": [
		"fd00::3ea6:2fff:fe77:dc36"
	],
	"dns-search": [
		
	],
	"neighbors": [
		
	],
	"inactive": {
		"ipv4-address": [
			
		],
		"ipv6-address": [
			
		],
		"route": [
			
		],
		"dns-server": [
			
		],
		"dns-search": [
			
		],
		"neighbors": [
			
		]
	},
	"data": {
		"passthru": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
	}
}
1 Like

It looks like you have no IPv6 prefix, thus configure IPv6 relaying:
https://openwrt.org/docs/guide-user/network/ipv6/start#ipv6_relay

2 Likes

changed /etc/config/dhcp to

..
config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv6 'server'
	option ra 'server'
	option ndp 'server'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'
 
config dhcp 'wan6'
	option dhcpv6 'relay'
	option ra 'relay'
	option ndp 'relay'
	option master '1'
	option interface 'wan6'
..

now ifstatus wan6 looks like this:

{
	"up": true,
	"pending": false,
	"available": true,
	"autostart": true,
	"dynamic": false,
	"uptime": 193,
	"l3_device": "eth0.2",
	"proto": "dhcpv6",
	"device": "eth0.2",
	"updated": [
		"addresses",
		"routes",
		"data"
	],
	"metric": 0,
	"dns_metric": 0,
	"delegation": true,
	"ipv4-address": [
		
	],
	"ipv6-address": [
		{
			"address": "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx",
			"mask": 64,
			"preferred": 3407,
			"valid": 7007
		}
	],
	"ipv6-prefix": [
		
	],
	"ipv6-prefix-assignment": [
		
	],
	"route": [
		{
			"target": "xxxx:xxxx:xxxx:xxxx::",
			"mask": 64,
			"nexthop": "::",
			"metric": 256,
			"valid": 7007,
			"source": "::/0"
		},
		{
			"target": "xxxx:xxxx:xxxx:xxxx::",
			"mask": 56,
			"nexthop": "fe80::3ea6:2fff:fe77:dc36",
			"metric": 512,
			"valid": 1607,
			"source": "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64"
		},
		{
			"target": "::",
			"mask": 0,
			"nexthop": "fe80::3ea6:2fff:fe77:dc36",
			"metric": 512,
			"valid": 1607,
			"source": "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64"
		}
	],
	"dns-server": [
		"fd00::3ea6:2fff:fe77:dc36"
	],
	"dns-search": [
		
	],
	"neighbors": [
		
	],
	"inactive": {
		"ipv4-address": [
			
		],
		"ipv6-address": [
			
		],
		"route": [
			
		],
		"dns-server": [
			
		],
		"dns-search": [
			
		],
		"neighbors": [
			
		]
	},
	"data": {
		"passthru": ""
}

still no ping

DHCP mixing server and relay for ipv4/v6?

2 Likes

with:

uci set dhcp.lan.dhcpv6="relay"
uci set dhcp.lan.ndp="relay"
uci set dhcp.lan.ra="relay"
uci set dhcp.wan6.interface="wan6"
uci commit dhcp
/etc/init.d/odhcpd restart

ping -6 google.com worked once, but after router reboot ping times out and tracepath prints "no replay"

1 Like

Reconnect the client and post the output:

# OpenWrt
uci show dhcp

# Linux client
ip -6 address show
root@OpenWrt:~# uci show dhcp
dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].domainneeded='1'
dhcp.@dnsmasq[0].boguspriv='1'
dhcp.@dnsmasq[0].filterwin2k='0'
dhcp.@dnsmasq[0].localise_queries='1'
dhcp.@dnsmasq[0].rebind_protection='1'
dhcp.@dnsmasq[0].rebind_localhost='1'
dhcp.@dnsmasq[0].local='/lan/'
dhcp.@dnsmasq[0].domain='lan'
dhcp.@dnsmasq[0].expandhosts='1'
dhcp.@dnsmasq[0].nonegcache='0'
dhcp.@dnsmasq[0].authoritative='1'
dhcp.@dnsmasq[0].readethers='1'
dhcp.@dnsmasq[0].leasefile='/tmp/dhcp.leases'
dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.auto'
dhcp.@dnsmasq[0].nonwildcard='1'
dhcp.@dnsmasq[0].localservice='1'
dhcp.lan=dhcp
dhcp.lan.interface='lan'
dhcp.lan.start='100'
dhcp.lan.limit='150'
dhcp.lan.leasetime='12h'
dhcp.lan.dhcpv6='relay'
dhcp.lan.ra='relay'
dhcp.lan.ndp='relay'
dhcp.wan=dhcp
dhcp.wan.interface='wan'
dhcp.wan.ignore='1'
dhcp.odhcpd=odhcpd
dhcp.odhcpd.maindhcp='0'
dhcp.odhcpd.leasefile='/tmp/hosts/odhcpd'
dhcp.odhcpd.leasetrigger='/usr/sbin/odhcpd-update'
dhcp.odhcpd.loglevel='4'
dhcp.wan6=dhcp
dhcp.wan6.dhcpv6='relay'
dhcp.wan6.ra='relay'
dhcp.wan6.ndp='relay'
dhcp.wan6.master='1'
dhcp.wan6.interface='wan6'
1 Like
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 xxxx:xxxx:xxxx:xxxx:xxxx:yyyy:yyyy:yyyy/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 6808sec preferred_lft 3208sec
    inet6 fe80::b477:7951:b538:a3d5/64 scope link
       valid_lft forever preferred_lft forever
1 Like

did an retry after 30 min or so, now ping -6 is working, Thanx for your help.

1 Like