0

EDIT: the earlier routing table does work. The problem is HE's server in LA. I did a test with a pure ipv4 server and it didn't work either. So I now change the question to how to make both native and tunnelled ipv6 addresses work.

The server I was working on had an ipv6 address. I used HE's ipv6 tunnelling service and followed the instruction I was given:

modprobe ipv6
ip tunnel add he-ipv6 mode sit remote server-ipv4 local client-ipv4 ttl 255
ip link set he-ipv6 up
ip addr add he-ipv6-addr-prefix::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr

where server-ipv4 is the ipv4 address of the HE server, and client-ipv4 is the ipv4 address of my server, he-ipv6-addr-prefix:: is the ipv6 address prefix HE gave me without the last 1 for the HE server and 2 for my server.

Normally in an ipv6-less server, this would be enough. But here I need to do some extra work. At this moment the HE ipv6 address was still offline, while the native one is live. ip -6 route gave

unreachable ::/96 dev lo metric 1024 pref medium
unreachable ::ffff:0.0.0.0/96 dev lo metric 1024 pref medium
he-ipv6-addr::/64 dev he-ipv6 proto kernel metric 256 pref medium
native-ipv6-prefix::/64 dev eth0 proto kernel metric 256 expires 2591931sec pref medium
unreachable 2002:a00::/24 dev lo metric 1024 pref medium
unreachable 2002:7f00::/24 dev lo metric 1024 pref medium
unreachable 2002:a9fe::/32 dev lo metric 1024 pref medium
unreachable 2002:ac10::/28 dev lo metric 1024 pref medium
unreachable 2002:c0a8::/32 dev lo metric 1024 pref medium
unreachable 2002:e000::/19 dev lo metric 1024 pref medium
unreachable 3ffe:ffff::/32 dev lo metric 1024 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev he-ipv6 proto kernel metric 256 pref medium
default via fe80::fc00:2ff:fe5b:f8c dev eth0 proto ra metric 1024 expires 1621sec hoplimit 64 pref medium

where native-ipv6-prefix is the prefix of the native ipv6 address, and the default route fe80:: is the link-local address of the native one's device eth0.

Now if I delete the last line from the routing table, and add the HE one as default: ip route add ::/0 dev he-ipv6, the native one is down, and the HE one is available. But this way, I can't make both of them working. Is there any way to do that?

2
  • Do you want to keep both addresses working, or only the HE-tunnel address? Does ip route get 2600:: show the correct route being chosen? When trying to ping something over IPv6, run a packet capture on eth0 and see if the encapsulated packets are being sent to the HE tunnel server. Commented Oct 9, 2019 at 13:30
  • @grawity I want to only keep the HE tunnel one. Fortunately, I just found out that it's HE's tunnel in LA that's broken. I changed it to Seattle and everything's fine now. I'm also curious about how to keep both ipv6 addresses working. Do you have any insight?
    – Turgon
    Commented Oct 10, 2019 at 19:45

0

You must log in to answer this question.

Browse other questions tagged .