Debian ifup не работает

Обновлено: 05.07.2024

Debian 9 Stretch: новые возможности, проблемы, пути их решения

Debian 9 Stretch: новые возможности, проблемы, пути их решения

когда появится официальное можно откатится назад


libcppnetlib-dev

можно (если очень нужно) взять с Jessie или Ubuntu YY

А вас можно попросить отписать в ЛС - когда реммина выйдет?
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

для меня очень удобно свои 20+ Linux сервера управлять с одного интерфейса который сидит в Tray, ну и RDC и VNC там же дополнительные удобства

а что можно вместо Remmina на Debian 9?

на MacOS пользовался iTerm2, Microsoft RDC

Remmina — штука удобная, но для управления linux-серверами есть куда более подходящие вещи, например ssh, pssh, salt, ansible и т. п.
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

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


вот в jessie никому не мешала и работала как часы.
Я с помощью нее в 1С хожу.
Сейчас вот как выкручиваться?
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

дело вкуса и удобства
все прячется под одной иконой в Tray, там же RDC и VNC

ну и как пользоваться RDP, KRDC совсем странный?

Не знаю, сам при необходимости пользовал remmina. Сейчас необходимости, к счастью, нет, появится — буду осваивать freerdp, наверное (если к тому времени в бекпорты свежую версию не зальют; да если хотя бы в sid зальют — можно самому пересобрать).
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

Изображение

Проверено на свежеустановленной Debian GNU/Linux 9.1 AMD64, подключение прошло удачно


Можно ещё вот таким скриптом. Здесь скачиваются файлы для версии 1.1.2 AMD64 . Далее ставятся зависимости через apt install -f

Всем привет.На сервере debian не работает ifdown ifup ifconfig,reboot пишет команда не найдена,когда подключаюсь на этот сервер по ssh команда выполняется(ifdown) но почему-то интерфейс продолжает работать и пишет что он не сконфигурирован.

Для начала,почему некоторые команды работают только через ssh?

1) Начинать надо с того, что ты хочешь сделать?

2) Все команды, которые ты вводишь, давно уже deprecated. Забудь о них навсегда.

Вместо ifdownиспользуй ip link set down dev vlan100 и т.д., короче, читай про iproute2.

Для начала,почему некоторые команды работают только через ssh?

ifdown vlan100
ifdown: interface vlan100 not configured

Вместо ifdownиспользуй ip link set down dev vlan100 и т.д., короче, читай про iproute2.

ip link delete vlan100 Сами почитайте про iproute2

anc ★★★★★ ( 29.08.19 18:06:45 )
Последнее исправление: anc 29.08.19 18:07:11 (всего исправлений: 1)

apt install net-tools systemd-sysv

не через ssh,это сидя за пк открыв терминал.

пару дней назад там стоял debian 9,я добавлял новый интерфейс в interfaces,также стоял пакет vlan,после этого я поднимал интерфейс через ifup vlan130 и всё работало.Обновился до десятки,теперь так не проканывает а нужно добавить ещё один интерфейс,вот сижу голову ломаю.

если разные подсети gateway не ненужно для каждой прописывать?Как правильно?

не через ssh,это сидя за пк открыв терминал.

Ну вот, уже больше подробностей. Теперь добавьте про пользователя. Оба варианта под root выполнялось? Или все-таки были нюансы? Ой чую что были.

пару дней назад там стоял debian 9,я добавлял новый интерфейс в interfaces,также стоял пакет vlan,после этого я поднимал интерфейс через ifup vlan130 и всё работало.

Работало только в части того что интерфейс создавался. Но вы никогда не обращали внимание на ругань при выполнении команды ifup vlanNNN и никогда не пробовали выполнять ifdown vlanNNN. Предупреждая ваши возражения, я не поленился на тестовой deb9 посмотрел на эту ругань с gateway. Все так же как у вас.
Абстрагируясь от конкретного дистра, вы добавляя эти gateway чисто логически чего добиться хотели?

Сорри тут не помогу. Пока нет необходимости в таком обновлении.

если разные подсети gateway не ненужно для каждой прописывать?

Параметр gateway только добавляет defgw. А вот для варианта когда вы хотите что бы пакет из конкретной сети шел определенным маршрутом то это уже, как выше писал анон, к iproute2 и выходит за рамки описанного в топике.

