Site icon ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 24 ноября, 2025

22 сетевые команды Linux для системного администратора

22 сетевые команды Linux для системного администратора

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

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

Этот список будет одинаково полезен сетевым инженерам, работающим с Linux на постоянной основе.

 

Настройка сети, устранение неполадок и инструменты отладки

1. Команда ifconfig

ifconfig — это инструмент командной строки для настройки сетевых интерфейсов, который также используется для инициализации интерфейсов во время загрузки системы. После запуска сервера с его помощью можно назначить IP-адрес интерфейсу, а также включить или отключить интерфейс по запросу.

Он также используется для просмотра IP-адреса, аппаратного/MAC-адреса, а также размера MTU (максимальной единицы передачи) активных в данный момент интерфейсов. Таким образом, команда ifconfig полезна для отладки или настройки системы.

Вот пример отображения состояния всех активных сетевых интерфейсов.

$ ifconfig

enp1s0    Link encap:Ethernet  HWaddr 28:d2:44:eb:bd:98  
          inet addr:192.168.0.103  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8f0c:7825:8057:5eec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:169854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:174146270 (174.1 MB)  TX bytes:21062129 (21.0 MB)

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:65536  Metric:1
          RX packets:15793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2898946 (2.8 MB)  TX bytes:2898946 (2.8 MB)

 

Чтобы вывести список всех доступных в данный момент интерфейсов, будь то вверх или вниз, используйте флаг -a.

$ ifconfig -a 

 

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

$ sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0

 

Чтобы активировать сетевой интерфейс, введите.

$ sudo ifconfig up eth0

 

Чтобы отключить сетевой интерфейс, введите команду.

$ sudo ifconfig down eth0

 

Примечание: хотя ifconfig — отличный инструмент, сейчас он устарел (deprecated), его заменяет команда ip, о которой мы расскажем ниже.

 

2. Команда IP

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

Следующая команда покажет IP-адрес и другую информацию о сетевом интерфейсе.

$ ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 28:d2:44:eb:bd:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic enp1s0
...

 

Чтобы временно назначить IP-адрес определённому сетевому интерфейсу (eth0), введите.

$ sudo ip addr add 192.168.56.1 dev eth0

 

Чтобы удалить назначенный IP-адрес из сетевого интерфейса (eth0), введите команду.

$ sudo ip addr del 192.168.56.15/24 dev eth0

 

Чтобы отобразить текущую таблицу соседей в ядре, введите команду.

$ ip neigh

192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE

 

3. Команды ifup, ifdown и ifquery

ifup активирует сетевой интерфейс, делая его доступным для передачи и получения данных.

$ sudo ifup eth0

 

ifdown отключает сетевой интерфейс, переводя его в состояние, в котором он не может передавать или получать данные.

$ sudo ifdown eth0

 

ifquery используется для анализа конфигурации сетевого интерфейса, что позволяет получать ответы на запросы о текущей конфигурации.

$ sudo ifquery eth0

 

4. Команда Ethtool

ethtool — это утилита командной строки для запроса и изменения параметров контроллера сетевого интерфейса и драйверов устройств. В примере ниже показано использование ethtool и команды для просмотра параметров сетевого интерфейса.

$ sudo ethtool enp0s3

Settings for enp0s3:
	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: off (auto)
	Supports Wake-on: umbg
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

 

5. Команда Ping

ping (Packet Internet Groper) — это утилита, обычно используемая для проверки связи между двумя системами в сети (Локальная сеть (LAN) или Глобальная сеть (WAN)). Она использует ICMP (Internet Control Message Protocol) для связи с узлами в сети.

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

$ ping 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=0.191 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.156 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.179 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.182 ms
64 bytes from 192.168.0.103: icmp_seq=5 ttl=64 time=0.207 ms
64 bytes from 192.168.0.103: icmp_seq=6 ttl=64 time=0.157 ms
^C
--- 192.168.0.103 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5099ms
rtt min/avg/max/mdev = 0.156/0.178/0.207/0.023 ms

 

