Вы упомянули в комментарии, что вы используете 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
(Ответ Оливера Зальцбурга также верен - вы не должны указывать маску подсети при обращении к одному хосту.)