Спасибо.Удалил ненужные gateway,ifup ifdown начали работать,сервис networking также перезагружается. Подскажите как правильно сейчас создать интерфейс vlan?


Вам может потребоваться выполнить эти команды в соответствии с вашими требованиями.

Я могу привести несколько примеров, где вам это понадобится.

При добавлении нового сетевого интерфейса или при создании нового виртуального сетевого интерфейса из исходного физического интерфейса.

вам может понадобиться отослать эти команды, чтобы вызвать новый интерфейс.

Кроме того, если вы внесли какие-либо изменения или если они не работают, вам нужно выполнить одну из следующих команд, чтобы применить их.

Это можно сделать разными способами, и мы хотели бы добавить лучшие пять методов, которые мы использовали в статье.

Это можно сделать, используя следующие пять методов.

Приведенные ниже выходные данные показывают информацию о доступной сетевой карте (NIC) в моей системе Linux.

1) Как подключить и отключить сетевой интерфейс в Linux с помощью команды ifconfig?

Команда ifconfig используется для настройки сетевого интерфейса.

Он используется во время загрузки для настройки интерфейсов по мере необходимости.

Он предоставляет много информации о NIC.

Мы можем использовать команду ifconfig, когда нам нужно внести какие-либо изменения в сетевую карту.

Общий синтаксис для ifconfig:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

Запишите его, вы должны ввести имя вашего интерфейса вместо нашего варианта.

Да действительно, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

2) Как включить и отключить сетевой интерфейс в Linux с помощью команды ifdown / up?

Примечание. Она не работает с новым интерфейсным именем устройства, таким как enpXXX.

Общий синтаксис для ifdown / ifup:

Выполните следующую команду, чтобы отключить интерфейс eth1 в Linux.

Выполните следующую команду, чтобы включить интерфейс eth1 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

ifup и ifdown не поддерживают последние имена интерфейсных устройств enpXXX.

3) Как вывести из строя или поднять сетевой интерфейс в Linux с помощью команды ip?

Команда ip используется для управления картой сетевого интерфейса (NIC).

Это замена старой и устаревшей команды ifconfig в современных системах Linux.

Она похожа на команду ifconfig, но имеет много мощных функций, которые недоступны в команде ifconfig.

Общий синтаксис для IP:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

Да, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

4) Как включить и отключить сетевой интерфейс в Linux с помощью команды nmcli?

Его можно использовать в качестве замены для nm-applet или других графических клиентов. nmcli используется для создания, отображения, редактирования, удаления, активации и деактивации сети.

подключения, а также контролировать и отображать состояние сетевого устройства.

Выполните следующую команду, чтобы определить имя интерфейса, потому что команда nmcli выполняет большую часть задачи, используя имя профиля вместо имени устройства.

Общий синтаксис для IP:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

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

Да, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux. Вы должны дать имя профиля вместо имени устройства, чтобы включить его.

Да, данный интерфейс работает сейчас согласно следующему выводу.

5) Как вывести из строя сетевой интерфейс в Linux с помощью команды nmtui?

При запуске nmtui пользователю предлагается выбрать действие для выполнения, если оно не было указано в качестве первого аргумента.

Запустите следующую команду, чтобы запустить интерфейс nmtui.

Выберите «Подключится» и нажмите «ОК».

Выберите интерфейс, который хотите отключить, затем нажмите кнопку «отключить».

В дистрибутиве Debian Linux 9 очень странно работает сеть. Такое впечатление, что в него воткнули несколько несовместимых между собой программ конфигурации сети, и предложили пользователю самим разбираться как всю эту дичь настраивать.

Что нужно сделать, если перестала настраиваться сеть

Первым делом надо сказать, что если сеть не удается настроить, или если сеть в какой-то момент начинает вести себя странно, а проверенные команды не дают желаемого результата, то значит пришло время, как мнимум, отказаться от Network Manager и от wicd. Почему это необходимо сделать? Вот пример.

Работает демон wicd. Система рапортует, что интерфейс enp5s0 поднят (находится в состоянии UP):

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 1c:6f:65:96:54:bc brd ff:ff:ff:ff:ff:ff

inet 192.168.0.95/24 scope global enp5s0

valid_lft forever preferred_lft forever

Если потушить интерфейс:

. и снова проверить статус интерфейса, то ничего не измениться:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 1c:6f:65:96:54:bc brd ff:ff:ff:ff:ff:ff

