все мои устройства имеют адреса IPv4, IPv6 LL, IPv6 ULA и IPv6 GUA, такие как:

3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 88:b1:11:ed:21:c8 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.22/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp1s0
    valid_lft 863780sec preferred_lft 863780sec
inet6 fd00::xxxx:xxxx:xxxx:xxxx/64 scope global dynamic noprefixroute 
   valid_lft 6985sec preferred_lft 3385sec
inet6 2003:d4:4f1f:9500:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic noprefixroute 
   valid_lft 6985sec preferred_lft 1585sec
inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link noprefixroute 
   valid_lft forever preferred_lft forever

Некоторые более сложные устройства (поставщики услуг) имеют брандмауэр iptables, установленный с:

-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Когда я сейчас пытаюсь связаться с устройством a с устройства b через DNS-имя, иногда используется GUA IPv6, а иногда ULA. Мои брандмауэры разрешают некоторые порты (например, SSH) только для соединений из подсети ULA. Поэтому я хочу принудительно использовать ULA в своей подсети.

Это правильный путь? Как я могу решить эту проблему, не отключая мои брандмауэры и не вводя IP-адрес назначения?

Спасибо

EDIT 20181118: RFC 6724 гласит: По умолчанию глобальные адреса IPv6 предпочтительнее, чем назначения ULA, поскольку произвольный ULA не всегда доступен (благодаря Рону Мопину). Так что я, очевидно, что-то не так сделал со своей структурой сети. Есть ли другой способ фильтрации трафика в моей подсети с помощью iptables? Глобальный префикс IPv6 является динамическим, поэтому я не могу использовать его в своих статических iptables для определения, поступают ли пакеты из моей подсети.

1 ответ1

2

Попробуйте отредактировать /etc/gai.conf и дать вашему ULA приоритет над GUA.

Если это не помогает, и при условии, что DNS возвращает все адреса маршрутов в случайном порядке, можно обойти это путем добавления новой записи адреса для каждой машины (возможно, в другом поддомене), которая возвращает только адрес ULA.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .