3

I have a Debian 7 Server with several networks and KVM VMs running configured:

  • 2a01:4f8:191:439b::/64
  • 144.72.132.208/29

The IPv6 Subnet is splitted into /96 Networks to assign each bridge a own subnet.

auto hetzner0 iface hetzner0 inet static address 144.76.43.151 network 144.76.43.128 netmask 27 gateway 144.76.43.129 iface hetzner0 inet6 static address 2a01:4f8:191:439b:0:0:0:1 netmask 96 gateway fe80::1 auto hetzner1 iface hetzner1 inet static address 144.72.132.209 broadcast 144.72.132.208 netmask 29 bridge_ports none bridge_fd 1 bridge_waitport 0 bridge_stp off iface hetzner1 inet6 static address 2a01:4f8:191:439b:0:1:0:1 netmask 96

While IPv4 is working perfectly, IPv6 is making me crazy. The v6 Address on hetzner0 is assigned correctly and I am able to ping arround the world. But the address on hetzner1 is not getting assigned! I am able to add it manually by doing the following:

/sbin/ip -f inet6 addr add 2a01:4f8:191:439b:0:1:0:1/96 dev hetzner1

While this working, doing this in a post-up and pre-down hook does not work...

post-up /sbin/ip -f inet6 addr add 2a01:4f8:191:439b:0:1:0:1/96 dev hetzner1
pre-down  /sbin/ip -f inet6 addr add 2a01:4f8:191:439b:0:1:0:1/96 dev hetzner1

