img

Руководство администратора Linux по устранению неполадок и отладке

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

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

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

Руководство администратора Linux

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

1. Команда ifconfig

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

Ifconfig также используется для просмотра статуса IP-адреса, MAC-адреса, а также размера MTU (максимальная единица передачи - Maximum Transmission Unit) текущих активных интерфейсов. Таким образом, 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 и многих других сетевых команд.

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

$ ip addr show

1: lo:  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:  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
       valid_lft 5772sec preferred_lft 5772sec
    inet6 fe80::8f0c:7825:8057:5eec/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp2s0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 38:b1:db:7c:78:c7 brd ff:ff:ff:ff:ff:ff
...

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

$ sudo ip addr add 192.168.56.1 dev eth0

Чтобы удалить назначенный IP-адрес c сетевого интерфейса (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

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

$ 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). Ping использует протокол 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 - это утилита командной строки для отслеживания полного пути от вашей локальной системы до другой сетевой системы. 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
 5  108.170.248.179 (108.170.248.179)  4.666 ms 108.170.248.162 (108.170.248.162)  4.869 ms 108.170.248.194 (108.170.248.194)  4.245 ms
 6  72.14.235.133 (72.14.235.133)  72.443 ms 209.85.241.175 (209.85.241.175)  62.738 ms 72.14.235.133 (72.14.235.133)  65.809 ms
 7  66.249.94.140 (66.249.94.140)  128.726 ms  127.506 ms 209.85.248.5 (209.85.248.5)  127.330 ms
 8  74.125.251.181 (74.125.251.181)  127.219 ms 108.170.236.124 (108.170.236.124)  212.544 ms 74.125.251.181 (74.125.251.181)  127.249 ms
 9  216.239.49.134 (216.239.49.134)  236.906 ms 209.85.242.80 (209.85.242.80)  254.810 ms  254.735 ms
10  209.85.251.138 (209.85.251.138)  252.002 ms 216.239.43.227 (216.239.43.227)  251.975 ms 209.85.242.80 (209.85.242.80)  236.343 ms
11  216.239.43.227 (216.239.43.227)  251.452 ms 72.14.234.8 (72.14.234.8)  279.650 ms  277.492 ms
12  209.85.250.9 (209.85.250.9)  274.521 ms  274.450 ms 209.85.253.249 (209.85.253.249)  270.558 ms
13  209.85.250.9 (209.85.250.9)  269.147 ms 209.85.254.244 (209.85.254.244)  347.046 ms 209.85.250.9 (209.85.250.9)  285.265 ms
14  64.233.175.112 (64.233.175.112)  344.852 ms 216.239.57.236 (216.239.57.236)  343.786 ms 64.233.175.112 (64.233.175.112)  345.273 ms
15  108.170.246.129 (108.170.246.129)  345.054 ms  345.342 ms 64.233.175.112 (64.233.175.112)  343.706 ms
16  108.170.238.119 (108.170.238.119)  345.610 ms 108.170.246.161 (108.170.246.161)  344.726 ms 108.170.238.117 (108.170.238.117)  345.536 ms
17  lhr25s12-in-f46.1e100.net (216.58.204.46)  345.382 ms  345.031 ms  344.884 ms

7. MTR Network Diagnostic Tool

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

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

$ mtr google.com
ИЛИ
$ mtr 216.58.223.78

Пример вывода:

wiki.merionet.ru (0.0.0.0)                                   Thu Jul 12 08:58:27 2018
First TTL: 1

 Host                                                   Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.1                                         0.0%    41    0.5   0.6   0.4   1.7   0.2
 2. 5.5.5.215                                           0.0%    40    1.9   1.5   0.8   7.3   1.0
 3. 209.snat-111-91-120.hns.net.in                      23.1%    40    1.9   2.7   1.7  10.5   1.6
 4. 72.14.194.226                                       0.0%    40   89.1   5.2   2.2  89.1  13.7
 5. 108.170.248.193                                     0.0%    40    3.0   4.1   2.4  52.4   7.8
 6. 108.170.237.43                                      0.0%    40    2.9   5.3   2.5  94.1  14.4
 7. bom07s10-in-f174.1e100.net                          0.0%    40    2.6   6.7   2.3  79.7  16.

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

