Отключить сетевой адаптер eth0 в Debian


10

Когда-то я использовал ifdown eth0 для отключения сетевого адаптера. Прошли годы с тех пор, как я смог заставить это работать, в основном с тех пор, как я работал в Ubuntu / Debian.

Я получаю это:

$ sudo ifdown eth0
ifdown: interface eth0 not configured

Если я запускаю ifconfig, я получаю:

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:192.168.20.50  Bcast:192.168.21.255  Mask:255.255.254.0
          inet6 addr: fe80::6e3b:e5ff:fe36:2ee/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1205280 errors:0 dropped:502 overruns:0 frame:0
          TX packets:34930 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:165685286 (165.6 MB)  TX bytes:5754120 (5.7 MB)
          Interrupt:20 Memory:f7f00000-f7f20000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9146 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:734342 (734.3 KB)  TX bytes:734342 (734.3 KB)

Я гуглил, чтобы выяснить, как это сделать, и все, что я могу найти, говорит запустить ifdown eth0. Как остановить сетевой адаптер на коробках Debian / Ubuntu?

Ответы:


14

Я сталкиваюсь с той же проблемой на Debian. Я не знаю точную причину, однако, это работает sudo ifconfig eth0 downдля меня.

Редактировать: Спасибо @kostix за его аннотации. Я не стал подробно разбираться с проблемой, поскольку использую ее для временного отключения интерфейса. Если вы хотите навсегда сбить его, то путь вниз - ifdown. Чтобы это работало, вам нужно добавить строку eth0=eth0к /run/network/ifstateи строки auto eth0и iface eth0 inet dhcpк /etc/network/interfaces.


Это просто приводит адаптер на физический уровень (т. Е. В отношении сетевого стека ядра), и это не имеет никакого отношения к уровню пользователя, который должен управлять адаптером. Пожалуйста, посмотрите мой ответ - возможно, вы сможете объединить усилия с ОП, чтобы выяснить, какая подсистема управляет вашей сетью.
kostix

ОК, это сделал это. Я не пробовал этого раньше, потому что на Redhat ifdown запускал ifconfig, поэтому я предположил то же самое для Debian. Я такой глупый. Спасибо за это. WTF?
Том

@ Проблема в том, что при следующей загрузке eth0, скорее всего, снова будет.
kostix

@ Thom, что касается WTF ... ;-) Ядро (почти) одинаково во всех дистрибутивах, но инструменты пользовательского интерфейса - нет. Ну, nmи wicd в том же самом через дистрибутивы, но «традиционный» низкоуровневый материал не является.
kostix

@kostix Это нормально. Просто хотел немного отключить для тестирования. Поскольку это VirtualBox, трудно отсоединить сетевой кабель. :) Также я понимаю об инструментах, но в документации по Debian сказано использовать ifdown. Вот почему WTF?
Том

13

если ifconfigон недоступен в вашем дистрибутиве, это означает, что он заменяется ipкомандой. В этом случае решение будетip link set eth0 down


2

Нет однозначного ответа, поскольку в Debian может быть несколько способов управления сетью. Я знаю по крайней мере три:

  • «Традиционный» подход, используя /sbin/ifup, /sbin/ifdownи /etc/init.d/networking, все с помощью /etc/network/interfacesконфигурационного файла. Они предоставляются ifupdownпакетом.

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

    Я также знаю о пакете , который beleived быть заменой для ifupdown, netscript, но так как она использует те же средства для управления адаптерами это якобы также не ваш случай.

  • Сетевой менеджер
  • Wicd

Возможно, вы должны выяснить, какой из них создан и работать оттуда. И то, nmи другое wicd обычно настраивается с помощью инструментов с графическим интерфейсом (и обычно с помощью апплетов, начинающихся вместе с вашим DE) nmимеет инструмент командной строки, называется nm-cli. Не уверен насчет wicd.

Если вы выполнили простую установку и выбрали задачу «Рабочий стол», то я считаю (хотя и не уверен), что у вас установлен NetworkManager.


1

интерфейс eth0 не настроен

Литералы означает

не настроен в файле / run / network / ifstate

Команды ifupdown имеют гистерезис: как только вы активируете интерфейс с помощью ifup, он сохраняется в /run/network/ifstateтом, что вы его активировали.

ifup eth0
cat /run/network/ifstate
eth0=eth0
(+other interfaces)

ifdown eth0
cat /run/network/ifstate
(+other interfaces)

Состояние будет сохранено, даже если операция завершилась неудачно (в основном из-за /etc/network/interfacesнеправильной записи). Мое основное решение до сих пор состоит в том, чтобы вручную отредактировать, /run/network/ifstateчтобы действовал как eth0, и затем выключить его:

nano /run/network/ifstate
eth0=eth0

ifdown eth0

Затем вы можете начать снова с чистой настройкой.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.