Назад | Перейти на главную страницу

Как настроить уже статически маршрутизированный блок IPv6 на CentOS 7

Мой вопрос очень простой, но я не нашел решения, вероятно, из-за отсутствия у меня знаний в области сетевых технологий.

У меня есть выделенный сервер, и я управляю им через 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 - это ужасно большой блок адресов, который нужно назначить одному хосту. Однако я пока проигнорирую это и дам вам несколько предложений.

  1. Попробуйте 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
    
  2. Посмотрите, сможете ли вы определить адрес локального маршрутизатора, просмотрев таблицы соседей:

    # ip -4 neighbor show
    # ip -6 neighbor show
    

    Вы должны увидеть IP и MAC-адрес вашего шлюза IPv4 в таблице соседей -4. Затем найдите тот же MAC-адрес в выходных данных таблицы соседей -6. С этим MAC может быть несколько адресов IPv6 - это нормально. Тот, который начинается с fe80:: - это локальный для канала адрес маршрутизатора, который отлично подходит для использования. В противном случае вы можете увидеть другой адрес, который находится в том же блоке, который вам был выделен, и вы можете использовать его в качестве шлюза IPv6 вместо своей статической конфигурации.