Мой вопрос очень простой, но я не нашел решения, вероятно, из-за отсутствия у меня знаний в области сетевых технологий.
У меня есть выделенный сервер, и я управляю им через IPMI удаленно. Недавно я попросил поддержки IPv6 у администратора, вот что я получил ответ
IP Range: 2604:881:39c::/48 has been statically routed to your server.
Я пытался назначить IP в этом блоке (2604:881:39c::2
) на мой сервер, то я обнаружил, что они не предоставили адрес шлюза. Тогда я спросил
Я: Могу я спросить, какой у шлюза ipv6 адрес?
Администратор: это статический маршрут без шлюза. Все IP-адреса направляются на ваш сервер.
Я пытался настроить его, но совершенно не знаю, какой путь правильный. Потому что я мало знаю об адресации IPv6 и о том, что здесь означает «СТАТИЧЕСКИЙ МАРШРУТ» в восходящем направлении. Пока что я выбираю адрес случайным образом 2604:881:39c::2
и установить 2604:881:39c::1
быть воротами. Вот:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eno1
UUID=6d049769-68a1-4631-83d4-46b0f3afdf59
DEVICE=eno1
ONBOOT=yes
IPADDR=XX.XXX.XX.XX
PREFIX=30
GATEWAY=XX.XXX.XX.XX
DNS1=8.8.8.8
IPV6_PRIVACY=no
ZONE=public
DNS2=2001:4860:4860::8888
IPV6ADDR=2604:881:39c::2/48
IPV6_DEFAULTGW=2604:881:39c::1
IPV6_PEERROUTES=no
Когда я делаю tracepath6
, У меня есть:
PING ipv6.google.com(dfw28s04-in-x0e.1e100.net (2607:f8b0:4000:815::200e)) 56 data bytes
From myhostname (2604:881:39c::2) icmp_seq=1 Destination unreachable: Address unreachable
From myhostname (2604:881:39c::2) icmp_seq=2 Destination unreachable: Address unreachable
From myhostname (2604:881:39c::2) icmp_seq=3 Destination unreachable: Address unreachable
From myhostname (2604:881:39c::2) icmp_seq=4 Destination unreachable: Address unreachable
From myhostname (2604:881:39c::2) icmp_seq=5 Destination unreachable: Address unreachable
From myhostname (2604:881:39c::2) icmp_seq=6 Destination unreachable: Address unreachable
From myhostname (2604:881:39c::2) icmp_seq=7 Destination unreachable: Address unreachable
From myhostname (2604:881:39c::2) icmp_seq=8 Destination unreachable: Address unreachable
Похоже, он успешно разрешил DNS, но не имел пути к глобальному Интернету. Также я пробовал ip -6 route add
но это не сработало.
Есть у кого-нибудь идеи по этому поводу? Я застрял.
Если сетевой администратор действительно отказывается дать вам адрес шлюза, вы можете просто пропинговать IPv6-адрес многоадресной рассылки всех маршрутизаторов, и он ответит. Тогда вы будете знать хотя бы один из его адресов.
Например:
[root@localhost ~]# ping6 -c 1 ff02::2%eno1
PING ff02::2%eno1(ff02::2%eno1) 56 data bytes
64 bytes from fe80::5054:ff:fefc:d4da%eno1: icmp_seq=1 ttl=64 time=0.265 ms
На моем VPS шлюз по умолчанию определяется как:
IPV6_DEFAULTGW="fe80::1%eth0"
В моей домашней сети это:
IPV6_DEFAULTGW="fe80::218:7dff:fe05:dd11%eth0"
fe80::/10
являются локальными адресами канала и основаны на MAC-адресе сетевого интерфейса шлюзового устройства. В случае с моим VPS они только что отказались от fe80::1
так как все виртуально.
Ответ Майкла Хэмптона кажется правильным, и я его поддержал. Если вы последуете его совету, вы должны вернуть fe80::*
адрес - установите его в качестве шлюза по умолчанию, после исправления %interface-name
в конце, и вам должно быть хорошо.
Префикс IPv6 / 48 - это ужасно большой блок адресов, который нужно назначить одному хосту. Однако я пока проигнорирую это и дам вам несколько предложений.
Попробуйте IPv6 autoconf. Одна из приятных особенностей IPv6 заключается в том, что, за исключением определенных случаев использования, вам не нужно определять ручные конфигурации. Вот пример конфигурации, которая включает autoconf на основе предоставленной вами конфигурации:
# IPv6 autoconf example
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_AUTOCONF=yes
IPV6_ADDR_GEN_MODE=eui64
NAME=eno1
UUID=6d049769-68a1-4631-83d4-46b0f3afdf59
DEVICE=eno1
ONBOOT=yes
IPADDR=XX.XXX.XX.XX
PREFIX=30
GATEWAY=XX.XXX.XX.XX
DNS1=8.8.8.8
IPV6_PRIVACY=no
ZONE=public
DNS2=2001:4860:4860::8888
Посмотрите, сможете ли вы определить адрес локального маршрутизатора, просмотрев таблицы соседей:
# ip -4 neighbor show
# ip -6 neighbor show
Вы должны увидеть IP и MAC-адрес вашего шлюза IPv4 в таблице соседей -4. Затем найдите тот же MAC-адрес в выходных данных таблицы соседей -6. С этим MAC может быть несколько адресов IPv6 - это нормально. Тот, который начинается с fe80::
- это локальный для канала адрес маршрутизатора, который отлично подходит для использования. В противном случае вы можете увидеть другой адрес, который находится в том же блоке, который вам был выделен, и вы можете использовать его в качестве шлюза IPv6 вместо своей статической конфигурации.