Сеть и DNS

Доступность, DNS, маршруты, порты и firewall.

DNS и доступность

Сначала проверить IP, потом DNS-имя, потом HTTP-ответ.

ping -c 3 1.1.1.1
ping -c 3 ya.ru
dig +short dadiz-server.ru @1.1.1.1
dig dadiz-server.ru
curl -I https://dadiz-server.ru
traceroute dadiz-server.ru

Маршруты и интерфейсы

Помогает понять, через какой интерфейс пойдёт трафик и есть ли адрес на нужной сетевой карте.

ip -br a
ip route
ip route get 1.1.1.1
resolvectl status
resolvectl query dadiz-server.ru
nmcli dev status

Порты и процессы

Проверка, кто слушает порт и есть ли соединения.

ss -ltnup
ss -tnp
ss -ltnup | grep ':443'
lsof -i :443
curl -s -o /dev/null -w "%{http_code}\n" https://dadiz-server.ru

Firewall

Перед закрытием порта проверить, какой сервис его использует и откуда нужен доступ.

ufw status verbose
ufw status numbered
iptables -S
iptables -t nat -L -n -v
nft list ruleset

HTTP и загрузки

Для проверки доступности удобно отделять DNS, TCP-подключение и HTTP-ответ.

curl -v https://dadiz-server.ru
curl -L -o /tmp/file.html https://dadiz-server.ru
wget --spider https://dadiz-server.ru
wget -O /tmp/file.html https://dadiz-server.ru
curl --resolve dadiz-server.ru:443:127.0.0.1 https://dadiz-server.ru

Порт руками

`nc` помогает быстро понять, открыт порт или нет, без привязки к конкретному приложению.

nc -vz dadiz-server.ru 443
nc -l 8080
printf 'hello\n' | nc 127.0.0.1 8080
tracepath dadiz-server.ru
mtr -rw dadiz-server.ru

Пакеты на интерфейсе

tcpdump запускать точечно: интерфейс, порт и ограничение количества пакетов.

tcpdump -D
tcpdump -i eth0 -nn port 443 -c 50
tcpdump -i any -nn host 1.1.1.1 -c 30
tcpdump -i eth0 -w /tmp/capture.pcap -c 200
ss -s