Вы также можете указать ping завершить работу после отправки заданного количества пакетов ECHO_REQUEST с помощью флага -c

$ ping -c 4 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=1.09 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.157 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.163 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.190 ms

--- 192.168.0.103 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3029ms
rtt min/avg/max/mdev = 0.157/0.402/1.098/0.402 ms

 

6. Команда Traceroute

Traceroute — это утилита командной строки для отслеживания полного пути от вашей локальной системы до другой сетевой системы. Она выводит количество переходов (IP-адреса маршрутизаторов) на пути к конечному серверу. Это простая в использовании утилита для устранения неполадок в сети, которая работает после команды ping.

В этом примере мы отслеживаем маршрут, по которому пакеты данных передаются из локальной системы на один из серверов Google с IP-адресом 216.58.204.46.

$ traceroute 216.58.204.46

traceroute to 216.58.204.46 (216.58.204.46), 30 hops max, 60 byte packets
 1  gateway (192.168.0.1)  0.487 ms  0.277 ms  0.269 ms
 2  5.5.5.215 (5.5.5.215)  1.846 ms  1.631 ms  1.553 ms
 3  * * *
 4  72.14.194.226 (72.14.194.226)  3.762 ms  3.683 ms  3.577 ms
...

 

7. Средство диагностики сети MTR

MTR — это современный инструмент для диагностики сети в командной строке, который объединяет функции ping и traceroute в одном диагностическом инструменте. По умолчанию его вывод обновляется в режиме реального времени до тех пор, пока вы не закроете программу, нажав q.

Самый простой способ запустить mtr — указать в качестве аргумента имя хоста или IP-адрес, как показано ниже.

$ mtr google.com
ИЛИ
$ mtr 216.58.223.78

 

Вы можете ограничить количество пингов определенным значением и завершить mtr после выполнения этих пингов, используя флаг -c $ mtr -c 4 google.com 

8. Команда маршрута

route — это утилита командной строки для отображения или изменения таблицы IP-маршрутизации в системе Linux. В основном она используется для настройки статических маршрутов к определённым хостам или сетям через интерфейс.

Вы можете просмотреть таблицу IP-маршрутизации ядра, введя команду.

$ route

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

 

Существует множество команд, которые можно использовать для настройки маршрутизации. Вот некоторые из них:

Добавьте шлюз по умолчанию в таблицу маршрутизации.

$ sudo route add default gw <ip-адрес шлюза>

 

Добавьте сетевой маршрут в таблицу маршрутизации.

$ sudo route add -net <ip-адрес сети/cidr> gw <ip-адрес шлюза> <интерфейс>

 

Удалите определённую запись о маршруте из таблицы маршрутизации.

$ sudo route del -net <сетевой IP-адрес/CIDR>

 

9. Команда Nmcli

Nmcli — это простой в использовании инструмент командной строки с поддержкой сценариев, который позволяет получать информацию о состоянии сети, управлять сетевыми подключениями и контролировать NetworkManager.

Чтобы просмотреть все сетевые устройства, введите.

$ nmcli dev status

DEVICE      TYPE      STATE      CONNECTION         
virbr0      bridge    connected  virbr0             
enp0s3      ethernet  connected  Wired connection 1

 

Чтобы проверить сетевые подключения в вашей системе, введите команду.

$ nmcli con show

Wired connection 1  bc3638ff-205a-3bbb-8845-5a4b0f7eef91  802-3-ethernet  enp0s3 
virbr0              00f5d53e-fd51-41d3-b069-bdfd2dde062b  bridge          virbr0

 

Чтобы отображались только активные подключения, добавьте флаг -a .

$ nmcli con show -a

 

Инструменты для сканирования сети и анализа производительности

10. Команда Netstat

netstat — это инструмент командной строки, который отображает полезную информацию, такую как сетевые подключения, таблицы маршрутизации, статистику интерфейсов и многое другое, касающееся сетевой подсистемы Linux. Он полезен для устранения неполадок в сети и анализа производительности.

