Вопрос или проблема
Я пытаюсь установить как статический IPv4-адрес, так и статический IPv6-адрес на домашнем сервере Debian 11 (на самом деле это просто ПК).
Вот мой файл /etc/network/interfaces:
# Этот файл описывает доступные на вашей системе сетевые интерфейсы
# и как их активировать. Для получения дополнительной информации смотрите interfaces(5).
source /etc/network/interfaces.d/*
# Локальный сетевой интерфейс
auto lo
iface lo inet loopback
# Основной сетевой интерфейс
auto eno1
iface eno1 inet static
address 192.168.1.149
netmask 24
gateway 192.168.1.1
iface eno1 inet6 static
address 2a01:xxxx:xxxx:xxxx::1234
netmask 56
gateway fe80::712a:e39b:d35a:3ea4
После перезапуска сетевой службы с помощью `sudo service networking restart`
Вот результат (именно то, что я хочу):
15 сен 00:07:56 omen-debian systemd[1]: Запуск поднятия сетевых интерфейсов...
15 сен 00:08:07 omen-debian ifup[785]: Ожидание DAD... Время вышло
15 сен 00:08:07 omen-debian ifup[637]: ifup: не удалось поднять eno1
15 сен 00:08:07 omen-debian systemd[1]: networking.service: Основной процесс завершился, код=выход, статус=1/НЕУДАЧА
15 сен 00:08:07 omen-debian systemd[1]: networking.service: Не удалось завершить с результатом 'exit-code'.
15 сен 00:08:07 omen-debian systemd[1]: Не удалось запустить поднятие сетевых интерфейсов.
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether c8:d3:ff:e6:b5:59 brd ff:ff:ff:ff:ff:ff
altname enp5s0
inet 192.168.1.149/24 brd 192.168.1.255 scope global eno1
valid_lft forever preferred_lft forever
inet6 2a01:xxxx:xxxx:xxxx::1234/56 scope global
valid_lft forever preferred_lft forever
inet6 fe80::cad3:ffff:fee6:b559/64 scope link
valid_lft forever preferred_lft forever
Как вы видите, моя сетевая служба выдает ошибку.
Что я делаю не так?
это ответ @asktyagi, но я добавил его сюда, чтобы быть понятным для других
На Debian 11, после загрузки, systemctl status networking.service
показывает ошибку при добавлении IPv6-адреса к интерфейсу, который имел IPv4-адрес.
Даже если он был настроен в /etc/network/interfaces
, этот интерфейс не имел адреса IPv6
30 янв 14:07:48 debian11 systemd[1]: Запуск поднятия сетевых интерфейсов...
30 янв 14:07:48 debian11 ifup[543]: RTNETLINK отвечает: Доступ запрещен
30 янв 14:07:48 debian11 ifup[478]: ifup: не удалось поднять ens192
поэтому ошибка RTNETLINK отвечает: Доступ запрещен
никакой из этих вариантов не сработал
ip -6 addr add IPv6/64 dev ens192 metric 1
и выдало доступ запрещен
затем
route -A inet6 add IPv6/64 dev ens192
также выдало доступ запрещен
изменение /etc/sysctl.conf
с этими параметрами не решило ссылку
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.default.autoconf=0
net.ipv6.conf.default.accept_ra=0
# и
net.ipv6.conf.all.disable_ipv6=1
или изменение порядка конфигурации тоже не помогло ссылка
сработало
net.ipv6.conf.<имя интерфейса>.accept_dad = 0
и перезагрузка.
После перезагрузки не было ошибок в сети, и IPv6 был добавлен к интерфейсу.
Мне интересно, существует ли эта проблема на debian9?
Точно так же я настраиваю IPv4 и IPv6 адреса и маршруты в /etc/network/interfaces
.
Конфигурация eth1 выглядит следующим образом:
auto eth1
iface eth1 inet static
address 192.168.0.1/24
up ip route add default via 192.168.0.254 dev eth1 table 101
up ip rule add pref 20000 from 192.168.0.1/32 lookup 101
auto eth1
iface eth1 inet6 static
address fdbd::1234/64
up ip -6 route add default via fdbd::1 dev eth1 table 101
up ip -6 rule add pref 20000 from fdbd::1234/128 lookup 101
down ip -6 route del default via fdbd::1 dev eth1 table 101
down ip -6 rule del pref 20000 from fdbd::1234/128 lookup 101
После перезагрузки я обнаружил, что IPv4 нормально работает, но IPv6 имел только настроенный адрес и не был настроен ни один маршрут IPv6.
Ошибка такая же
Ожидание DAD... Время вышло
ifup: не удалось поднять eth1
Ответ или решение
Ошибка при перезапуске сетевого сервиса в Debian 11: Возможные причины и решения
При попытке настроить как статический IPv4, так и статический IPv6 адрес на вашем Debian 11 сервере, вы столкнулись с ошибкой при перезапуске сетевого сервиса, как показывает вывод:
sept. 15 00:08:07 omen-debian ifup[785]: Waiting for DAD... Timed out
sept. 15 00:08:07 omen-debian ifup[637]: ifup: failed to bring up eno1
Эта ошибка указывает на проблемы с процессом DAD (Duplicate Address Detection) для IPv6, который завершается тайм-аутом. Давайте рассмотрим причины проблемы и возможные способы ее решения.
Причины ошибки
-
Тайм-аут DAD: DAD — это механизм, предназначенный для предотвращения конфликтов адресов в IPv6. Если ваша система не может подтвердить, что прилагаемый адрес не используется другими устройствами в сети, процесс блокируется, что приводит к тайм-ауту.
-
Настройки sysctl: Ваша конфигурация может включать настройки, которые влияют на работу DAD. Если параметры, такие как
accept_dad
установлены в 1 (по умолчанию), система будет ожидать ответа от других узлов в сети. -
Отсутствие шифрования или фильтрации пакетов: Если используете сетевые фильтры или фаерволы, они могут блокировать пакеты, необходимые для проверки DAD.
-
Конфликты с другими сетевыми устройствами: Возможно, другой компьютер в сети использует тот же IPv6 адрес, что и ваш.
Решения
Чтобы решить проблему, вы можете предпринять следующие шаги:
-
Отключите DAD для интерфейса:
Если вы уверены, что адрес, который вы хотите использовать, уникален и не конфликтует с другими в сети, вы можете отключить DAD для вашего интерфейса с помощью команды:sysctl -w net.ipv6.conf.eno1.accept_dad=0
После этого попробуйте перезапустить сетевой сервис:
sudo systemctl restart networking
-
Проверка конфигурации сети:
Убедитесь, что в вашей конфигурации/etc/network/interfaces
весь синтаксис и параметры заданы корректно. Также убедитесь, что вы используете правильное имя интерфейса (в данном случаеeno1
):iface eno1 inet6 static address 2a01:xxxx:xxxx:xxxx::1234 netmask 56 gateway fe80::712a:e39b:d35a:3ea4
-
Анализ сетевой активности:
Используйте инструменты, такие какping
иtcpdump
, чтобы проверить, отправляются ли запросы DAD и are ли они получают ответы. Например, можно выполнить:ping6 fe80::1%eno1
Это поможет вам проверить доступность других устройств в вашей сети.
-
Перезагрузка машины:
Иногда простая перезагрузка может помочь восстановить сетевые настройки и устранить временные конфликты. -
Обновление сетевых пакетов:
Возможно, проблема связана с конкретной версией сетевого пакета. Убедитесь, что ваша система обновлена:sudo apt update sudo apt upgrade
Вывод
Ошибки при перезапуске сетевых сервисов могут возникать по многим причинам, однако в большинстве случаев соответствующая конфигурация и диагностика позволяют находить и устранять проблемы. Убедитесь, что ваши настройки соответствуют требованиям сети и что на других устройствах в вашей локальной сети нет конфликтующих адресов. Если проблема сохраняется, возможно, стоит обратиться за поддержкой в сообщество Debian или ознакомиться с официальной документацией.