Linux 네트워크 점검 가이드
Linux 네트워크 점검 가이드입니다. link/IP/route/DNS/TCP listen/firewall/tcpdump 순서로 장애를 분리하는 명령어와 해석 기준을 정리했습니다.
Linux 네트워크 점검은 link, IP, route, DNS, TCP listen, 방화벽, 외부 경로를 순서대로 분리하는 작업입니다. 한 번에 모든 것을 의심하면 오래 걸리므로 계층별로 확인합니다.
인터페이스와 주소
ip -br link
ip -br addr
ip addr show dev eth0
ethtool eth0 2>/dev/null
link가 down이면 IP나 DNS를 보기 전에 케이블, vSwitch, bond, VLAN, NIC driver부터 확인합니다.
라우팅
ip route
ip route get 8.8.8.8
ip rule
tracepath 8.8.8.8
ip route get은 특정 목적지로 나갈 때 어떤 source IP와 interface가 선택되는지 보여줍니다. 다중 NIC 서버에서 유용합니다.
DNS
cat /etc/resolv.conf
resolvectl status 2>/dev/null
dig example.com
dig @8.8.8.8 example.com
getent hosts example.com
IP 접속은 되는데 도메인만 실패하면 DNS resolver, search domain, split DNS, 방화벽 UDP/TCP 53을 확인합니다.
포트와 연결
ss -lntup
ss -ant state established
nc -vz 192.0.2.10 443
curl -vk --connect-timeout 5 https://example.com/
로컬 listen은 정상인데 외부에서 접속이 안 되면 host firewall, cloud security group, upstream firewall, NAT, reverse proxy를 차례로 봅니다.
방화벽
sudo firewall-cmd --list-all 2>/dev/null
sudo nft list ruleset 2>/dev/null | head -n 80
sudo iptables -L -n -v 2>/dev/null
sudo ufw status verbose 2>/dev/null
한 서버에서 firewalld, nftables, iptables, ufw가 섞여 있으면 실제 적용 경로가 헷갈릴 수 있습니다. 운영 표준 도구를 하나로 정리하는 것이 좋습니다.
패킷 캡처
sudo tcpdump -ni eth0 host 192.0.2.10
sudo tcpdump -ni eth0 tcp port 443
sudo tcpdump -ni any icmp
tcpdump는 원인을 빠르게 좁히는 강력한 도구지만, 요청 본문이나 인증 정보가 캡처될 수 있습니다. 필요한 시간과 필터만 좁게 잡고 pcap 공유 전 민감정보를 확인합니다.
장애 분리 예시
- link up/down 확인
- IP와 gateway 확인
- 목적지 route 확인
- DNS 이름 해석 확인
- TCP 연결 확인
- 서버 listen과 방화벽 확인
- tcpdump로 SYN/SYN-ACK 흐름 확인