Привет! Я пытаюсь раскрутить виртуальные машины на публичных IPv6-адресах.
Когда я включаю net.ipv6.conf.all.forwarding = 1
на хосте, кажется, что он прерывает подключение ipv6
root@li166-218:~# ip -6 route show dev eth0
2600:3c01::/64 proto kernel metric 256 expires 2591994sec
fe80::/64 proto kernel metric 256
default via fe80::1 proto ra metric 1024 expires 84sec
root@li166-218:~# traceroute -6 google.com
traceroute to google.com (2607:f8b0:4010:801::1000), 30 hops max, 80 byte packets
1 2600:3c01::8678:acff:fe0d:79c1 (2600:3c01::8678:acff:fe0d:79c1) 0.860 ms 0.915 ms 1.005 ms
2 10gigabitethernet8-2.core3.fmt2.he.net (2001:470:1:3b8::1) 10.615 ms 10.608 ms 7.144 ms
3 10ge5-4.core1.pao1.he.net (2001:470:0:263::2) 6.539 ms 6.601 ms 6.653 ms
4 google-as15169.10gigabitethernet8-2.core1.pao1.he.net (2001:470:0:244::2) 0.937 ms 0.905 ms 0.882 ms
5 2001:4860::1:0:21 (2001:4860::1:0:21) 9.843 ms 9.812 ms 9.740 ms
6 2001:4860:0:1::3d5 (2001:4860:0:1::3d5) 1.974 ms 1.712 ms 1.979 ms
7 2607:f8b0:8000:24::2 (2607:f8b0:8000:24::2) 1.575 ms 2607:f8b0:8000:24::7 (2607:f8b0:8000:24::7) 1.637 ms 2607:f8b0:8000:24::1 (2607:f8b0:8000:24::1) 1.684 ms
root@li166-218:~# sysctl net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding = 1
root@li166-218:~# traceroute -6 google.com
traceroute to google.com (2607:f8b0:4010:801::1000), 30 hops max, 80 byte packets
connect: Network is unreachable
, когда net.ipv6.conf.all.forwarding = 1
я могу пропинговать хост с гостевой виртуальной машины. Однако у хоста больше нет общедоступного соединения ipv6.
Включение передачи IPv6 отключит автоконференцию IPv6. Обычно Вы хотите маршрутизаторы (устройства, которые передают) иметь статические адреса.
Это документируется в ПРАКТИЧЕСКОЕ РУКОВОДСТВО IPv6 Linux .
Вот соответствующая часть:
передача
Тип: БУЛЕВСКАЯ ПЕРЕМЕННАЯ
Значение по умолчанию: ЛОЖЬ, если глобальная передача отключена (значение по умолчанию), иначе TRUE
, Настраивает определенное для интерфейса поведение Хоста/Маршрутизатора.
Примечание: рекомендуется иметь ту же установку во всех интерфейсах; смешанные сценарии маршрутизатора/хоста являются довольно редкими.
ЛОЖЬ Значения: По умолчанию поведение Хоста принято. Это означает:
- флаг IsRouter не установлен в Соседних Рекламных объявлениях.
- Запросы маршрутизатора отправляются при необходимости.
- , Если accept_ra является TRUE (значение по умолчанию), примите Объявления маршрутизатора (и сделайте автоматическую конфигурацию).
- , Если accept_redirects является TRUE (значение по умолчанию), примите Перенаправления.
TRUE Значения: Если локальная передача включена, поведение Маршрутизатора принято. Это означает точно реверс от вышеупомянутого:
- флаг IsRouter установлен в Соседних Рекламных объявлениях.
- Запросы маршрутизатора не отправляются.
- Объявления маршрутизатора проигнорированы.
- Перенаправления проигнорированы.
установка By, передающая TRUE, Ваша машина будет вести себя как маршрутизатор. Или необходимо вынудить его принять Объявления маршрутизатора (RAs), или необходимо вручную настроить адреса и маршруты.
Для включения autoconf даже когда с помощью передающий использование это:
Тип accept_ra
: БУЛЕВСКАЯ ПЕРЕМЕННАЯ
Принимает Объявления маршрутизатора; автоматическое конфигурирование с помощью них.
Возможные значения:
- 0: не принимайте Объявления маршрутизатора.
- 1: Примите Объявления маршрутизатора, если передача отключена.
- 2: Отвергните передающее поведение. Примите Объявления маршрутизатора, даже если передача включена.
Да, это - булевская переменная со значениями 0, 1 и 2:)
Включение передачи вытрет маршрут по умолчанию. Можно добавить его назад с:
ip -6 route add default via <ipv6 gateway address> dev <interface>
, Как только это добавляется, возможность соединения IPv6 должна быть прекрасной снова.
В моем случае, я должен был найти адрес шлюза путем отслеживания вокруг в моем кабельном модеме через http://192.168.100.1
.