- PVSM.RU - https://www.pvsm.ru -
В повседневные задачи системных администраторов входит работа с сетями и с подключённым к ним оборудованием. Нередко роль рабочего места администратора играет компьютер, на котором установлен какой-нибудь дистрибутив Linux. Утилиты и команды Linux, о которых пойдёт речь в материале, перевод которого мы публикуем сегодня, включают в себя список инструментов различной сложности — от простых, до продвинутых, которые предназначены для решения широкого спектра задач по управлению сетями и по диагностике сетевых неполадок.
В некоторых из рассматриваемых здесь примеров вы столкнётесь с сокращением <fqdn>
(fully qualified domain name, полное доменное имя). Встретив его, замените его, в зависимости от обстоятельств, на адрес интересующего вас сайта или сервера, например, на нечто вроде server-name.company.com
.
Утилита ping
, как можно судить по её названию, используется для проверки связи между узлами сети, между компьютером, на котором её запускают, и другой системой. Эта утилита использует протокол ICMP [2], отправляя эхо-запросы, на которые отвечает удалённая система, получающая их. Использование ping
, кроме того — это хороший способ проверки связности сети, проводимой в качестве первого шага диагностики сети при наличии неполадок. Команду ping
можно использовать с адресами IPv4 и IPv6. Тут [3] можно почитать подробности об IP-адресах и о работе с ними.
IPv4: ping <ip address>/<fqdn>
IPv6: ping6 <ip address>/<fqdn>
Ping, кроме того, можно использовать для выяснения IP-адресов сайтов на основе их имён. Вот как это выглядит.
Использование ping для выяснения IP-адреса сайта по его имени
Traceroute
— это приятная утилита, которая позволяет исследовать маршруты передачи данных между компьютерами. В то время как команда ping
направлена на то, чтобы выяснить, можно ли установить связь между двумя узлами сети, traceroute
даёт сведения об IP-адресах маршрутизаторов, через которые проходят данные от вашей системы до конечной, например — до веб-сайта или сервера. Команда traceroute
обычно применяется на втором шаге диагностики сети, после команды ping
.
traceroute <ip address>/<fqdn>
Утилита telnet
позволяет связаться с удалённым компьютером по протоколу Telnet и взаимодействовать с ним, используя соответствующие команды.
Для организации сеанса Telnet [4]-связи с другим компьютером используется следующая команда:
telnet <ip address>/<fqdn>
Эта команда позволяет собирать сведения о сети и используется в ходе поиска и исправления сетевых неполадок, применяется для проверки данных о работе интерфейсов и портов, для исследования таблиц маршрутизации, для изучения информации о работе протоколов. Эта команда непременно должна присутствовать в арсенале системного администратора.
Для того чтобы получить список всех портов, находящихся в режиме прослушивания, воспользуйтесь такой командой:
netstat -l
Следующая команда выводит сведения обо всех портах. Для того чтобы ограничиться только TCP-портами, нужно воспользоваться ключом -at
, для того, чтобы получить данные об UDP-портах, используйте ключ -au
.
netstat -a
Для просмотра таблиц маршрутизации воспользуйтесь такой командой:
netstat -r
Вот как выглядит результат выполнения этой команды.
Сведения о таблице маршрутизации
Вот вариант этой команды, выводящий статистику по протоколам:
netstat -s
Статистика по протоколам
Следующий вариант вызова netstat
позволяет узнать сведения об отправленных и полученных пакетах (transmission/receive, TX/RX) по каждому интерфейсу:
Данные об отправленных и полученных пакетах
Утилита nmcli
отлично подходит для управления сетевыми соединениями, для выполнения настроек и для решения других подобных задач. С её помощью можно управлять программой NetworkManager
и модифицировать сетевые параметры различных устройств.
Вот как с помощью nmcli
вывести список сетевых интерфейсов:
nmcli device
Так можно вывести информацию по конкретному интерфейсу:
nmcli device show <interface>
Следующий вариант вызова команды позволяет проверить подключение устройства к сети:
nmcli connection
Примеры использования nmcli
Эта команда позволяет отключить заданный интерфейс:
nmcli connection down <interface>
А эта позволяет включить интерфейс:
nmcli connection up <interface>
Вот пример команды, которая добавляет VLAN-интерфейс с заданным VLAN-номером, IP-адресом и шлюзом к указанному интерфейсу:
nmcli con add type vlan con-name <connection-name> dev <interface> id <vlan-number> ipv4 <ip/cidr> gw4 <gateway-ip>
Существует множество команд, которые можно использовать для проверки правил маршрутизации и их настройки. Рассмотрим самые полезные из них.
Следующая команда показывает все текущие маршруты, настроенные для соответствующих интерфейсов:
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
.
Использование команды route
Вот команда, которая применяется для вывода текущей таблицы соседей. Кроме того, её можно использовать для добавления, изменения или удаления сведений о соседях:
ip neighbor
Взглянем на примеры её использования.
Данные, полученные с помощью команды ip neighbor
Вот сведения о команде ip neigh
Сведения о команде ip neigh
Команда arp
(ARP — это сокращение от Address Resolution Protocol, протокол определения адреса) похожа на ip neighbor
. Утилита arp
выводит данные о соответствии IP-адресов MAC -адресам. Вот как её использовать:
arp
Вот пример её вызова.
Вызов команды arp
Linux даёт в распоряжение администратора множество инструментов для захвата и анализа пакетов. Среди них, например, tcpdump
, wireshark
, tshark
, и другие. Они используются для захвата сетевого трафика в передаваемых системой пакетах или в пакетах, получаемых ей. Это делает их весьма ценным инструментом администратора, помогающим в деле выяснения причин различных сетевых неполадок. Тем, кто предпочитает командную строку всем остальным способам общения с компьютерами, понравится tcpdump
. Тем же, кто любит графические интерфейсы, можно порекомендовать wireshark
— отличный инструмент для захвата и анализа пакетов. Утилита tcpdump
— это встроенное в Linux средство для захвата сетевого трафика. Его можно использовать для захвата и вывода трафика с фильтрацией по портам, протоколам, и по другим признакам.
Такая команда показывает, в режиме реального времени, пакеты с заданного интерфейса:
tcpdump -i <interface-name>
Пакеты можно сохранять в файл, воспользовавшись флагом -w
и задав имя файла:
tcpdump -w <output-file.> -i <interface-name>
Вот пример использования tcpdump
.
Использование tcpdump
Следующий вариант команды используется для захвата пакетов, приходящих с заданного IP системы-источника:
tcpdump -i <interface> src <source-ip>
Так можно захватить пакеты, идущие на заданный адрес системы-приёмника:
tcpdump -i <interface> dst <destination-ip>
Вот пример использования tcpdump
для захвата пакетов для заданного номера порта, например, это может быть порт 53, 80, 8080, и так далее:
tcpdump -i <interface> port <port-number>
Здесь показано, как с помощью tcpdump
захватывать пакеты заданного протокола, вроде TCP, UDP или других:
tcpdump -i <interface> <protocol>
Утилита iptables
похожа на файрвол, она поддерживает фильтрацию пакетов, что позволяет управлять трафиком, пропуская или блокируя его. Диапазон возможностей этой утилиты огромен. Рассмотрим несколько наиболее распространённых вариантов её использования.
Следующая команда позволяет вывести все существующие правила iptables
:
iptables -L
Эта команда удаляет все существующие правила:
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
Следующие команды разрешают loopback-доступ к системе:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Инструмент nslookup
используется для получения сведений о назначении IP-адресов сетевым ресурсам. Его можно использовать и для получения сведений с DNS-серверов, например таких, как все DNS-записи для некоего веб-сайта (ниже мы рассмотрим соответствующий пример). На nslookup
похожа утилита dig
(Domain Information Groper).
Следующая команда выводит IP-адреса вашего DNS-сервера в поле Server, и, ниже, выдаёт IP-адрес искомого сайта:
nslookup <website-name.com>
Такая команда показывает все доступные записи для заданного веб-сайта или домена:
nslookup -type=any <website-name.com>
Вот набор команд и список важных файлов, используемых для идентификации сетевых неполадок.
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.В этой небольшой шпаргалке мы рассказали о сетевых инструментах Linux, предназначенных для системных администраторов. Надеемся, вам эти инструменты пригодятся.
Уважаемые читатели! Чем вы пользуетесь для администрирования сетей и для выяснения причин сетевых неполадок?
Автор: ru_vds
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/286503
Ссылки в тексте:
[1] Image: https://habr.com/company/ruvds/blog/417485/
[2] ICMP: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol
[3] Тут: https://opensource.com/article/18/5/how-find-ip-address-linux
[4] Telnet: https://en.wikipedia.org/wiki/Telnet
[5] Источник: https://habr.com/post/417485/?utm_source=habrahabr&utm_medium=rss&utm_campaign=417485
Нажмите здесь для печати.