Не удается получить доступ к ipv6, но интерфейс имеет адрес ipv6

Вопрос или проблема

У моего беспроводного интерфейса есть как ipv4, так и ipv6 адрес, но я могу пинговать только по ipv4. Похоже, что соседство ipv6 пустое. Есть ли способ востановить его? Или возможно, что ipv6 был отключен где-то в настройках сети?

R!fedora:/root
> ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: wlp0s20f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 48:68:4a:2b:fc:23 brd ff:ff:ff:ff:ff:ff
    inet 192.168.133.50/24 brd 192.168.133.255 scope global dynamic noprefixroute wlp0s20f3
       valid_lft 2614sec preferred_lft 2614sec
    inet6 fe80::72c4:6a4f:3b8a:6475/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
9: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1354 qdisc fq_codel state UNKNOWN group default qlen 3
    link/ppp 
    inet 192.168.253.28 peer 87.190.63.70/32 scope global ppp0
       valid_lft forever preferred_lft forever

R!fedora:/root
> ip -6 neigh

R!fedora:/root
> ip -4 neigh
192.168.133.1 dev wlp0s20f3 lladdr d8:0d:17:c0:0f:d3 REACHABLE 

R!fedora:/root
> ip -6 route show
fe80::/64 dev wlp0s20f3 proto kernel metric 1024 pref medium

R!fedora:/root
> sysctl net.ipv6.neigh.default
net.ipv6.neigh.default.anycast_delay = 100
net.ipv6.neigh.default.app_solicit = 0
net.ipv6.neigh.default.base_reachable_time_ms = 30000
net.ipv6.neigh.default.delay_first_probe_time = 5
net.ipv6.neigh.default.gc_interval = 30
net.ipv6.neigh.default.gc_stale_time = 60
net.ipv6.neigh.default.gc_thresh1 = 128
net.ipv6.neigh.default.gc_thresh2 = 512
net.ipv6.neigh.default.gc_thresh3 = 1024
net.ipv6.neigh.default.interval_probe_time_ms = 5000
net.ipv6.neigh.default.locktime = 0
net.ipv6.neigh.default.mcast_resolicit = 0
net.ipv6.neigh.default.mcast_solicit = 3
net.ipv6.neigh.default.proxy_delay = 80
net.ipv6.neigh.default.proxy_qlen = 64
net.ipv6.neigh.default.retrans_time_ms = 1000
net.ipv6.neigh.default.ucast_solicit = 3
net.ipv6.neigh.default.unres_qlen = 101
net.ipv6.neigh.default.unres_qlen_bytes = 212992

Вот попытка действительно получить доступ к сети ipv6:

R!fedora:/root
> ping -6 www.google.com
ping: connect: Сеть недоступна

R!fedora:/root
> ping -4 www.google.com
PING www.google.com (142.250.186.68) 56(84) байт данных.
64 байт от fra24s05-in-f4.1e100.net (142.250.186.68) : icmp_seq=1 ttl=116 время=27.9 ms
64 байта от fra24s05-in-f4.1e100.net (142.250.186.68) : icmp_seq=2 ttl=116 время=38.8 ms
^C
--- статистика ping www.google.com ---
2 пакета передано, 2 получено, 0% потеря пакетов, время 1002ms
rtt min/avg/max/mdev = 27.897/33.339/38.782/5.442 ms

Ответ или решение

Проблема с доступом к IPv6 при наличии IPv6-адреса на интерфейсе

Ваша ситуация, когда интерфейс имеет назначенный IPv6-адрес, но отсутствует доступ к сети IPv6, может быть вызвана несколькими факторами. Рассмотрим наиболее вероятные причины и шаги по их устранению.

1. Проверка состояния IPv6 на интерфейсе

На начальном этапе обратите внимание на вывод команды ip address show, который показывает, что интерфейс wlp0s20f3 имеет назначенный адрес IPv6 fe80::72c4:6a4f:3b8a:6475/64. Это адрес ссылки, который может использоваться только для связи с соседними узлами в локальной сети. Для глобального доступа нужны глобальные IPv6-адреса.

Что делать: Проверьте, есть ли у вас глобальный IPv6-адрес на этом интерфейсе. Если его нет, вы можете назначить его вручную или настроить автоматическое получение через DHCPv6 или SLAAC (Stateless Address Autoconfiguration).

2. Отсутствие маршрутов IPv6

Вы также отметили, что команда ip -6 route show выводит fe80::/64 dev wlp0s20f3. Это маршрут к локальной сети, но отсутствует маршрут по умолчанию для глобальных адресов IPv6. Это может быть причиной того, что вы не можете пинговать внешний IPv6-адрес (например, www.google.com).

Что делать: Проверьте, установлен ли шлюз по умолчанию для IPv6. Для этого вы можете использовать следующую команду:

ip -6 route add default via <ваш_шлюз>

Замените <ваш_шлюз> на адрес вашего IPv6-шлюза.

3. Проверка на предмет фильтрации IPv6

Существует вероятность, что IPv6-трафик может быть заблокирован брандмауэром на вашем компьютере или в сети. Для проверки работы брандмауэра на вашем устройстве выполните:

sudo ip6tables -L

Если вы используете firewalld, можно проверить статус следующей командой:

sudo firewall-cmd --state

Что делать: Убедитесь, что импортированы правила, которые не блокируют IPv6-трафик. Если они обнаружены, вы можете временно отключить брандмауэр для тестирования, используя:

sudo systemctl stop firewalld

4. Проверка конфигурации DHCPv6

Если на вашем маршрутизаторе включен DHCPv6, он должен предоставлять клиенту глобальный IPv6-адрес. Данный адрес может быть доступен только при корректной конфигурации. Убедитесь, что DHCPv6 правильно установлен и что настройки соответствуют вашей сети.

Что делать: Проверьте конфигурацию DHCPv6 на вашем маршрутизаторе и убедитесь, что клиент получает IPv6-адрес.

5. Обновление системы и драйверов

Иногда проблемы с сетевым оборудованием могут быть связаны с устаревшими драйверами. Следует убедиться, что все обновления системы установлены, в том числе драйверы сетевого интерфейса.

Что делать: Обновите систему с помощью:

sudo dnf update

Заключение

Решение проблемы с доступом к IPv6 подразумевает проверку и устранение потенциальных проблем на уровне конфигурации сети, маршрутизации и фильтрации трафика. Начните с проверки наличия глобального IPv6-адреса, настройки маршрутов и фильтров, а затем экспериментируйте с настройками DHCPv6 и обновлениями системы. Если проблема сохраняется, возможно, стоит обратиться к администратору вашей сети для получения дополнительной информации.

Оцените материал
Добавить комментарий

Капча загружается...