Назад | Перейти на главную страницу

Правильный способ выключения сетевого интерфейса в Linux

Например:

$ ifconfig dummy0 up
$ ifconfig dummy0 "192.168.1.190 netmask 255.255.255.0"

Вызов ifconfig без параметров показывает интерфейс

dummy0    Link encap:Ethernet  HWaddr b6:1f:f3:92:6d:20  
      inet addr:192.168.1.190  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::b41f:f3ff:fe92:6d20/64 Scope:Link
      UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:0 (0.0 B)  TX bytes:1050 (1.0 KiB)

Как отключить интерфейс, чтобы он не отображался в

без манекена rmmod

потому что манекен используется только для примера.

Если нет возможности сделать это, какой «выбрасываемый» IP я мог бы ему присвоить и обезопасить себя от каких-либо проблем?

лайк

$ ifconfig dummy0 down
$ ifconfig dummy0 0.0.0.0

Прошиваем ip:

root@foo:~# ifconfig dummy0 192.168.55.1 netmask 255.255.255.0
root@foo:~# ifconfig dummy0 
dummy0    Link encap:Ethernet  HWaddr 5b:72:32:4f:92:c8  
          inet addr:192.168.55.1  Bcast:192.168.55.255  Mask:255.255.255.0
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@foo:~# ip address flush dev dummy0
root@foo:~# ifconfig dummy0 down
root@foo:~# ifconfig dummy0 
dummy0    Link encap:Ethernet  HWaddr 5b:72:32:4f:92:c8
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

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

ip a s

Отключить dummy Я использую две команды (RHEL такой "увлекательный")):

ifconfig dummy0 down

ip addr del "your ip" dev dummy0

Это сработало для меня.

обычно есть ifdown скрипт в корневой оболочке.

/sbin/ifdown

Выбрасывать IP-адреса не может.
Неиспользуемые интерфейсы следует отключить.

$ ifconfig dummy0 127.0.0.4 down

устанавливает для него адрес обратной связи

ifconfig показывает текущие включенные интерфейсы. ifconfig -a показывает все интерфейсы в системе, в том числе неработающие. ifconfig dummy0 покажет вам интерфейс, который вы просили. Таким образом, если вы отключите интерфейс, он не будет отображаться, если вы выполните ifconfig, но будет, если вы выполните ifconfig -a или запросите информацию об этом конкретном интерфейсе. Единственный способ не отображать его - удалить модуль ядра или физический интерфейс.

Что касается отключения в интерфейсе, вам просто нужно отключить его. Не имеет значения, есть ли еще назначенный ему IP-адрес, поскольку ядро ​​не будет использовать этот интерфейс, пока вы его снова не вызовете.

Что в этом плохого?

root@moppel:~# ifconfig dummy0 192.168.3.124 up
root@moppel:~# ifconfig dummy0
dummy0    Link encap:Ethernet  Hardware Adresse 1a:36:a4:38:b1:d1
          inet Adresse:192.168.3.124  Bcast:192.168.3.255  Maske:255.255.255.0
          inet6-Adresse: fe80::1836:a4ff:fe38:b1d1/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING NOARP  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:0 (0.0 B)  TX bytes:11465 (11.1 KiB)

root@moppel:~# ifconfig dummy0 0.0.0.0 down
root@moppel:~# ifconfig dummy0
dummy0    Link encap:Ethernet  Hardware Adresse 1a:36:a4:38:b1:d1
          BROADCAST NOARP  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:0 (0.0 B)  TX bytes:11535 (11.2 KiB)

ifdown - это способ сделать это, например, ifdown dummy down

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

rmmod манекен

если отображается "занято", сначала отключите интерфейс dummy0, а затем повторите попытку.

Я отвечаю на этот пост через год, но может быть полезно для кого-то ;-)

Рахул Панвар