2

У меня проблема с настройкой IPv6-адреса в Ubuntu 10.04.Я отключил свой сетевой менеджер. Мой файл /etc /network /interface выглядит следующим образом:

iface eth0 inet6 static
pre-up modeprobe ipv6
address fe80::1
netmask 10
gateway fe80::2

Я настроил свой IP-адрес как fe80::1, но когда я до eth0, ifconfig показывает

inet6 addr:  fe80::a00:27ff:fe1e:5edf/64 Scope:Link

Почему он показывает другой IP-адрес?

Когда я бегу

ping6 fe80::a00:27ff:fe1e:5edf/64

Это скажет мне неизвестный хозяин. Зачем ?

2 ответа2

3

Вы упомянули в комментарии, что вы используете ifconfig для запуска интерфейса. В этом случае ваша проблема заключается в том, что ifconfig не использует файл interfaces (он только сообщает интерфейсу, что нужно начать прием пакетов). Этот файл конфигурации относится только к Debian/Ubuntu и читается только инструментами ifupdown ifup и ifdown . Таким образом, вы должны использовать:

ifup eth0

Даже в этом случае ваша конфигурация будет отклонена, поскольку синтаксис файла конфигурации использует « iface », а не « interface », для обозначения нового логического интерфейса. (См. Руководство interfaces (5) для полного описания синтаксиса.)

(Ваша pre-up линия также 1) ненужна: это делается автоматически, и 2) опечатка: это " modprobe ".)


fe80::a00:27ff:fe1e:5edf отображается не из-за какой-либо конфигурации, а потому, что IPv6 требует этого. Каждый интерфейс должен иметь локальный адрес канала на основе "идентификатора интерфейса" (его MAC-адрес); эти адреса автоматически добавляются ядром Linux.

(Помните, что интерфейс может иметь много адресов. Вы можете использовать как fe80::1 и fe80::a00:27ff:fe1e:5edf на одном интерфейсе, и он все равно будет работать.)

Также помните, что адреса fe80::/10 являются локальными ссылками - другими словами, они никогда не маршрутизируются, и настройка конфигурации gateway имеет смысла.

Это означает, что всякий раз, когда вы пытаетесь получить доступ к локальному адресу, вы должны вручную указать используемый интерфейс - это делается путем добавления индекса зоны к адресу. (В Linux индекс зоны совпадает с именем интерфейса.) Например, чтобы подключиться через eth0, вы должны добавить %eth0:

ping6 fe80::a00:27ff:fe1e:5edf%eth0

(Ответ Оливера Зальцбурга также верен - вы не должны указывать маску подсети при обращении к одному хосту.)

0

Я не думаю, что вы должны предоставить маску подсети для ping .

ping6 fe80::a00:27ff:fe1e:5edf

Все должно быть в порядке.

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