15 полезных команд ifconfig для настройки сети в Linux
ifconfig кратко «конфигурация интерфейса» — утилита для системного/сетевого администрирования в операционных системах Unix/Linux для настройки, управления и запроса параметров сетевого интерфейса. через интерфейс командной строки или в сценариях конфигурации системы.
Команда «ifconfig» используется для отображения текущей информации о конфигурации сети, настройки IP-адреса, маски сети или широковещательного адреса для сетевого интерфейса, создания псевдонима для сетевого интерфейса, настройки аппаратного адреса, и включение или отключение сетевых интерфейсов.
В этой статье рассматриваются 15 полезных команд «ifconfig» с их практическими примерами, которые могут оказаться очень полезными для вас при управлении и настройке сетевых интерфейсов в системах Linux.
Обновление. Сетевая команда ifconfig устарела и заменена командой ip (Изучите 10 примеров IP-команд) в большинстве дистрибутивов Linux.
1. Список сетевых интерфейсов в Linux
Команда «ifconfig» без аргументов отобразит все сведения о конфигурации активного сетевого интерфейса, включая назначенные им IP-адреса, сетевые маски и другую соответствующую информацию.
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.
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. Просмотр сетевых настроек конкретного интерфейса.
Использование имени интерфейса (eth0) в качестве аргумента команды «ifconfig» отобразит подробную информацию о конкретном сетевом интерфейсе.
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.
ifconfig eth0 up
OR
ifup eth0
5. Как отключить сетевой интерфейс
Флаг «down» или «ifdown» с именем интерфейса (eth0) деактивирует указанный сетевой интерфейс. Например, команда «ifconfig eth0 down» или «ifdown eth0» деактивирует интерфейс eth0, если он находится в неактивном состоянии.
ifconfig eth0 down
OR
ifdown eth0
6. Как назначить IP-адрес сетевому интерфейсу
Чтобы назначить IP-адрес определенному интерфейсу, используйте следующую команду, указав имя интерфейса (eth0) и IP-адрес, который вы хотите установить. Например, «ifconfig eth0 172.16.25.125» установит IP-адрес интерфейса eth0.
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.
ifconfig eth0 broadcast 172.16.25.63
9. Как назначить IP-адрес, маску сети и широковещательную передачу сетевому интерфейсу
Чтобы одновременно назначить IP-адрес, адрес маски сети и широковещательный адрес, используйте команду «ifconfig» со всеми аргументами, как указано ниже.
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.
ifconfig eth0 mtu 1000
11. Как включить беспорядочный режим
В обычном режиме происходит следующее: когда сетевая карта получает пакет, она проверяет, принадлежит ли он себе. В противном случае он отбрасывает пакет в обычном режиме, но в неразборчивом режиме используется для приема всех пакетов, проходящих через сетевую карту.
Современные сетевые инструменты используют беспорядочный режим для захвата и анализа пакетов, проходящих через сетевой интерфейс. Чтобы установить беспорядочный режим, используйте следующую команду.
ifconfig eth0 promisc
12. Как отключить беспорядочный режим
Чтобы отключить беспорядочный режим, используйте переключатель «-promisc», который возвращает сетевой интерфейс в нормальный режим.
ifconfig eth0 -promisc
13. Как добавить новый псевдоним в сетевой интерфейс
Утилита ifconfig позволяет настраивать дополнительные сетевые интерфейсы с помощью функции псевдоним. Чтобы добавить псевдоним сетевого интерфейса eth0, используйте следующую команду. Обратите внимание, что псевдоним сетевого адреса находится в той же маске подсети. Например, если IP-адрес вашей сети eth0 — 172.16.25.125, то псевдоним IP-адреса должен быть 172.16.25.127.
ifconfig eth0:0 172.16.25.127
Затем проверьте вновь созданный псевдоним адреса сетевого интерфейса с помощью команды «ifconfig eth0:0».
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. Как удалить псевдоним сетевого интерфейса
Если вам больше не нужен псевдоним сетевого интерфейса или вы его неправильно настроили, вы можете удалить его с помощью следующей команды.
ifconfig eth0:0 down
15. Как изменить MAC-адрес сетевого интерфейса
Чтобы изменить MAC (Media Access Control) сетевой интерфейс eth0, используйте следующую команду с аргументом «hw ether “. Например, см. ниже.
ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
Это наиболее полезные команды для настройки сетевых интерфейсов в Linux. Для получения дополнительной информации и использования команды ifconfig используйте справочные страницы, например «man ifconfig » на терминале. Ознакомьтесь с некоторыми другими сетевыми утилитами ниже.
Другие сетевые утилиты
- nmcli — клиент командной строки, который используется для управления NetworkManager и предоставления информации о сети.
- Tcmpdump – это инструмент захвата и анализа пакетов командной строки для мониторинга сетевого трафика.
- Netstat – это инструмент мониторинга сети с открытым исходным кодом, работающий из командной строки, который отслеживает входящий и исходящий трафик сетевых пакетов.
- ss (статистика сокетов) – инструмент, который печатает информацию о сетевых сокетах в системе Linux.
- Wireshark – это анализатор сетевых протоколов с открытым исходным кодом, который используется для устранения проблем, связанных с сетью.
- Munin – это веб-приложение для мониторинга сети и системы, которое используется для отображения результатов в виде графиков с помощью rrdtool.
- Cacti – это полноценное веб-приложение для мониторинга и построения графиков для мониторинга сети.
Чтобы получить дополнительную информацию и параметры для любого из вышеперечисленных инструментов, посетите справочные страницы, введя «man Toolname» в командной строке. Например, чтобы получить информацию для инструмента «netstat», используйте команду «man netstat».