5

Situation

I know how to do ipv4 forwarding, and expected ipv6 forwarding to work pretty much the same way. So I configured a VirtualBox host with the network address configured from my ISP. Right now, this is the network I have:


(source: hjts.nl)

Question

I am able to ping all ipv6 addresses on the Debian router, but I cannot access addresses where Debian has to forward packets, e.g. from the Fedora client to eth0 on Debian.

Configuration

The Debian server is configured to allow IPV6 forwarding:

root@6server:~# sysctl -p
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.accept_ra = 2
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.accept_source_route = 1

Iptables should allow it as well..

root@6server:~# ip6tables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all      anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all      anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

And here is my address and route information:

root@6server:~# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:981:ec6a::aa:0/48 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fed6:b45c/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:981:ec6a::ae:1/48 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe77:f6e8/64 scope link 
       valid_lft forever preferred_lft forever

root@6server~# ip -6 route show
2001:981:ec6a::aa:0/112 dev eth0  metric 1024 
2001:981:ec6a::ae:0/112 dev eth1  metric 1024 
2001:981:ec6a::be:0/112 dev eth1  metric 1024 
fe80::/64 dev eth1  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
default via 2001:981:ec6a::2 dev eth0  metric 1024 

On the Fedora client, this is the network route:

[root@localhost henk]# ip -6 route show
2001:981:ec6a::/48 dev enp0s3 proto kernel metric 256
fe80::/64 dev enp0s3 proto kernel metric 256
default via 2001:981:ec6a::ae:1 dev enp0s3 metric 1024
7
  • 4
    First thing to fix is the /112. IPv6 subnets should always be /64. Second carefully check the routing tables on every machine. May 10, 2015 at 15:29
  • These are all the routing tables. Also, even if I configure just the ipv6 address, I have the same problem. I can ping between eth1 on Debian and the network interface on the Fedora client.
    – henk
    May 10, 2015 at 15:34
  • I see three machines listed here, but only two routing tables. May 10, 2015 at 15:48
  • Enabling source routing ? Really ? Edit: Ah, home environment. Should move to SU. May 10, 2015 at 15:54
  • 1
    You have eth0 and eth1 configured with identical prefixes. That is not a correct configuration, when they are connected to separate segments. Also you have configured the link prefix as a /48, it should be /64. So you need to split your /48 into separate /64s for each segment and update routing tables accordingly.
    – kasperd
    May 11, 2015 at 10:05

0

You must log in to answer this question.

Browse other questions tagged .