====== Работа с сетью ====== Настройки DNS хранятся в файле **/etc/resolv.conf**, строки вида: **nameserver 8.8.8.8** ===== Утилита ip ===== Формат: **ip [опции] объект команда [параметры]**.\\ * **-h, -human** - удобочитаемая версия * **-s, -stats** - статистическая информация * **-d, -details** - больше деталей * **-a, -all** - применить команду ко всем интерфейсам * **-br, -brief** - выводить только базовую информацию * **a, address** - адреса * **l, link** - физическое устр-во * **neigh, neighbour** - управление ARP * **r, route** - управление маршрутизацией * **ru, rule** -правила маршрутизации * **t, tunnel** - настройка туннелирования
:!: Примеры # просмотр адресов [краткая форма] ip [-br] a [[dev] eth0] # только статические (динамические) адреса ip addr show dev permanent (dynamic) # добавить (удалить) ip ip addr add (del) / dev # удалить все адреса [все в этой подсети] ip a flush [to ] # список интерфейсов ip l (link show) # включение/выключение интерфейсов ip l set dev # Либо так ifup eth0 / ifdown eth0 # просмотр маршрута ip route show # смешанный режим ip l set promisc on (off) # установить MAC ip l set dev address # просмотр ARP ip n (neigh show) # добавить ARP ip neigh add lladdr dev # очистить ARP ip neigh flush [dev ] # Добавить маршрут ip route add [destin]/24 via [gateway] dev [IFace] # Удалить маршрут ip route delete [destin]/24
===== Утилита ss ===== Утилита для **просмотра** текущих **соединений** и открытых **портов**.\\ Главное отличие от netstat в том, что она построена на базе **отдельной подсистемы**, в то время как netstat сканировала всю директорию /proc.\\ # ss опции[фильтр состояния][фильтр адреса] * **-n** - не определять имена служб * **-r** - разрешать ДНС * **-a (-l)** - отобразить все сокеты (только прослушиваемые) * **-e** - расширенная инфа о сокете * **-p** - процессы использующие сокеты * **-i** - внутренняя информация TCP * **-s** - статистика использования сокета * **-D (-F)** - экспортировать в файл (открыть файл) * **-4, --ipv4 (-6, --ipv6)** - только IPv4 (IPv6) * **-t, --tcp (-u, --udp)** - tcp (udp) * **-d, --dhcp (-r, --raw)** * **-f [protocol]** - для указания протокола
:!: Примеры # ss -ntlup # только tcp (udp) соединения ss -t (-ua) # только установленные соединения ss -t4 state established syn-sent[-recv]**, **time-wait**, **closed[-wait]**, **last-ack**, **fin-wait-1[-2]**, **closing**, # фильтрация диапазоном портов ss -nt '(dst:443 or sport != :ssh)' # фильтрация по ip [порт] ss -nt dst 8.8.8.8 [:53]
===== Трафик ===== trafshow\\ iftop\\ ===== Маршрутизация =====
:!: Примеры # info route (routel) (ip route) # Добавить маршрут ip route add via dev ip route add 10.200.192.25 via 10.4.0.248 dev tun1 # ip route del 122.252.228.38/32 #
===== Трассировка ===== Утилита **traceroute** позволяет произвести трассировку запроса.\\ * **-i** - через указанный интерфейс * **-g** - через указанный шлюз * **-f** - указать TTL с которого нужно начать * **-l (-T)** - использовать ICMP (TCP) пакеты вместо UDP * **-P** - протокол (raw, dccp, udplite, udp, tcpconn, tcp, icmp) # traceroute ya.ru ===== curl =====
:!: Примеры # Внешний IP адрес curl "http://2ip.ru"
===== Overall ===== # Драйвера сетевых устройств lspci # Драйвера сетевых протоколов lsmod ===== Сетевая служба ===== nmcli -o systemctl status NetworkManager nmcli networking off[on] systemctl restart NetworkManager # ===== Настройка статики/NAT ===== **Almalinux**\\ /etc/sysconfig/network-scripts/ifcfg-enp0s3\\ {{:linux:overall:statisip_almalinux.png?direct&600|}} **Debian**\\ :!: ВАЖНО\\ Для работы "**dns-nameservers**" нужен пакет "**resolvconf**"\\ /etc/network/interfaces\\ {{:linux:overall:2024-08-10_13-10.png?direct&400|}}\\ Для рестарта достаточно выключить/включить интерфейс:\\ sudo bash -c "ifdown enp0s3 && ifup enp0s3"