inet 192.168.0.95/24 scope global enp5s0

valid_lft forever preferred_lft forever

Если же отключить wicd, то вышеприведенные команды начнут работать правильно. Отключить работу wicd можно такими командами:

В стандартной поставке, обычно, wicd идет по-умолчанию, и обычно он начинает тупить когда в сети, к которой подключен компьютер, отрубается сервер шлюза. После восстановления работы шлюза, сеть на Debian 9 не восстановится, и если не предпринять никаких ухищрений, поднять ее будет невозможно: спасет только перезагрузка.

Далее в тексте предполагается, что Network Manager и wicd отключены.

Проблемы совместимости утилит настройки сети

Для конфигурирования сети ранее использовались такие системные утилиты как ifconfig , route , ifup , ifdown . Но с некоторых пор появилась утилита ip , которая может заменить все вышеперечисленные программы. И к сожалению, в Debian 9 эти утилиты не очень то дружат друг с другом и сетевой подсистемой ядра Linux. В чем это выражается? Например в том, что утилиты ifup и ifdown не могут управлять поднятием и отключением сетевых интерфейсов.

Вот, к примеру, есть компьютер с одной сетевой картой. Интерфейс enp5s0 на ней не поднят:

enp5s0: flags=4098<BROADCAST,MULTICAST> mtu 1500

inet 192.168.0.95 netmask 255.255.255.0 broadcast 0.0.0.0

ether 1c:6f:65:96:54:bc txqueuelen 1000 (Ethernet)

RX packets 246102 bytes 226683039 (216.1 MiB)

RX errors 0 dropped 528 overruns 0 frame 0

TX packets 126214 bytes 15161252 (14.4 MiB)

TX errors 0 dropped 0 overruns 0 carrier 9 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

loop txqueuelen 1 (Local Loopback)

