- What exactly does it mean to set a networking interface up and down?
- 1 Answer 1
- But how can you know it’s not powered off?
- Commands used above
- References
- Linux Security Cookbook by Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes
- 3.2. Starting and Stopping the Network Interface
- Problem
- Solution
- Discussion
- 🇺🇸 Как включить (UP) и отключить (DOWN) порт сетевого интерфейса (NIC) в Linux?
- 1) Как подключить и отключить сетевой интерфейс в Linux с помощью команды ifconfig?
- 2) Как включить и отключить сетевой интерфейс в Linux с помощью команды ifdown / up?
- 3) Как вывести из строя или поднять сетевой интерфейс в Linux с помощью команды ip?
- 4) Как включить и отключить сетевой интерфейс в Linux с помощью команды nmcli?
- 5) Как вывести из строя сетевой интерфейс в Linux с помощью команды nmtui?
What exactly does it mean to set a networking interface up and down?
Say that we have the wireless interface wlan0 . What does ip link set wlan0 up/down actually do? Power and poweroff the NIC? A lot of network configuration guides online nonchalantly describe it as simply «bringing the interface up», but what does that really mean?
1 Answer 1
When you bring the interface up/down you’re merely setting a flag on the driver that the state of the interface is up or down. The NIC is still powered on and can participate in WOL (Wake on LAN) etc.
If you look at the output of the interface the state flag is shown here:
$ ip a l eth1 3: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:72:14:26 brd ff:ff:ff:ff:ff:ff inet 192.168.56.101/24 brd 192.168.56.255 scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe72:1426/64 scope link valid_lft forever preferred_lft forever
If I were to tell ip to put it into the down state:
$ ip l set eth1 down $ ip a l eth1 3: eth1: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 08:00:27:72:14:26 brd ff:ff:ff:ff:ff:ff inet 192.168.56.101/24 brd 192.168.56.255 scope global eth1 valid_lft forever preferred_lft forever
But how can you know it’s not powered off?
Simple. Use the ethtool to interrogate the NIC further.
$ ethtool eth1 Settings for eth1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: Unknown (auto) Supports Wake-on: umbg Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: no
The key piece of this output is the Link detected: no . That’s because it’s in a DOWN state. If we bring it back up:
$ ethtool eth1 | grep Link Link detected: yes
In this case the Link detected: yes means that the NIC is UP and can detect a ethernet cable plugged into it.
Commands used above
Notice that I’m using the shorthand notations for commands:
There are more. The ip command is «smart enough» to figure out which command or sub-command you’re using, and can infer it.
References
Linux Security Cookbook by Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes
Get full access to Linux Security Cookbook and 60K+ other titles, with a free 10-day trial of O’Reilly.
There are also live events, courses curated by job role, and more.
3.2. Starting and Stopping the Network Interface
Problem
You want to prevent all remote network connections, incoming and outgoing, on your network interfaces.
Solution
To shut down one network interface, say, eth0:
To bring up one network interface, say, eth0:
To shut down all networking:
# service network stop Red Hat
To bring up all networking:
# service network start Red Hat
Discussion
Linux provides three levels of abstraction for enabling and disabling your network interfaces (short of unplugging the network cable):
The lowest level, to enable/disable a single network interface. It has other functions as well for configuring an interface in various ways.
This mid-level pair of scripts operates on a single network interface, bringing it up or down respectively, by invoking ifconfig with appropriate arguments. They also initialize DHCP and handle a few other details. These are rarely invoked directly by users.
A high-level script that operates on all network interfaces, not just one. It runs ifup or ifdown for each interface as needed, and also handles other details: adding routes, creating a lock file to indicate that networking is enabled, and much more. It even toggles the loopback interface, which might be more than you intended, if you just want to block outside traffic.
The scripts ifup, ifdown, and network are pretty .
Get Linux Security Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
🇺🇸 Как включить (UP) и отключить (DOWN) порт сетевого интерфейса (NIC) в Linux?
Вам может потребоваться выполнить эти команды в соответствии с вашими требованиями.
Я могу привести несколько примеров, где вам это понадобится.
При добавлении нового сетевого интерфейса или при создании нового виртуального сетевого интерфейса из исходного физического интерфейса.
вам может понадобиться отослать эти команды, чтобы вызвать новый интерфейс.
Кроме того, если вы внесли какие-либо изменения или если они не работают, вам нужно выполнить одну из следующих команд, чтобы применить их.
Это можно сделать разными способами, и мы хотели бы добавить лучшие пять методов, которые мы использовали в статье.
Это можно сделать, используя следующие пять методов.
- Команда ifconfig: Команда ifconfig используется для настройки сетевого интерфейса. Он предоставляет много информации о NIC.
- Команда ifdown / up: команда ifdown отключает сетевой интерфейс, а команда ifup запускает сетевой интерфейс.
- Команда ip: команда ip используется для управления NIC. Это замена старой и устаревшей команды ifconfig. Она похожа на команду ifconfig, но имеет много мощных функций, которые недоступны в команде ifconfig.
- Команда nmcli: nmcli – это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
- Команда nmtui: nmtui – это основанное на curses приложение TUI для взаимодействия с NetworkManager.
Приведенные ниже выходные данные показывают информацию о доступной сетевой карте (NIC) в моей системе Linux.
# ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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: enp0s3: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3 valid_lft 86049sec preferred_lft 86049sec inet6 fe80::3899:270f:ae38:b433/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: enp0s8: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:30:5d:52 brd ff:ff:ff:ff:ff:ff inet 192.168.1.3/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s8 valid_lft 86049sec preferred_lft 86049sec inet6 fe80::32b7:8727:bdf2:2f3/64 scope link noprefixroute valid_lft forever preferred_lft forever
1) Как подключить и отключить сетевой интерфейс в Linux с помощью команды ifconfig?
Команда ifconfig используется для настройки сетевого интерфейса.
Он используется во время загрузки для настройки интерфейсов по мере необходимости.
Он предоставляет много информации о NIC.
Мы можем использовать команду ifconfig, когда нам нужно внести какие-либо изменения в сетевую карту.
Общий синтаксис для ifconfig:
Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.
Запишите его, вы должны ввести имя вашего интерфейса вместо нашего варианта.
Да действительно, данный интерфейс не работает согласно следующему выводу.
# ip a | grep -A 1 "enp0s3:" 2: enp0s3:mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff
Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.
Да, данный интерфейс работает сейчас согласно следующему выводу.
# ip a | grep -A 5 "enp0s3:" 2: enp0s3:mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3 valid_lft 86294sec preferred_lft 86294sec inet6 fe80::3899:270f:ae38:b433/64 scope link noprefixroute valid_lft forever preferred_lft forever
2) Как включить и отключить сетевой интерфейс в Linux с помощью команды ifdown / up?
Команда ifdown отключает сетевой интерфейс, а команда ifup – поднимает сетевой интерфейс.
Примечание. Она не работает с новым интерфейсным именем устройства, таким как enpXXX.
Общий синтаксис для ifdown / ifup:
Выполните следующую команду, чтобы отключить интерфейс eth1 в Linux.
# ip a | grep -A 3 "eth1:" 3: eth1:mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 08:00:27:d5:a0:18 brd ff:ff:ff:ff:ff:ff
Выполните следующую команду, чтобы включить интерфейс eth1 в Linux.
Да, данный интерфейс работает сейчас согласно следующему выводу.
# ip a | grep -A 5 "eth1:" 3: eth1:mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:d5:a0:18 brd ff:ff:ff:ff:ff:ff inet 192.168.1.7/24 brd 192.168.1.255 scope global eth1 inet6 fe80::a00:27ff:fed5:a018/64 scope link tentative dadfailed valid_lft forever preferred_lft forever
ifup и ifdown не поддерживают последние имена интерфейсных устройств enpXXX.
При запуске команды я получил следующее сообщение.
# ifdown enp0s8 Unknown interface enp0s8
3) Как вывести из строя или поднять сетевой интерфейс в Linux с помощью команды ip?
Команда ip используется для управления картой сетевого интерфейса (NIC).
Это замена старой и устаревшей команды ifconfig в современных системах Linux.
Она похожа на команду ifconfig, но имеет много мощных функций, которые недоступны в команде ifconfig.
Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.
Да, данный интерфейс не работает согласно следующему выводу.
# ip a | grep -A 1 "enp0s3:" 2: enp0s3:mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff
Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.
Да, данный интерфейс работает сейчас согласно следующему выводу.
# ip a | grep -A 5 "enp0s3:" 2: enp0s3:mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3 valid_lft 86294sec preferred_lft 86294sec inet6 fe80::3899:270f:ae38:b433/64 scope link noprefixroute valid_lft forever preferred_lft forever
4) Как включить и отключить сетевой интерфейс в Linux с помощью команды nmcli?
nmcli – это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
Его можно использовать в качестве замены для nm-applet или других графических клиентов. nmcli используется для создания, отображения, редактирования, удаления, активации и деактивации сети.
подключения, а также контролировать и отображать состояние сетевого устройства.
Выполните следующую команду, чтобы определить имя интерфейса, потому что команда nmcli выполняет большую часть задачи, используя имя профиля вместо имени устройства.
# nmcli con show NAME UUID TYPE DEVICE Wired connection 1 3d5afa0a-419a-3d1a-93e6-889ce9c6a18c ethernet enp0s3 Wired connection 2 a22154b7-4cc4-3756-9d8d-da5a4318e146 ethernet enp0s8
Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.
Вы должны дать имя профиля вместо имени устройства, чтобы отключить его.
# nmcli con down 'Wired connection 1' Connection 'Wired connection 1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
Да, данный интерфейс не работает согласно следующему выводу.
# nmcli dev status DEVICE TYPE STATE CONNECTION enp0s8 ethernet connected Wired connection 2 enp0s3 ethernet disconnected -- lo loopback unmanaged --
Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux. Вы должны дать имя профиля вместо имени устройства, чтобы включить его.
# nmcli con up 'Wired connection 1' Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
Да, данный интерфейс работает сейчас согласно следующему выводу.
# nmcli dev status DEVICE TYPE STATE CONNECTION enp0s8 ethernet connected Wired connection 2 enp0s3 ethernet connected Wired connection 1 lo loopback unmanaged --
5) Как вывести из строя сетевой интерфейс в Linux с помощью команды nmtui?
nmtui – приложение TUI на основе curses для взаимодействия с NetworkManager.
При запуске nmtui пользователю предлагается выбрать действие для выполнения, если оно не было указано в качестве первого аргумента.
Запустите следующую команду, чтобы запустить интерфейс nmtui.
Выберите «Подключится» и нажмите «ОК».
Выберите интерфейс, который хотите отключить, затем нажмите кнопку «отключить».
Для активации выполните ту же процедуру, что и выше.