Как мне обновить мой файл / etc / network / interfaces, чтобы на коробке находился ТОЛЬКО самоназначенный адрес IPv6?

8

Я прошу прощения за этот вопиющий вопрос новичка, но я хотел бы сделать это "правильным способом", а не просто копаться, пока это не сработает, и документация, которая у меня есть, кажется, не касается этого случая.

В настоящее время в Debian Linux, с которым я работаю, есть следующий файл / etc / network / interfaces:

auto lo
iface lo inet loopback
auto bond0
iface bond0 inet dhcp
pre-up modprobe bonding mode=active-backup miimon=100 primary=eth0
pre-up ip link set bond0 up
pre-up /sbin/ifenslave bond0 eth0
pre-up /sbin/ifenslave bond0 eth1

Вышеописанное работает нормально, и в основном делает то, что я хочу - при загрузке появляется окно, и два гнезда Ethernet используются для переключения при отказе / резервирования (т. Е. Устройство использует первое гнездо для связи, если оно работает, в противном случае оно использует второй домкрат).

Однако для моих целей я не хочу использовать IPv4 или DHCP. Я хотел бы, чтобы ящик выдавал bond0, используя ТОЛЬКО самоназначенный адрес IPv6 (то есть fe80 :: what: it: is) и никаких других IP-адресов (ну ... loopback - это нормально). Как правильно это указать? Должен ли я изменить "iface bond0 inet dhcp" на "iface bond0 inet6"? Удалить эту строку полностью? Что-то другое? В идеале я хотел бы иметь возможность использовать один и тот же файл на нескольких полях, не изменяя его для каждого, кстати.

Джереми Фризнер
источник

Ответы:

5

У меня нет опыта работы с вашим конкретным устройством соединения, но я опробовал следующий тест на виртуальной машине Debian Lenny с одним NIC ( eth0). В /etc/network/interfaces:

auto eth0
iface eth0 inet manual
    up /sbin/ifconfig eth0 0.0.0.0

После воспитания eth0вот что я получаю /sbin/ifconfig eth0:

eth0       Link encap:Ethernet  HWaddr 08:00:27:15:8e:d7
           inet6 addr: fe80::a00:27ff:fe15:8ed7/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           ...

Таким образом, у меня есть локальный адрес IPv6 Link (полученный из MAC-адреса), а адрес IPv4 отсутствует. Я могу подключиться к ping6другой машине в моей локальной сети по ее локальному адресу, и наоборот, поэтому интерфейс работает.

Итак, подведем итог: попробуйте установить ifaceстроку для вашего bond0интерфейса:

iface bond0 inet manual

и добавьте эту строку в конец раздела конфигурации:

up /sbin/ifconfig bond0 0.0.0.0

Я понятия не имею, является ли это "правильным способом" сделать это, но это работает для моего упрощенного случая.

Стивен Понедельник
источник
Спасибо, похоже, это помогло (я, конечно, заменил bond0 на eth0). :) Кажется, что строка "up / sbin / ifconfig bond0 0.0.0.0" не нужна (я, кажется, получаю желаемый результат без него). Есть ли тонкая причина иметь это? Что это значит для интерфейса на неверный адрес 0.0.0.0 в любом случае?
Джереми Фризнер
Рад, что это сработало для вас. Возможно, вам не нужна эта up ... 0.0.0.0строка, потому что ваш раздел конфигурации для bond0уже был не пустым. В моем тесте мне нужно было что-то поставить после ifaceстроки, потому что иначе ifup eth0молча не получилось бы вывести eth0. Установка IPv4-адреса на 0.0.0.0 - это то же самое, что и удаление адреса, что в данном случае является желаемым эффектом.
Стивен Понедельник,
4

Вы действительно не хотите выполнять настройку связывания вручную ... вместо этого используйте доступные параметры конфигурации привязки:

iface bond0 inet6 manual
    slaves eth0 eth1
    bond_mode active_backup
    bond_miimon 100
    bond_primary eth0

manualНа ifaceсредства линии , что никакой явной конфигурации IP / IPv6 уровня Атрибуты интерфейса будут настроены.

romble
источник