Кроме того, это основной инструмент для отладки сетевых служб, который используется для проверки того, какие программы прослушивают какие порты. Например, следующая команда покажет все TCP-порты, работающие в режиме прослушивания, и программы, которые их прослушивают.

$ sudo netstat -tnlp

 

Чтобы просмотреть таблицу маршрутизации ядра, используйте флаг -r (что эквивалентно выполнению команды route, указанной выше).

$ netstat -r

 

Примечание: несмотря на то, что Netstat — отличный инструмент, он устарел (deprecated). Его заменой является команда ss, о которой рассказывается ниже.

 

11. Команда ss

ss (статистика сокетов) — это мощная утилита командной строки для анализа сокетов. Она выводит статистику сокетов и отображает информацию, аналогичную netstat. Кроме того, она показывает больше информации о TCP и состоянии по сравнению с другими аналогичными утилитами.

В следующем примере показано, как вывести список всех TCP портов (сокетов), открытых на сервере.

$ ss -ta

 

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

$ ss -to

 

12. Команда NC

NC (NetCat) также называют «сетевым швейцарским армейским ножом». Это мощная утилита, которая используется практически для любых задач, связанных с сокетами TCP, UDP или доменами UNIX. Она используется для открытия TCP-соединений, прослушивания произвольных TCP- и UDP-портов, сканирования портов и многого другого.

Вы также можете использовать его в качестве простого TCP-прокси для тестирования сетевых демонов, проверки доступности удалённых портов и многого другого. Кроме того, вы можете использовать nc вместе с командой pv для передачи файлов между двумя компьютерами.

В следующем примере показано, как просканировать список портов.

$ nc -zv server2.andreyex.lan 21 22 80 443 3000

 

Вы также можете указать диапазон портов, как показано на рисунке.

$ nc -zv server2.andreyex.lan 20-90

 

В следующем примере показано, как с помощью nc открыть TCP-соединение с портом 5000 на server2.andreyex.lan, используя порт 3000 в качестве исходного порта, с таймаутом 10 секунд.

$ nc -p 3000 -w 10 server2.andreyex.lan 5000

 

13. Команда Nmap

Nmap (Network Mapper) — это мощный и чрезвычайно универсальный инструмент для системных и сетевых администраторов Linux. Он используется для сбора информации об одном хосте или для исследования всей сети. Nmap также используется для проверки безопасности, аудита сети, поиска открытых портов на удалённых хостах и многого другого.

Например, вы можете просканировать хост, используя его имя хоста или IP-адрес.

$ nmap yandex.ru

 

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

$ nmap 192.168.0.103

 

Ознакомьтесь с нашими полезными статьями о команде nmap.

  1. Как использовать скрипты Nmap Script Engine (NSE) в Linux
  2. Практическое руководство по Nmap (сканеру сетевой безопасности) в Kali Linux
  3. Узнайте IP-адреса всех активных хостов, подключенных к сети в Linux

 

Утилиты поиска DNS

14. Команда хоста

Команда host — это простая утилита для выполнения DNS-запросов, которая преобразует имена хостов в IP-адреса и наоборот.

$ host yandex.ru

 

15. Команда dig

dig (поиск информации о домене) — это ещё одна простая утилита для поиска DNS-записей, которая используется для запроса информации, связанной с DNS, такой как A-запись, CNAME, MX-запись и т. д., например:

$ dig yandex.ru

16. Команда NSLookup

Nslookup — это также популярная утилита командной строки для интерактивного и неинтерактивного запроса DNS-серверов. Она используется для запроса записей ресурсов DNS (RR). Вы можете узнать «A» запись (IP-адрес) домена, как показано на рисунке.

$ nslookup yandex.ru

 

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

 

$ nslookup 216.58.208.174

 

Анализаторы сетевых пакетов Linux

17. Команда Tcpdump

Tcpdump — это очень мощный и широко используемый сетевой сниффер с интерфейсом командной строки. Он используется для захвата и анализа пакетов TCP/IP, передаваемых или принимаемых по сети через определённый интерфейс.

