Вопрос Компьютер шлюза IPv6 - Как настроить маршрутизацию?


Я пытаюсь использовать виртуальную машину Linux в качестве интернет-шлюза IPv6 для другой виртуальной машины. У меня установлен сервер, для которого я получил префикс ipv6 2001: abcd: 1234: 5678 :: / 64 (Примечание. Я отредактировал префиксы по соображениям конфиденциальности)

устройство 1: Я установил интерфейс eth0 (WAN) с адресом 2001: abcd: 1234: 5678: ffff :: 1/120 Я установил интерфейс eth1 (LAN) с IP fd12: 3456: 7890 :: 1234

Я использовал следующие правила iptables:

-A FORWARD -o eth0 -i eth1 -s 2001:abcd:1234:5678:ffff::/120 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -o eth1 -i eth0 -d 2001:abcd:1234:5678:ffff::/120 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Параметр задан правильно через sysctl: net.ipv6.conf.all.forwarding = 1

Устройство может достигнуть интернет-штрафа IPv6.

устройство 2: У меня есть eth0 с IP 2001: abcd: 1234: 5678: ffff :: 2/128 и шлюз fd12: 3456: 7890 :: 1234

Я могу достичь как fd12: 3456: 7890 :: 1234 и 2001: abcd: 1234: 5678: ffff :: 1 штраф, но любые исходящие соединения с WAN зависают, как показано на рисунке 1 на устройстве:

tcp      6 118 SYN_SENT src=2001:abcd:1234:5678:ffff::2 dst=2a00:1450:400e:803::200e sport=43438 dport=80 [UNREPLIED] src=2a00:1450:400e:803::200e dst=2001:abcd:1234:5678:ffff::2 sport=80 dport=43438 mark=0 use=1

и IP-адрес устройства 2 2001: abcd: 1234: 5678: ffff :: 2 не разрешает интернет-доступ, что, вероятно, является причиной зависания.

Что я сделал неправильно в моей настройке? Как сделать второе устройство доступным через Интернет через первое устройство?


5
2018-01-08 19:10


происхождения




ответы:


Для каждой подсети требуется отдельный / 64.

Вы не можете просто поместить адрес из интерфейса WAN устройства 1 на устройство 2, которое находится на стороне локальной сети. Маршрутизатор WAN-стороны не будет знать, как связаться.

Вам понадобится вторая / 64, и маршрутизатор должен быть настроен так, чтобы он знал, что вторая подсеть может быть достигнута с помощью устройства 1 в качестве шлюза.

В зависимости от вашей сети лучшим решением для этого может быть DHCPv6-PD или статическая маршрутизация. Вы должны спросить своего сетевого администратора.


2
2018-01-08 19:57



Зачем вам нужен второй / 64? Какой смысл иметь другие 64 бита адресного пространства, если вы не можете создавать дополнительные подсети в своих битах? После некоторого тестирования это похоже на то, что я могу рекламировать IP-адрес устройства 2 на маршрутизаторе WAN - / sbin / ip -6 neigh add proxy 2001: abcd: 1234: 5678: ffff :: 2 dev eth0 Это считается плохой практикой? - Christina Korosec
Так работает IPv6: один / 64 на подсеть. Вы действительно можете играть в трюки с помощью прокси-серверов соседей, но в этом случае вам, вероятно, лучше превратить устройство 1 в мост. - Sander Steffann
@ChristinaKorosec, по дизайну /64 это наименьшее подсети, которая должна использоваться в обычных сетях IPv6 (исключения для соединений точка-точка). Если вы хотите несколько подсетей, вам нужно получить /60 или /56 от вашего интернет-провайдера и разделить его на /64 подсеть. - user4556274