My IPv6 router drops returning packets from the server
Shadow Hawkins on Monday, 07 June 2010 06:37:16
My router (Ubuntu 10.4 server) drops packets which are returning from the server www.ipv6.sixxs.net.
I have a SIXXS tunnel which works. I have an IPv6 subnet, 2001:1938:26f::/48. I have radvd setup, and the other machines on the subnet are getting IPv6 addresses that look sane, e.g. 2001:1938:26f:1:204:4bff:fe06:d0b9.
I can curl to http://www.ipv6.sixxs.net from the router, but not from other machines in my home network.
I ran tcpdump and I clearly see IPv6 packets from the desktop arrive on eth0 on the router with the SYN bit set. Still running tcpdump, I see IPv6 packets leaving sixxs bound for 2001:7b8:3:4f:202:b3ff:fe46:bec.80 for example (www.ipv6.sixxs.net has 4 IPv6 addresses). I see IPv6 packets arriving from the web server on sixxs with the SYN and ACK bits set. However, once those packets arrive, they aren't sent on to the desktop machine. curl on the desktop eventually gives up and tries the next IPv6 address.
jeffs@black:~$ fgrep -i ipv6 /etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv6
net.ipv6.conf.all.forwarding=1
#net.ipv6.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_source_route = 0
jeffs@black:~$
I assume that since the packets with SYN and ACK bits set are getting back to my router but the packets aren't getting to my desktop, that the problem must be in my router. However, searching google hasn't told me anything helpful.
Thank you
Jeff Silverman
jeffsilverm at gmail dot com
My IPv6 router drops returning packets from the server
Shadow Hawkins on Monday, 07 June 2010 07:15:46
The routing table on my router is:
jeffs@black:~$ ip -6 ro sho
2001:1938:81:126::/64 dev sixxs proto kernel metric 256 mtu 1280 advmss 1220 hoplimit 4294967295
fe80::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev sixxs proto kernel metric 256 mtu 1280 advmss 1220 hoplimit 4294967295
default via 2001:1938:81:126::1 dev sixxs metric 1024 mtu 1280 advmss 1220 hoplimit 4294967295
jeffs@black:~$
The configuration of my eth0 interface on the desktop is:
jeffs@heavy:~$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:04:4b:06:d0:b9
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: 2001:1938:26f:1:204:4bff:fe06:d0b9/64 Scope:Global
inet6 addr: fe80::204:4bff:fe06:d0b9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:94555 errors:0 dropped:0 overruns:0 frame:0
TX packets:173247 errors:2 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30735260 (30.7 MB) TX bytes:211873963 (211.8 MB)
Interrupt:23 Base address:0x4000
jeffs@heavy:~$
The configuration of my eth0 interface on the router is
jeffs@black:~$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:20:ed:67:4c:eb
inet addr:192.168.0.252 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::220:edff:fe67:4ceb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19851472 errors:401 dropped:28175 overruns:172 frame:0
TX packets:28907106 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:228695441 (228.6 MB) TX bytes:3540482561 (3.5 GB)
Interrupt:18 Base address:0xe800
jeffs@black:~$
I speculate the eth0 interface on the router needs an IPv6 address on the 2001:1938:26f:1::/64 network. Is that correct? If that is the case, do I just assign it an address? What is the preferred way to make that assignment?
Thank you
Jeff Silverman
My IPv6 router drops returning packets from the server
Jeroen Massar on Monday, 07 June 2010 08:29:50
The preferred way is the one you like ;)
I personally just use the EUI-64 address for almost about anything, others might pick ::1 for the router.
My IPv6 router drops returning packets from the server
Shadow Hawkins on Monday, 07 June 2010 07:43:03
My speculation was correct: the router needed an IPv6 address on the home subnetwork. So I used the command
jeffs@black:~$ sudo ifconfig eth0 inet6 add 2001:1938:26f:1:204:4bff:0:1/64
[sudo] password for jeffs:
jeffs@black:~$
to create an address and now routing is working. Anybody who is still reading this thread - thank you.
I sill don't know why I needed to do that ifconfig command. It seems to me that this was unnecessarily difficult - that the router should have gotten its own IP address from radvd. Or am I missing something?
Again, thank you
Jeff Silverman
My IPv6 router drops returning packets from the server
Jeroen Massar on Monday, 07 June 2010 08:28:50 that the router should have gotten its own IP address from radvd
(On Linux) when an interface has 'forwarding' enabled it automatically disables accepting RA on that interface. That is why you have to manually configure the address.
Posting is only allowed when you are logged in. |