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

23.07.2025
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 или какую-то полезную сопутствующую информацию, сообщите нам об этом.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала