15 полезных команд «ifconfig» для настройки сетевого интерфейса в Linux

5223
15 полезных команд
15 полезных команд "ifconfig" для настройки сетевого интерфейса в Linux

ifconfig это сокращение от “interface configuration” (конфигурация интерфейса), утилита для системного/сетевого администрирования в операционных системах Unix/Linux для конфигурирования, управления и запроса параметров сетевого интерфейса через интерфейс командной строки или в скриптах конфигурации системы.

Системный администратор

Команда «ifconfig» используется для отображения текущей информации о конфигурации сети, настройки ip-адреса, маски сети или широковещательного адреса для сетевого интерфейса, создания алиаса для сетевого интерфейса, настройки аппаратного адреса, а также включения или отключения сетевых интерфейсов.

В этой статье мы рассмотрим «15 полезных команд «ifconfig»» с их практическими примерами, которые могут быть очень полезны при управлении и настройке сетевых интерфейсов в системах Linux.

 Важно: сетевая команда ifconfig устарела и заменена командой ip в большинстве дистрибутивов Linux. 

1. Просмотр всех настроек сетевого интерфейса

Команда «ifconfig» без аргументов отобразит подробную информацию обо всех активных интерфейсах. Команда ifconfig также используется для проверки IP-адреса сервера.

[root@tecmint ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0B:CD:1C:18:5A
          inet addr:172.16.25.126  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2341604 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2217673 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293460932 (279.8 MiB)  TX bytes:1042006549 (993.7 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000

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:5019066 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5019066 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2174522634 (2.0 GiB)  TX bytes:2174522634 (2.0 GiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.1.1.1  P-t-P:10.1.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  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:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

2. Отображение информации обо всех сетевых интерфейсах

Следующая команда ifconfig с аргументом -a отобразит информацию обо всех активных или неактивных сетевых интерфейсах на сервере. Она отображает результаты для eth0, lo, sit0 и tun0.

[root@tecmint ~]# ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:0B:CD:1C:18:5A
          inet addr:172.16.25.126  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2344927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2220777 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293839516 (280.2 MiB)  TX bytes:1043722206 (995.3 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000

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:5022927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5022927 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2175739488 (2.0 GiB)  TX bytes:2175739488 (2.0 GiB)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  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)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.1.1.1  P-t-P:10.1.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  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:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

3. Просмотр сетевых настроек конкретного интерфейса

Using interface name (eth0) as an argument with the “ifconfig” command will display details of the specific network interface.

Использование имени интерфейса (eth0) в качестве аргумента в команде «ifconfig» отобразит подробную информацию о данном сетевом интерфейсе.

[root@tecmint ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0B:CD:1C:18:5A
          inet addr:172.16.25.126  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2345583 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2221421 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293912265 (280.2 MiB)  TX bytes:1044100408 (995.7 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000

4. Как включить сетевой интерфейс

Флаг «up» или «ifup» с именем интерфейса (eth0) активирует сетевой интерфейс, если он не находится в неактивном состоянии и позволяет отправлять и получать информацию. Например, «ifconfig eth0 up» или «ifup eth0» активирует интерфейс eth0.

[root@tecmint ~]# ifconfig eth0 up
OR
[root@tecmint ~]# ifup eth0

5. Как отключить сетевой интерфейс

Флаг «down» или «ifdown» с именем интерфейса (eth0) выключает указанный сетевой интерфейс. Например, команда «ifconfig eth0 down» или «ifdown eth0» деактивирует интерфейс eth0, если он находится в активном состоянии.

[root@tecmint ~]# ifconfig eth0 down
OR
[root@tecmint ~]# ifdown eth0

6. Как назначить IP-адрес сетевому интерфейсу

Чтобы назначить IP-адрес определенному интерфейсу, используйте следующую команду с именем интерфейса (eth0) и ip-адресом, который вы хотите установить. Например, «ifconfig eth0 172.16.25.125» назначит IP-адрес интерфейсу eth0.

[root@tecmint ~]# ifconfig eth0 172.16.25.125

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

Использование команды «ifconfig» с аргументом «netmask» и именем интерфейса в виде (eth0) позволяет задать маску сети для данного интерфейса. Например, «ifconfig eth0 netmask 255.255.255.224» установит сетевую маску для данного интерфейса eth0.

[root@tecmint ~]# ifconfig eth0 netmask 255.255.255.224

8. Как назначить широковещательный адрес на сетевом интерфейсе?

Использование аргумента «broadcast» с именем интерфейса установит широковещательный адрес для данного интерфейса. Например, команда «ifconfig eth0 broadcast 172.16.25.63» устанавливает широковещательный адрес для интерфейса eth0.

[root@tecmint ~]# ifconfig eth0 broadcast 172.16.25.63

9. Как назначить сетевому интерфейсу IP, маску подсети и широковещательный адрес?

Чтобы назначить IP-адрес, адрес подсети и широковещательный адрес одновременно, используйте команду «ifconfig» со всеми аргументами, приведенными ниже.

[root@tecmint ~]# ifconfig eth0 172.16.25.125 netmask 255.255.255.224 broadcast 172.16.25.63

10. Как изменить MTU для сетевого интерфейса?

Аргумент «mtu» задает максимальный блок передачи для интерфейса. MTU позволяет установить предельный размер пакетов, передаваемых на интерфейсе. MTU способен обрабатывать максимальное количество октетов на интерфейсе за одну операцию.

Например, «ifconfig eth0 mtu 1000» установит максимальную единицу передачи на заданный набор (т.е. 1000). Не все сетевые интерфейсы поддерживают настройки MTU.

[root@tecmint ~]# ifconfig eth0 mtu 1000

11. Как включить режим Promiscuous?

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

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

[root@tecmint ~]# ifconfig eth0 promisc

12. Как отключить режим Promiscuous Mode?

Чтобы отключить режим promiscuous, используйте аргумент «-promisc«, который возвращает сетевой интерфейс в обычный режим.

[root@tecmint ~]# ifconfig eth0 -promisc

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

The ifconfig utility allows you to configure additional network interfaces using the alias feature. To add the alias network interface of eth0, use the following command. Please note that the alias network address is in the same subnet mask. For example, if your eth0 network ip address is 172.16.25.125, then the alias ip address must be 172.16.25.127.

Утилита ifconfig позволяет настраивать дополнительные сетевые интерфейсы с помощью функции alias. Чтобы добавить alias сетевого интерфейса eth0, используйте следующую команду. Обратите внимание, что сетевой адрес псевдонима находится в той же маске подсети. Например, если ip-адрес сети eth0172.16.25.125, то ip-адрес псевдонима должен быть 172.16.25.127.

[root@tecmint ~]# ifconfig eth0:0 172.16.25.127

Затем проверьте только что созданный alias сетевого интерфейса, используя команду «ifconfig eth0:0«.

[root@tecmint ~]# ifconfig eth0:0

eth0:0    Link encap:Ethernet  HWaddr 00:01:6C:99:14:68
          inet addr:172.16.25.123  Bcast:172.16.25.63  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:17

14. Как удалить алиас для сетевого интерфейса?

Если вам больше не нужен alias или вы неправильно его настроили, вы можете удалить его с помощью следующей команды.

[root@tecmint ~]# ifconfig eth0:0 down

15. Как изменить MAC-адрес сетевого интерфейса?

Чтобы изменить MAC-адрес (Media Access Control) сетевого интерфейса eth0, используйте следующую команду с аргументом «hw ether«. Пример, см. ниже.

[root@tecmint ~]# ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF

Это наиболее полезные команды для конфигурирования сетевых интерфейсов в Linux, для получения дополнительной информации об использования команды ifconfig используйте manpages, набрав «man ifconfig» в терминале.