LINUX.ORG.RU

Получение stateless global ipv6 черep Router Advertisement.

 , , ,


0

1

Коллеги добрый день. Достался в наследство серверер на Debian 7, и на нем необходимо настроить ipv6 адрес. Сервер располагается на виртуальной машине linode. И почему-то настраивается только ipv6 scope link. Подскажите куда стоит копать, что бы сервер на сервер автоматически настраивался global link ipv6.

Сетевые настройки

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0

iface eth0 inet6 auto

iface eth0 inet static
    address xxx.xxx.xxx.xxx/24
    gateway xxx.xxx.xxx.xxx

allow-hotplug vpn_se_dev
sysctl ipv6 config
sysctl: reading key "net.ipv6.conf.all.stable_secret"
net.ipv6.conf.all.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.br-760c8151a508.stable_secret"
net.ipv6.conf.br-760c8151a508.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.br-f8cbc1d63084.stable_secret"
net.ipv6.conf.br-f8cbc1d63084.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.default.stable_secret"
net.ipv6.conf.default.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.docker0.stable_secret"
net.ipv6.conf.docker0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.dummy0.stable_secret"
net.ipv6.conf.dummy0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.erspan0.stable_secret"
net.ipv6.conf.erspan0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.eth0.stable_secret"
net.ipv6.conf.eth0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.gre0.stable_secret"
net.ipv6.conf.gre0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.gretap0.stable_secret"
net.ipv6.conf.gretap0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.ip6_vti0.stable_secret"
net.ipv6.conf.ip6_vti0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.ip6gre0.stable_secret"
net.ipv6.conf.ip6gre0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.ip6tnl0.stable_secret"
net.ipv6.conf.ip6tnl0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.ip_vti0.stable_secret"
net.ipv6.conf.ip_vti0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
net.ipv6.conf.lo.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.sit0.stable_secret"
net.ipv6.conf.sit0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.tap0.stable_secret"
net.ipv6.conf.tap0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.teql0.stable_secret"
net.ipv6.conf.teql0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.tunl0.stable_secret"
net.ipv6.conf.tunl0.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.veth848c6de.stable_secret"
net.ipv6.conf.veth848c6de.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.veth864d706.stable_secret"
net.ipv6.conf.veth864d706.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.vpn_se_dev.stable_secret"
net.ipv6.conf.vpn_se_dev.disable_ipv6 = 0
sysctl: reading key "net.ipv6.conf.vpn_soft_ether.stable_secret"
net.ipv6.conf.vpn_soft_ether.disable_ipv6 = 0

router advertisement

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
08:22:33.248340 IP6 (class 0xe0, hlim 255, next-header ICMPv6 (58) payload length: 64) fe80::1 > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 64
	hop limit 64, Flags [none], pref medium, router lifetime 300s, reachable time 0s, retrans time 0s
	  source link-address option (1), length 8 (1): 00:05:73:a0:0f:ff
	    0x0000:  0005 73a0 0fff
	  prefix info option (3), length 32 (4): 2a01:7e00::/64, Flags [onlink, auto], valid time 14400s, pref. time 3600s
	    0x0000:  40c0 0000 3840 0000 0e10 0000 0000 2a01
	    0x0010:  7e00 0000 0000 0000 0000 0000 0000
	  mtu option (5), length 8 (1):  1500
	    0x0000:  0000 0000 05dc
08:22:38.259682 IP6 (class 0xe0, hlim 255, next-header ICMPv6 (58) payload length: 64) fe80::1 > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 64

Ответ на: комментарий от Deleted

Спасибо за оперативный ответ. Забыл указать эту информацию. Мне кажется проблема не в iptables, так как префикс успешно применяется к scope link.

[11:48:12]***@***:~# ip6tables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT ipv6-icmp anywhere anywhere

Chain FORWARD (policy ACCEPT) target prot opt source destination

Chain OUTPUT (policy ACCEPT) target prot opt source destination

tirenka
() автор топика
Ответ на: комментарий от vel

Настройка сети указана в первом выделенном коде. Получаемый advertising от роутера указан, в последнем.

tirenka
() автор топика
Ответ на: комментарий от tirenka

ты про «iface eth0 inet6 auto»? Это виртуальная реальность :)

ты адрес из сетки 2a01:7e00::/64 получаешь? Если нет, то смотри «sysctl net.ipv6.conf.eth0»

Как минимум нужно autoconf accept_ra accept_ra_defrtr

«ip -6 a sh dev eth0» что говорит ?

vel ★★★★★
()
Ответ на: комментарий от vel

Почему-то настраивается только scope_link.

[11:23:34]***@***:~# ip -6 a sh dev eth0 3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000 inet6 fe80::f03c:91ff:fec8:883c/64 scope link valid_lft forever preferred_lft foreve

tirenka
() автор топика
Ответ на: комментарий от tirenka

Проверил, на другой линоде. Настройки идентичные но ipv6 получает корректный.

tirenka
() автор топика
Ответ на: комментарий от tirenka

Link local формируется локально на каждом интерфейсе, поэтому его наличие ничего не говорит о работе iptables. У тебя может быть несколько одинаковых link local на разных интерфейсах и это не будет проблемой.

В данном случае, пустой ip6tables не мешает. Только когда настроишь IPv6, то ip6tables не забудь настроить.

Я бы попробовал настроить вручную IPv6, чтобы убедиться, что сам протокол и сеть провайдера работает. У linode есть инструкция на этот случай https://www.linode.com/docs/networking/linux-static-ip-configuration/

После успешной проверки IPv6 на статике уже был изучал более подробно проблему с динамикой.

Deleted
()
Ответ на: комментарий от tirenka

Не все настройки применяются мгновенно.

Я отладку все эксперименты с ipv6 делал так: меняю настройку через sysctl, далее делаю

sysctl net.ipv6.conf.ethX.disable_ipv6 = 1
sleep 1
sysctl net.ipv6.conf.ethX.disable_ipv6 = 0
жду 2-5 секунд, а потом смотрю на «ip -6 a»

У меня скрипт который отдельно поднимал ipv6 на одном интерфейсе был простой

use_tempaddr = 0
accept_ra = 1
accept_ra_defrtr = 1
autoconf = 1
и уже после этого «disable_ipv6 = 0»

vel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.