Чтобы перехватывать пакеты с определённого интерфейса, укажите его с помощью опции -i .

$ tcpdump -i eth1

 

Чтобы перехватить определённое количество пакетов, используйте опцию -c и введите нужное число.

$ tcpdump -c 5 -i eth1

 

Вы также можете перехватывать и сохранять пакеты в файл для последующего анализа. Используйте флаг -w для указания выходного файла.

$ tcpdump -w captured.pacs -i eth1

 

18. Утилита Wireshark

Wireshark — популярный, мощный, универсальный и простой в использовании инструмент для захвата и анализа пакетов в сети с коммутацией пакетов в режиме реального времени.

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

Мониторинг Трафика Локальной Сети

19. Инструмент Bmon

bmon — это мощная утилита для мониторинга и отладки сети на основе командной строки для Unix-подобных систем. Она собирает статистику, связанную с сетью, и выводит её в удобном для восприятия формате. Это надёжный и эффективный инструмент для мониторинга пропускной способности в реальном времени и оценки скорости.

 

Инструменты Управления Брандмауэром Linux

20. Брандмауэр Iptables

iptables — это инструмент командной строки для настройки, обслуживания и проверки таблиц фильтрации IP-пакетов и набора правил NAT. Он используется для настройки брандмауэра Linux (Netfilter) и управления им. Он позволяет выводить список существующих правил фильтрации пакетов, добавлять, удалять или изменять правила фильтрации пакетов, а также выводить счетчики правил фильтрации пакетов.

Вы можете узнать, как использовать Iptables для различных целей, из наших простых, но подробных руководств.

  1. Базовое руководство по IPTables (брандмауэр Linux) Советы / команды
  2. 25 полезных правил брандмауэра IPtable, которые должен знать каждый администратор Linux
  3. Как настроить брандмауэр Iptables для обеспечения удалённого доступа к службам
  4. Как заблокировать ICMP-запросы Ping в системах Linux

 

21. Брандмауэр

Firewalld — это мощный и динамичный демон для управления межсетевым экраном Linux (Netfilter), как и iptables. Он использует «зоны сетей» вместо цепочек INPUT, OUTPUT и FORWARD в iptables. В современных дистрибутивах Linux, таких как RHEL/CentOS 7 и Fedora 21+iptables активно заменяется на firewalld.

Чтобы начать работу с firewalld, ознакомьтесь с приведёнными ниже руководствами:

  1. Полезные правила FirewallD для настройки брандмауэра и управления им в Linux
  2. Как настроить FirewallD в RHEL/CentOS 7 и Fedora 21
  3. Как запустить/остановить и включить/отключить брандмауэры FirewallD и Iptables в Linux
  4. Настройка Samba и FirewallD, а также SELinux для обеспечения общего доступа к файлам в Linux/Windows

 

ВажноIptables по-прежнему поддерживается и может быть установлен с помощью менеджера пакетов YUM. Однако вы не можете одновременно использовать Firewalld и iptables на одном сервере — вам нужно выбрать что-то одно.

 

22. UFW (простой брандмауэр)

UFW — это широко известный инструмент для настройки брандмауэра по умолчанию в дистрибутивах Linux Debian и Ubuntu. Он используется для включения/отключения системного брандмауэра, добавления/удаления/изменения/сброса правил фильтрации пакетов и многого другого.

Чтобы проверить состояние брандмауэра UFW, введите команду.

$ sudo ufw status

 

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

$ sudo ufw enable

 

Чтобы отключить брандмауэр UFW, используйте следующую команду.

$ sudo ufw disable

 

Прочитайте нашу статью Как настроить брандмауэр UFW в Ubuntu и Debian.

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

$ man programs_name

 

На этом пока всё! В этом подробном руководстве мы рассмотрели некоторые из наиболее часто используемых инструментов командной строки и утилит для управления сетью в Linux в различных категориях. Они будут полезны как системным администраторам, так и сетевым администраторам/инженерам.

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

Exit mobile version