Как добавить петлевой интерфейс?

24

Я хочу добавить еще два петлевых интерфейса.

Я использовал следующую команду:

ifconfig lo: 127.0.0.2 netmask 255.0.0.0 up

и введите ifconfig, я вижу, что адрес обратной связи был добавлен.

Но если я хочу добавить еще один интерфейс ... (например, 127.0.0.3 ), предыдущий интерфейс ( 127.0.0.2 ) был перезаписан.

Кроме того, когда я смотрю в, /etc/network/interfacesя не вижу записи.

Как я могу добавить несколько петлевых интерфейсов навсегда?

левиафан
источник

Ответы:

30

Это зависит от того, что вы хотите loили lo:какой псевдоним интерфейса.

ifconfig lo:0 127.0.0.2 netmask 255.0.0.0 up
ifconfig lo:1 127.0.0.3 netmask 255.0.0.0 up
ifconfig lo:2 127.0.0.4 netmask 255.0.0.0 up

работает. Если вы хотите иметь больше IP находится на loиспользовании

route add -host 127.0.0.3 dev lo
route add -host 127.0.0.4 dev lo
route add -host 127.0.0.5 dev lo

тоже работает Если вы хотите удалить его, используйте:

route del -host 127.0.0.3
route del -host 127.0.0.4
route del -host 127.0.0.5

Смотрите также IP-псевдоним Linux Networking-HOWTO


источник
Работает. Благодарность! Но в чем разница между loи lo:и как удалить интерфейс из lo:?
Левиафан
1
никогда не видел lo:раньше. Удалить сifconfig lo: down
В чем разница между ifconfig lo: и route add -host ? Они делают то же самое?
hengxin
1
lo: <foo> - это новый интерфейс, который использует lo в качестве базы, он называется псевдонимом, и вы можете управлять им как обычным интерфейсом: настраивать, выключать и т. д. Он создает разделение между простым добавлением большего числа ips в интерфейс или создание нового интерфейса. Это полезно, когда вы не хотите, чтобы действия, примененные к одному ip, выполнялись также и к остальным ips в одном интерфейсе
Bruno Pereira
Использовал route add -host [dest] dev lo, и это вызвало неожиданное поведение. Он не работает сам по себе, без создания псевдонима интерфейса добавление маршрута не работает - не уверен, что он делает. Затем перенаправляет пакеты в шлюз по умолчанию или что происходит? Получите таймауты пинга с добавлением маршрута. Похоже, это может быть опасно.
Джон Доу
7

Если вы продолжаете использовать «ifconfig lo ...», вы не создаете новый интерфейс, вы перезаписываете предыдущий. Вы можете попробовать отредактировать ваш интерфейсный файл:

sudo vim /etc/network/interfaces

Моя выглядит так:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Таким образом, вы можете попробовать изменить его для создания новых интерфейсов:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto lo2
iface lo2 inet loopback
auto lo3

Затем перезапустите сеть или всю систему и попробуйте взаимодействовать с новыми интерфейсами с помощью команды "sudo ifconfig lo2 / lo3 и т. Д ..."

animaletdesequia
источник
Выглядит отлично, спасибо! Хотел бы выразить это, но у меня слишком мало репутации.
Левиафан
Каковы ips для вновь созданных lo2 и lo3? Кстати, что же число ( interfaces(5), ifup(8)и ifdown(8)) означает? Спасибо.
hengxin
Эти цифры являются ссылками на справочные страницы, но точно не знают, как они работают. Линии все равно прокомментированы. Что касается IP, вам нужно установить их с ifconfig или с адресом 127.0.0.2 и т. Д. Под каждым интерфейсом.
animaletdesequia
Если вам интересно, что означают цифры, бегите man man; числа указывают, в каком разделе руководства находится каждая справочная страница. Раздел 5 предназначен, например, для форматов файлов и соглашений, а раздел 8 предназначен для команд системного администрирования (которые обычно должны запускаться только пользователем root).
Парфянский выстрел
4
Я не думаю, что это на самом деле работает. Вы можете иметь только на «lo» устройство для каждого пространства имен в соответствии с драйвером / net / loopback.c. «Пустышка» может делать все, что вам нужно, «sudo ip link add name loop1 type dummy»
mcr
3

Чтобы добавить несколько петлевых интерфейсов постоянно, необходимо выполнить дополнительную проверку для фиктивного драйвера.

Фиктивный драйвер используется для создания нескольких петлевых устройств вместо
создания нескольких псевдонимов для одного устройства с подключением разных IP.

Эти строки добавляют еще одну петлю с именем loop1, loop2, loop3:

sudo ip link add name loop1 type dummy
sudo ip link add name loop2 type dummy
sudo ip link add name loop3 type dummy

Пожалуйста, убедитесь, что dummyмодуль ядра загружен перед запуском вышеуказанной команды:

sudo lsmod | grep dummy
Адам Ł.
источник
Привет и добро пожаловать в Ask Ubuntu! Можете ли вы отредактировать свой ответ, чтобы включить больше информации о том, как эта команда решит проблему ОП? Пожалуйста, смотрите Как ответить для дополнительных советов.
Каз Вулф
это добавляет фиктивный интерфейс, который работает аналогично, но не имеет флагов, которые есть у loинтерфейса
sjas
Kaz Wolfe - редактировать - решать. Пока иметь независимое устройство - это хорошее решение.
Адам Ł.