RX packets 3320 bytes 1187321 (1.1 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 3320 bytes 1187321 (1.1 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

И поднять его не получится:

RTNETLINK answers: File exists

ifup: failed to bring up enp5s0

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

ifdown: interface enp5s0 not configured

А если попробовать сделать то же самое, но через утилиту ip ? Тогда все будет работать:

Проверка состояния интерфейса enp5s0 (видно, что интерфейс поднят):

2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

link/ether 1c:6f:65:96:54:bc brd ff:ff:ff:ff:ff:ff

И снова проверка состяния (видно, что интерфейс потушен):

2: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000

link/ether 1c:6f:65:96:54:bc brd ff:ff:ff:ff:ff:ff

Проблемы в сетевом модуле systemd

Чтобы принять новые настройки сети, обычно необходимо перезапустить сетевой демон networking . В Debian 9 это можно сделать двумя путями: по-старинке через утилиту service , и в новом стиле через утилиту systemctl :

Утилита service будет, на самом деле, вызывать методы управления сервисами systemd , как это делает утилита systemctl . Так что команды равноправны. Но все-таки лучше использовать более новый systemctl .

Однако, если сеть предприятия "мигнула", и на машине с Debian 9 сеть отвалилась, то поднять ее через действие restart модуля networking не получится. Совершенно неясно, как поднимается сетевой интерфейс и конфигурируется сеть во время загрузки Debian Linux 9, но ручная попытка перезапустить сетевой сервис будет оканчиваться ошибкой:

Job for networking.service failed because the control process exited with error code.

See "systemctl status networking.service" and "journalctl -xe" for details.

● networking.service - Raise network interfaces

Loaded: loaded ( /lib/systemd/system/networking.service ; enabled; vendor preset: enabled)

Active: failed (Result: exit-code) since Thu 2020-12-17 12:02:01 MSK; 9s ago

Process: 19390 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)

Process: 19385 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --

Main PID: 19390 (code=exited, status=1/FAILURE)

дек 17 12:02:01 surfinux systemd[1]: Starting Raise network interfaces.

дек 17 12:02:01 surfinux ifup[19390]: RTNETLINK answers: File exists

дек 17 12:02:01 surfinux ifup[19390]: ifup: failed to bring up enp5s0

дек 17 12:02:01 surfinux systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE

дек 17 12:02:01 surfinux systemd[1]: Failed to start Raise network interfaces.

дек 17 12:02:01 surfinux systemd[1]: networking.service: Unit entered failed state.

дек 17 12:02:01 surfinux systemd[1]: networking.service: Failed with result 'exit-code'.

И здесь видно, что для поднятия интерфейса, внутри модуля networking используется утилита ifup , которая, как было выяснено ранее, в некоторых условиях не работает. И если заглянуть в файл с кодом модуля /lib/systemd/system/networking.service , то можно увидеть следующие команды:

ExecStart=/sbin/ifup -a --read-environment

ExecStop=/sbin/ifdown -a --read-environment --exclude=lo

Тут и проблемный ifup , и ifdown . А если копнуть еще глубже, то и недокументированная опция --read-environment . Об этой опции известно немного, но предполагается, что это "хак", который делают майнтейнеры Debian, чтобы сделать поддержку сети. По сути, с этой опцией, утилиты ifup , и ifdown берут свои настройки из переменных окружения VERBOSE , CONFIGURE_INTERFACES и EXCLUDE_INTERFACES . Подробнее можно прочитать тут:

В общем, по-хорошему, нужно заменить опции с командами ifup / ifdown на опции с командой ip . Команда старта ExecStart должна поднимать все сетевые интерфейсы в системе. Команда остановки ExecStop должна отключать все интерфейсы в системе, за исключением loopback.

Однако, как выяснилось на практике, команды ifup / ifdown делают несколько больше, чем просто поднятие/отключение сетевого интерфейса. Они выполняют какую-то работу по конфигурированию интерфейса и делают настройку таблицы маршрутизации. В то же время, команды серии ip link делают только поднятие/отключение интерфейса.

Следует учитывать, что формат опций настройки модуля systemd не допускает исполнение более одного бинарника. Поэтому, если необходимо для одного действия выполнить несколько команд, нужно либо вызывать шелл с опцией -c , после которой прописать несколько команд, либо разложить команды на разные этапы выполнения действия (Pre и Post).

Network Manager - удобная утилита для управления сетевыми подключениями в Linux, используется по умолчанию во всех основных графических оболочках, что предоставляет пользователю простой и единообразный интерфейс настройки сети. Также Network Manager поддерживает Wi-Fi, 3G и VPN подключения, позволяя легко создавать их в графическом режиме. Но бывают ситуации, когда Network Manager неожиданно ломается, оставляя непривычного к консоли пользователя буквально без связи с внешним миром. В данной статье мы рассмотрим некоторые типовые проблемы, которые достаточно легко устраняются, но при этом могут серьезно испортить жизнь начинающим.

Network Manager - устройство не управляется

Достаточно простая неисправность, точнее даже не неисправность, которая проявляется в том, что Network Manager не может управлять вашим сетевым устройством.

network-manager-not-working-001.jpg

Причина такого поведения лежит в том, что Network Manager не является единственным способом управления сетевыми подключениями в Linux и если он видит, что сетевой адаптер был настроен другим методом, то перестает управлять им. Это вполне корректное поведение, предоставляющее администратору всю полноту власти над системой и обеспечивающее приоритет ручных настроек над автоматическими.

Удалим из этого файла все строки кроме:

network-manager-not-working-002.jpg

На скриншоте выше как раз видны ручные настройки для сетевого адаптера ens33, которые и блокировали работу Network Manager с этим интерфейсом.

После чего перезапустим службу командой:

После чего Network Manager снова возьмет контроль над сетевым интерфейсом.

network-manager-not-working-003.jpg

Для недопущения подобной ситуации в дальнейшем следует внимательно относиться к ручным настройкам сети и не допускать подобных изменений, если вы желаете и далее использовать Network Manager.

Network Manager не видит сеть

Более сложная неисправность, которая заключается в том, что Network Manager вообще не видит сетевых адаптеров, причины ее возникновения нам неизвестны, но приходилось достаточно часто сталкиваться с ней на промежуточных выпусках Ubuntu.

network-manager-not-working-004.jpg

Кстати, данная неисправность может послужить причиной ручной настройки сетевого интерфейса, которое в последствии будет блокировать работу Network Manager, но ее также несложно вылечить, для этого нужно создать пустой файл:

И перезапустить службу:

Для дальнейшей работы Network Manager наличие данного файла необязательно, т.е. вы можете его удалить, но Network Manager продолжит работать нормально.

network-manager-not-working-005.jpg

Как видим, предложенные нами способы восстановления здоровья Network Manager просты и, надеемся, помогут вам сэкономить время и нервы, когда вы столкнетесь с подобной проблемой.

Читайте также: