ip
— это один из стандартных инструментов, который необходим любому системному администратору для решения его повседневных задач — от настройки новых компьютеров и назначения им IP-адресов, до борьбы с сетевыми проблемами существующих систем. Команда ip
может выводить сведения о сетевых адресах, позволяет управлять маршрутизацией трафика и, кроме того, способна давать данные о различных сетевых устройствах, интерфейсах и туннелях.ip <OPTIONS> <OBJECT> <COMMAND>
<OBJECT>
(подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:address
— адрес протокола (IPv4 или IPv6) на устройстве.tunnel
— IP-туннель.route
— запись таблицы маршрутизации.rule
— правило в базе данных политики маршрутизации.vrf
— управление виртуальными устройствами маршрутизации и перенаправления трафика.xfrm
— управление IPSec-политикой.ip
.[root@server ~]# ip address show
enps03
:[root@server ~]# ip address add 192.168.1.254/24 dev enps03
[root@server ~]# ip address del 192.168.1.254/24 dev enps03
eth0
:[root@server ~]# ip link set eth0 up
eth0
:[root@server ~]# ip link set eth0 down
eth0
:[root@server ~]# ip link set eth0 mtu 9000
eth0
в режим приёма всех сетевых пакетов:[root@server ~]# ip link set eth0 promisc on
eth0
:[root@server ~]# ip route add default via 192.168.1.254 dev eth0
[root@server ~]# ip route add 192.168.1.0/24 via 192.168.1.254
eth0
:[root@server ~]# ip route add 192.168.1.0/24 dev eth0
[root@server ~]# ip route delete 192.168.1.0/24 via 192.168.1.254
[root@server ~]# ip route get 10.10.1.4
ifconfig
до определённого времени представляла собой один из основных инструментов, используемых многими системными администраторами для настройки сетей и решения сетевых проблем. Теперь ей на замену пришла команда ip
, о которой мы только что говорили. Но если вас, всё же, интересует эта команда, можете взглянуть на данный материал.MTR
(Matt's traceroute) — это программа, работающая в режиме командной строки, представляющая собой инструмент для диагностики сетей и устранения сетевых неполадок. Эта команда совмещает в себе возможности ping
и traceroute
. Она, как traceroute
, может выводить сведения о маршруте, по которому сетевые данные идут от одного компьютера к другому. Она выводит массу полезных сведений о каждом шаге маршрутизации, например — время ответа системы. Благодаря использованию команды mtr
можно получить довольно подробные сведения о маршруте, можно обнаружить устройства, которые вызывают проблемы при прохождении данных по сети. Если, например, наблюдается рост времени ответа системы, или рост числа потерянных пакетов, это позволяет с уверенностью говорить о том, что где-то между исследуемыми системами возникла проблема с сетевым соединением.mtr <options> hostname/IP
mtr
.[root@server ~]# mtr google.com
mtr
, когда вместо имён хостов выводятся их IP-адреса (речь идёт о ключе -g
, благодаря которому вместо имён выводятся числовые IP-адреса):[root@server ~]# mtr -g google.com
[root@server ~]# mtr -b google.com
[root@server ~]# mtr -c 10 google.com
mtr
:[root@server ~]# mtr -r -c 10 google.com > mtr-command-google-output
[root@server ~]# mtr -rw -c 10 google.com > mtr-command-google-output
[root@server ~]# mtr –tcp google.com
[root@server ~]# mtr –udp google.com
[root@server ~]# mtr -m 35 216.58.223.78
[root@server ~]# mtr -r -s 50 google.com
mtr
в формате CSV используется такая команда:[root@server ~]# mtr –csv google.com
mtr
в формате XML:[root@server ~]# mtr –xml google.com
tcpdump
предназначена для захвата и анализа пакетов.[root@server ~]# dnf install -y tcpdump
sudo
или иметь root-доступ к системе.[root@server ~]# tcpdump -D
1 eth0
2 nflog
3 nfqueue
4 usbmon1
5 any
6 lo (Loopback)
eth0
— этот процесс можно запустить такой командой:[root@server ~]# tcpdump -i eth0
-c
) количества пакетов, которые нужно захватить:[root@server ~]# tcpdump -i eth0 -c 10
[root@server ~]# tcpdump -i eth0 -c 10 host 8.8.8.8
[root@server ~]# tcpdump -i eth0 src host 8.8.8.8
[root@server ~]# tcpdump -i eth0 dst host 8.8.8.8
[root@server ~]# tcpdump -i eth0 net 10.1.0.0 mask 255.255.255.0
[root@server ~]# tcpdump -i eth0 net 10.1.0.0/24
[root@server ~]# tcpdump -i eth0 src net 10.1.0.0/24
[root@server ~]# tcpdump -i eth0 dst net 10.1.0.0/24
[root@server ~]# tcpdump -i eth0 port 53
[root@server ~]# tcpdump -i eth0 host 8.8.8.8 and port 53
[root@server ~]# tcpdump -i eth0 -c 10 host www.google.com and port 443
[root@server ~]# tcpdump -i eth0 port not 80 and not 25
netstat
используется для вывода сведений о сетевых соединениях и таблицах маршрутизации, данных о работе сетевых интерфейсов, о masquerade-соединениях, об элементах групп многоадресной рассылки. Эта утилита является, как и ifconfig
, частью пакета net-tools
. В новом пакете iproute2
для достижения тех же целей используется утилита ss
.netstat
отсутствует, установить эту программу можно так:[root@server ~]# dnf install net-tools
[root@server ~]# netstat
netstat <options>
netstat
и с несколькими параметрами, перечислив их друг за другом:netstat <option 1> <option 2> <option 3>
[root@server ~]# netstat -a
[root@server ~]# netstat -at
[root@server ~]# netstat -au
[root@server ~]# netstat -l
[root@server ~]# netstat -lt
[root@server ~]# netstat -lu
[root@server ~]# netstat -lx
[root@server ~]# netstat -s
[root@server ~]# netstat -st
[root@server ~]# netstat -tp
[root@server ~]# netstat -an | grep ‘:<port number>’
nslookup
используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.[root@server ~]# nslookup example.com
[root@server ~]# nslookup -type=ns example.com
[root@server ~]# nslookup -query=mx example.com
[root@server ~]# nslookup -type=any example.com
ns1.nsexample.com
):[root@server ~]# nslookup example.com ns1.nsexample.com
[root@server ~]# nslookup 10.20.30.40
ping
— это инструмент, с помощью которого проверяют, на уровне IP, возможность связи одной TCP/IP-системы с другой. Делается это с использованием эхо-запросов протокола ICMP (Internet Control Message Protocol Echo Request). Программа фиксирует получение ответов на такие запросы и выводит сведения о них вместе с данными о времени их приёма-передачи. Ping
— это основная команда, используемая в TCP/IP-сетях и применяемая для решения сетевых проблем, связанных с целостностью сети, с возможностью установления связи, с разрешением имён.[root@server ~]# ping google.com
PING google.com (216.58.206.174) 56(84) bytes of data.
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=1 ttl=56 time=10.7 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=2 ttl=56 time=10.2 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=3 ttl=56 time=10.4 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=4 ttl=56 time=10.4 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=5 ttl=56 time=17.3 ms
^C
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 10.219/11.844/17.381/2.773 ms
ping
можно остановить, воспользовавшись сочетанием клавиш CTRL+C
. В противном случае она будет выполнять запросы до тех пор, пока её не остановят. После каждой ping-сессии выводятся сводные данные, содержащие следующие сведения:Min
— минимальное время, которое требуется на получение ответа от пингуемого хоста.Avg
— среднее время, которое требуется на получение ответа.Max
— максимальное время, которое требуется на получение ответа.ping
в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping
надо запустить так:[root@server ~]# ping -c 10 google.com
ping
— можно воспользоваться ключом -q
:[root@server ~]# ping -c 10 -q google.com
ping
. Например, есть компьютер, имеющий интерфейсы eth0
и eth1
. Если нужно, чтобы команда ping
использовала бы интерфейс eth0
— надо запустить её так:[root@server ~]# ping -I eth0 google.com
[root@server ~]# ping -I 10.233.201.45 google.com
[root@server ~]# ping -4 google.com
[root@server ~]# ping -6 google.com
ping
вы столкнётесь с различными результатами. В частности, это могут быть сообщения о нештатных ситуациях. Рассмотрим три таких ситуации.ping
выглядит именно так — это значит, что локальная система не получила, в заданное время, эхо-ответов от целевой системы. По умолчанию используется время ожидания ответа в 1 секунду, но этот параметр можно настроить. Подобное может произойти по разным причинам. Чаще всего это — перегруженность сети, сбой ARP-запроса, отбрасывание пакетов фильтром или файрволом и прочее подобное.К сожалению, не доступен сервер mySQL