IPv6 is enabled for this Interface via sysctl, while the most automatic configuration is disabled: ╰─$ sysctl -a | grep 'hetzner1' net.ipv4.conf.hetzner1.accept_local = 0 net.ipv4.conf.hetzner1.accept_redirects = 0 net.ipv4.conf.hetzner1.accept_source_route = 0 net.ipv4.conf.hetzner1.arp_accept = 0 net.ipv4.conf.hetzner1.arp_announce = 0 net.ipv4.conf.hetzner1.arp_filter = 0 net.ipv4.conf.hetzner1.arp_ignore = 0 net.ipv4.conf.hetzner1.arp_notify = 0 net.ipv4.conf.hetzner1.bootp_relay = 0 net.ipv4.conf.hetzner1.disable_policy = 0 net.ipv4.conf.hetzner1.disable_xfrm = 0 net.ipv4.conf.hetzner1.force_igmp_version = 0 net.ipv4.conf.hetzner1.forwarding = 1 net.ipv4.conf.hetzner1.igmpv2_unsolicited_report_interval = 10000 net.ipv4.conf.hetzner1.igmpv3_unsolicited_report_interval = 1000 net.ipv4.conf.hetzner1.log_martians = 0 net.ipv4.conf.hetzner1.mc_forwarding = 0 net.ipv4.conf.hetzner1.medium_id = 0 net.ipv4.conf.hetzner1.promote_secondaries = 0 net.ipv4.conf.hetzner1.proxy_arp = 0 net.ipv4.conf.hetzner1.proxy_arp_pvlan = 0 net.ipv4.conf.hetzner1.route_localnet = 0 net.ipv4.conf.hetzner1.rp_filter = 1 net.ipv4.conf.hetzner1.secure_redirects = 1 net.ipv4.conf.hetzner1.send_redirects = 0 net.ipv4.conf.hetzner1.shared_media = 1 net.ipv4.conf.hetzner1.src_valid_mark = 0 net.ipv4.conf.hetzner1.tag = 0 net.ipv4.neigh.hetzner1.anycast_delay = 100 net.ipv4.neigh.hetzner1.app_solicit = 0 net.ipv4.neigh.hetzner1.base_reachable_time_ms = 30000 net.ipv4.neigh.hetzner1.delay_first_probe_time = 5 net.ipv4.neigh.hetzner1.gc_stale_time = 60 net.ipv4.neigh.hetzner1.locktime = 100 net.ipv4.neigh.hetzner1.mcast_solicit = 3 net.ipv4.neigh.hetzner1.proxy_delay = 80 net.ipv4.neigh.hetzner1.proxy_qlen = 64 net.ipv4.neigh.hetzner1.retrans_time_ms = 1000 net.ipv4.neigh.hetzner1.ucast_solicit = 3 net.ipv4.neigh.hetzner1.unres_qlen = 31 net.ipv4.neigh.hetzner1.unres_qlen_bytes = 65536 net.ipv6.conf.hetzner1.accept_dad = 0 net.ipv6.conf.hetzner1.accept_ra = 0 net.ipv6.conf.hetzner1.accept_ra_defrtr = 0 net.ipv6.conf.hetzner1.accept_ra_pinfo = 0 net.ipv6.conf.hetzner1.accept_ra_rt_info_max_plen = 0 net.ipv6.conf.hetzner1.accept_ra_rtr_pref = 0 net.ipv6.conf.hetzner1.accept_redirects = 0 net.ipv6.conf.hetzner1.accept_source_route = 0 net.ipv6.conf.hetzner1.autoconf = 0 net.ipv6.conf.hetzner1.dad_transmits = 1 net.ipv6.conf.hetzner1.disable_ipv6 = 0 net.ipv6.conf.hetzner1.force_mld_version = 0 net.ipv6.conf.hetzner1.force_tllao = 0 net.ipv6.conf.hetzner1.forwarding = 1 net.ipv6.conf.hetzner1.hop_limit = 64 net.ipv6.conf.hetzner1.max_addresses = 16 net.ipv6.conf.hetzner1.max_desync_factor = 600 net.ipv6.conf.hetzner1.mc_forwarding = 0 net.ipv6.conf.hetzner1.mldv1_unsolicited_report_interval = 10000 net.ipv6.conf.hetzner1.mldv2_unsolicited_report_interval = 1000 net.ipv6.conf.hetzner1.mtu = 1500 net.ipv6.conf.hetzner1.ndisc_notify = 0 net.ipv6.conf.hetzner1.optimistic_dad = 0 net.ipv6.conf.hetzner1.proxy_ndp = 0 net.ipv6.conf.hetzner1.regen_max_retry = 3 net.ipv6.conf.hetzner1.router_probe_interval = 60 net.ipv6.conf.hetzner1.router_solicitation_delay = 1 net.ipv6.conf.hetzner1.router_solicitation_interval = 4 net.ipv6.conf.hetzner1.router_solicitations = 3 net.ipv6.conf.hetzner1.suppress_frag_ndisc = 1 net.ipv6.conf.hetzner1.temp_prefered_lft = 86400 net.ipv6.conf.hetzner1.temp_valid_lft = 604800 net.ipv6.conf.hetzner1.use_tempaddr = 0 net.ipv6.neigh.hetzner1.anycast_delay = 100 net.ipv6.neigh.hetzner1.app_solicit = 0 net.ipv6.neigh.hetzner1.base_reachable_time_ms = 30000 net.ipv6.neigh.hetzner1.delay_first_probe_time = 5 net.ipv6.neigh.hetzner1.gc_stale_time = 60 net.ipv6.neigh.hetzner1.locktime = 0 net.ipv6.neigh.hetzner1.mcast_solicit = 3 net.ipv6.neigh.hetzner1.proxy_delay = 80 net.ipv6.neigh.hetzner1.proxy_qlen = 64 net.ipv6.neigh.hetzner1.retrans_time_ms = 1000 net.ipv6.neigh.hetzner1.ucast_solicit = 3 net.ipv6.neigh.hetzner1.unres_qlen = 31 net.ipv6.neigh.hetzner1.unres_qlen_bytes = 65536

I am desperate, does anyone has a solution for me?

Victor

UPDATE:

I'm embarrassed but while i was clicking randomly throuh the links on the right side, searching for a similar problem to mine i found this:

IPv6 only works after pinging the default gateway.

The following lines got my attention(yes, my provider is Hetzner Germany):

Because Debian is crazy for not already having that in there? – Michael Hampton♦ Feb 23 '13 at 9:29

The file was provided by hetzner: "### Hetzner Online AG - installimage" But it is definitely my fault, not seeing it in the first place :D. – dexstar Feb 23 '13 at 9:31

So i tried his solution and it finally worked! I added to /etc/network/interfaces while the install image of Hetzner does not provide this:

iface lo inet6 loopback
BaronSamedi1958
  • 13,676
  • 1
  • 21
  • 53
Victor
  • 31
  • 3
  • I added the solution to my Problem under "Update". – Victor Jun 08 '14 at 16:24
  • 1
    Glad you resolved this. You should post your update as an answer and [mark it accepted](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) when you are able. – jscott Jun 08 '14 at 17:35

0 Answers0