$ mtr -c 4 google.com

8. Команда Route

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

Вы можете просмотреть таблицу маршрутизации 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 

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

$ sudo route add -net  gw  

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

$ sudo route del -net 

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

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 127.0.0.1:5003          0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1404/pdns_server    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1064/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      972/sshd            
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      975/cupsd           
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      636/lscpd (lscpd -  
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      1015/dovecot        
tcp6       0      0 :::3306                 :::*                    LISTEN      1053/mysqld         
tcp6       0      0 :::3307                 :::*                    LISTEN      1211/mysqld         
tcp6       0      0 :::587                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::110                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::143                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      990/httpd           
tcp6       0      0 :::465                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::53                   :::*                    LISTEN      1404/pdns_server    
tcp6       0      0 :::21                   :::*                    LISTEN      1064/pure-ftpd (SER 
tcp6       0      0 :::22                   :::*                    LISTEN      972/sshd            
tcp6       0      0 ::1:631                 :::*                    LISTEN      975/cupsd           
tcp6       0      0 :::25                   :::*                    LISTEN      1257/master         
tcp6       0      0 :::993                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      1015/dovecot   

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

$ netstat -r

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

Внимание: команда Netstat является устаревшей (deprecated) и была заменена командой ss, которую рассмотрим ниже.

11. Команда ss

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

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

$ ss -ta

State      Recv-Q Send-Q                                        Local Address:Port                                                         Peer Address:Port                
LISTEN     0      100                                                       *:submission                                                              *:*                    
LISTEN     0      128                                               127.0.0.1:fmpro-internal                                                          *:*                    
LISTEN     0      100                                                       *:pop3                                                                    *:*                    
LISTEN     0      100                                                       *:imap                                                                    *:*                    
LISTEN     0      128                                                       *:sunrpc                                                                  *:*                    
LISTEN     0      100                                                       *:urd                                                                     *:*                    
LISTEN     0      128                                                       *:domain                                                                  *:*                    
LISTEN     0      9                                                         *:ftp                                                                     *:*                    
LISTEN     0      128                                                       *:ssh                                                                     *:*                    
LISTEN     0      128                                               127.0.0.1:ipp                                                                     *:*                    
LISTEN     0      100                                                       *:smtp                                                                    *:*                    
LISTEN     0      128                                                       *:8090                                                                    *:*                    
LISTEN     0      100                                                       *:imaps                                                                   *:*                    
LISTEN     0      100                                                       *:pop3s                                                                   *:*                    
ESTAB      0      0                                             192.168.0.104:ssh                                                         192.168.0.103:36398                
ESTAB      0      0                                                 127.0.0.1:34642                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34638                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34644                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34640                                                           127.0.0.1:opsession-prxy       
LISTEN     0      80                                                       :::mysql                                                                  :::*             
...

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

$ ss -to

12. Команда NC

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

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

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

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

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

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

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

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

13.Команда Nmap

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

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

$ nmap google.com 

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:23 BST
Nmap scan report for google.com (172.217.166.78)
Host is up (0.0036s latency).
rDNS record for 172.217.166.78: bom05s15-in-f14.1e100.net
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 4.92 seconds

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

$ nmap 192.168.0.103

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:24 BST
Nmap scan report for 192.168.0.103
Host is up (0.000051s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
902/tcp  open  iss-realsecure
4242/tcp open  vrml-multi-use
5900/tcp open  vnc
8080/tcp open  http-proxy
MAC Address: 28:D2:44:EB:BD:98 (Lcfc(hefei) Electronics Technology Co.)

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds


Утилиты DNS Lookup

14. Команда host

Команда hos - это простая утилита для DNS Lookup, она переводит имена хостов в IP-адреса и наоборот.

$ host google.com

google.com has address 172.217.166.78
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

15. Команда dig

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

$ dig google.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23083
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 14

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		72	IN	A	172.217.166.78

;; AUTHORITY SECTION:
com.			13482	IN	NS	c.gtld-servers.net.
com.			13482	IN	NS	d.gtld-servers.net.
com.			13482	IN	NS	e.gtld-servers.net.
com.			13482	IN	NS	f.gtld-servers.net.
com.			13482	IN	NS	g.gtld-servers.net.
com.			13482	IN	NS	h.gtld-servers.net.
com.			13482	IN	NS	i.gtld-servers.net.
com.			13482	IN	NS	j.gtld-servers.net.
com.			13482	IN	NS	k.gtld-servers.net.
com.			13482	IN	NS	l.gtld-servers.net.
com.			13482	IN	NS	m.gtld-servers.net.
com.			13482	IN	NS	a.gtld-servers.net.
com.			13482	IN	NS	b.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net.	81883	IN	A	192.5.6.30
b.gtld-servers.net.	3999	IN	A	192.33.14.30
c.gtld-servers.net.	14876	IN	A	192.26.92.30
d.gtld-servers.net.	85172	IN	A	192.31.80.30
e.gtld-servers.net.	95861	IN	A	192.12.94.30
f.gtld-servers.net.	78471	IN	A	192.35.51.30
g.gtld-servers.net.	5217	IN	A	192.42.93.30
h.gtld-servers.net.	111531	IN	A	192.54.112.30
i.gtld-servers.net.	93017	IN	A	192.43.172.30
j.gtld-servers.net.	93542	IN	A	192.48.79.30
k.gtld-servers.net.	107218	IN	A	192.52.178.30
l.gtld-servers.net.	6280	IN	A	192.41.162.30
m.gtld-servers.net.	2689	IN	A	192.55.83.30

;; Query time: 4 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Jul 12 09:30:57 BST 2018
;; MSG SIZE  rcvd: 487

16.Команда NSLookup

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

$ nslookup google.com

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	google.com
Address: 172.217.166.78

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

$ nslookup 216.58.208.174

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f14.1e100.net.
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f174.1e100.net.

Authoritative answers can be found from:
in-addr.arpa	nameserver = e.in-addr-servers.arpa.
in-addr.arpa	nameserver = f.in-addr-servers.arpa.
in-addr.arpa	nameserver = a.in-addr-servers.arpa.
in-addr.arpa	nameserver = b.in-addr-servers.arpa.
in-addr.arpa	nameserver = c.in-addr-servers.arpa.
in-addr.arpa	nameserver = d.in-addr-servers.arpa.
a.in-addr-servers.arpa	internet address = 199.180.182.53
b.in-addr-servers.arpa	internet address = 199.253.183.183
c.in-addr-servers.arpa	internet address = 196.216.169.10
d.in-addr-servers.arpa	internet address = 200.10.60.53
e.in-addr-servers.arpa	internet address = 203.119.86.101
f.in-addr-servers.arpa	internet address = 193.0.9.1

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

17.Команда Tcpdump

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

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

$ tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
09:35:40.287439 IP merionet.com.ssh > 192.168.0.103.36398: Flags [P.], seq 4152360356:4152360552, ack 306922699, win 270, options [nop,nop,TS val 2211778668 ecr 2019055], length 196
09:35:40.287655 IP 192.168.0.103.36398 > merionet.com.ssh: Flags [.], ack 196, win 5202, options [nop,nop,TS val 2019058 ecr 2211778668], length 0
09:35:40.288269 IP merionet.com.54899 > gateway.domain: 43760+ PTR? 103.0.168.192.in-addr.arpa. (44)
09:35:40.333763 IP gateway.domain > merionet.com.54899: 43760 NXDomain* 0/1/0 (94)
09:35:40.335311 IP merionet.com.52036 > gateway.domain: 44289+ PTR? 1.0.168.192.in-addr.arpa. (42)

Чтобы захватить определенное количество пакетов, используйте параметр -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 для различных целей из нашей статьи

21. Firewalld

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

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

22. UFW (Uncomplicated Firewall)

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

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

$ sudo ufw status

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

$ sudo ufw enable

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

$ sudo ufw disable

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

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

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker