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

7688
nmcli
nmcli

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

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

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

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

В некоторых из этих команд вы увидите <fqdn> (fully qualified domain name)- полное доменное имя. Встретив его, замените его, подставьте URL вашего сайта или вашего сервера (например, server-name.company.com), в зависимости от ситуации.

Ping

Как следует из названия, ping используется для проверки сквозного соединения между вашей системой и системой, к которой вы пытаетесь подключиться. Он использует эхо-пакеты ICMP, которые возвращаются обратно к вашей системе при успешном выполнении ping. Это также хороший способ для проверки подключения к системе/сети. Команду ping можно использовать с адресами IPv4 и IPv6.

Syntax:

IPv4: ping <ip address>/<fqdn>
IPv6: ping6 <ip address>/<fqdn>

Также можете использовать ping для преобразования имен веб-сайтов в соответствующие им IP-адреса, как показано ниже:

Использование ping для выяснения IP-адреса сайта по его имени
Использование ping для выяснения IP-адреса сайта по его имени

Traceroute

Traceroute — это служебная компьютерная программа, предназначенная для определения маршрутов следования данных в сетях TCP/IP. Traceroute может использовать разные протоколы передачи данных в зависимости от операционной системы устройства. Такими протоколами могут быть UDP, TCP, ICMP или GRE. Компьютеры с установленной операционной системой Windows используют ICMP-протокол, при этом операционные системы Linux и маршрутизаторы Cisco — протокол UDP. Wikipedia

Syntax:

traceroute <ip address>/<fqdn>

Telnet

Выполняет функции протокола прикладного уровня модели OSI. Протокол telnet использовался для удалённого администрирования различными сетевыми устройствами и программными серверами, но уступил ssh из-за безопасности.

Syntax:

telnet <ip address>/<fqdn> используется для подключения к любому серверу через telnet.

Netstat

Утилита (netstat) используется для сбора сведений о сети, служит для устранения проблем и проверки интерфейсов/портов, таблиц маршрутизации, работе протоколов и т.д.. Это обязательный инструмент любого сисадмина.

Syntax:

netstat -l показывает список всех портов, которые находятся в режиме прослушивания.

netstat -a показывает сведения о портах; чтобы ограничиться только TCP, используйте -at (для UDP используйте -au).

netstat -r просмотр таблицы маршрутизации.

netstat-r
netstat-r
netstat -s предоставляет сводную статистику по каждому протоколу.
netstat -s
netstat -s
netstat -i отображает статистику пакетов передачи/приема (transmission/receive, TX/RX) ) для каждого интерфейса.
netstat-i
netstat-i

Nmcli

nmcli — хорошая утилита для управления сетевыми подключениями, конфигурациями и т.д. С ее помощью можно управлять Network Manager и изменять конфигурации любого сетевого устройства.

Syntax:

nmcli device выводит список сетевых интерфейсов в системе.
nmcli device show <interface> выводит информацию по конкретному интерфейсу
nmcli connection проверка подключения устройства к сети
nmcli connection down <interface> отключает указанный интерфейс
nmcli connection up <interface>  позволяет включить указанный интерфейс
nmcli con add type vlan con-name <connection-name> dev <interface> id <vlan-number> команда, которая добавляет VLAN-интерфейс с заданным VLAN-номером, IP-адресом и шлюзом к указанному интерфейсу
nmcli
nmcli

Routing

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

Syntax:

ip route показывает все текущие маршруты, настроенные для соответствующих интерфейсов.
ip-route
ip-route
route add default gw <gateway-ip> добавляет шлюз по умолчанию в таблицу маршрутизации
route add -net <network ip/cidr> gw <gateway ip> <interface> добавляет новый сетевой маршрут в таблицу маршрутизации. Существует множество других параметров маршрутизации, таких как добавление маршрута по умолчанию, шлюза по умолчанию и т.д.
route del -net <network ip/cidr> удаляет определенную запись маршрута из таблицы маршрутизации.
route-add-del
route-add-del
ip neighbor показывает текущую таблицу соседей и может использоваться для добавления, изменения или удаления новых соседей.
ip-neighbor
ip-neighbor
ip-neigh-help
ip-neigh-help
arp (Address Resolution Protocol) похож на ip neighbor. arp сопоставляет IP-адрес системы с соответствующим MAC-адресом (контроль доступа)
arp
arp

Tcpdump и Wireshark

Linux предоставляет множество инструментов для перехвата пакетов, таких как tcpdump, wireshark, tshark и др. Они используются для перехвата сетевого трафика в передаваемых/принимаемых пакетах и, следовательно, могут быть очень полезны для системного администратора для отладки любых потерь пакетов или связанных с ними проблем. Для любителей командной строки tcpdump, для пользователей графического интерфейса wireshark. Tcpdump — встроенная утилита Linux для захвата сетевого трафика.  Ее можно использовать для захвата и вывода трафика с фильтрацией по портам, протоколам, и по другим признакам и n&l&

Syntax:

tcpdump -i <interface-name> показывает пакеты в реальном времени с указанного интерфейса. Пакеты можно сохранить в файл, добавив к команде флаг -w и имя выходного файла, например: tcpdump -w <output-file.> -i <interface-name>.
tcpdump-i
tcpdump-i
tcpdump -i <interface> src <source-ip> перехватывает пакеты с определенного IP-адреса.
tcpdump -i <interface> dst <destination-ip> перехватывает пакеты с заданного IP-адреса.
tcpdump -i <interface> port <port-number> перехватывает трафик с определенного порта, например 53, 80, 8080 и т.д.
tcpdump -i <interface> <protocol> перехватывает трафик с определенного протокола, например TCP, UDP и т.д.

Iptables

iptables — это утилита фильтрации пакетов, подобная брандмауэру, которая может разрешать или блокировать определенный трафик. Область применения этой утилиты очень широка; вот несколько наиболее распространенных вариантов ее использования.

Syntax:

iptables -L выводит все существующие правила iptables.
iptables -F удаляет все существующие правила.

Следующие команды разрешают трафик с указанного порта на указанный интерфейс:

iptables -A INPUT -i <interface> -p tcp –dport <port-number> -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o <interface> -p tcp -sport <port-number> -m state – state ESTABLISHED -j ACCEPT

Следующие команды разрешают прохождение трафика с заданного порта к заданному интерфейсу:

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

Nslookup

Инструмент nslookup используется для получения сопоставления IP-адресов веб-сайта или домена. Он также может использоваться для получения информации о вашем DNS-сервере, например, всех DNS-записей веб-сайта (см. пример ниже). Утилита dig (Domain Information Groper) похожа на nslookup.

Syntax:

nslookup <website-name.com> показывает IP-адрес вашего DNS-сервера в поле Server, а ниже - IP-адрес искомого сайта.
nslookup -type=any <website-name.com> показывает все доступные записи для указанного сайта/домена.

Отладка сети/интерфейса

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

Syntax:

ss — утилита для вывода статистической информации о сокетах.
nmap <ip-address> — имя этой команды является сокращением от Network Mapper. Она сканирует сетевые порты, обнаруживает хосты, выясняет MAC-адреса и выполняет множество других задач.
ip addr/ifconfig -a — эта команда предоставляет сведения об IP-адресах и другие данные по всем интерфейсам системы.
ssh -vvv user@<ip/domain> — такая команда позволяет подключиться по SSH к другому компьютеру, используя заданный IP-адрес или доменное имя компьютера и имя пользователя. Флаг -vvv позволяет получать подробные сведения о происходящем.
ethtool -S <interface> — данная команда позволяет вывести статистические сведения по заданному интерфейсу.
ifup <interface> — эта команда включает указанный интерфейс.
ifdown <interface> — эта команда отключает указанный интерфейс.
systemctl restart network — с помощью этой команды можно перезагрузить системную сетевую подсистему.
/etc/sysconfig/network-scripts/<interface-name> — это — файл настройки интерфейсов, используемый для указания IP-адреса, сети, шлюза и других параметров для заданного интерфейса. Здесь можно задать использование интерфейсом DHCP-режима.
/etc/hosts — данный файл содержит сведения о соответствии хостов или доменов IP-адресам, настроенные администратором.
/etc/resolv.conf — в этом файле хранятся настройки DNS.
/etc/ntp.conf — этот файл хранит настройки NTP.

 

original