우분투에서 ping, ifconfig, nslookup이 “command not found”로 나오면 각각 iputils-ping, net-tools, dnsutils 패키지를 설치하면 된다. 다만 ifconfig는 오래된 net-tools에 속하는 도구라서 요즘은 같은 정보를 ip addr로 확인하는 것이 일반적이고, ifconfig의 man 페이지도 링크 계층 정보는 iproute2의 ip link를 쓰라고 안내한다.4 이 글은 세 명령의 용도, 설치법, 자주 쓰는 옵션과 출력 읽는 법, 그리고 대체 명령을 정리한다.
세 명령은 각각 무엇을 확인하나?
| 명령 | 용도 | 설치 패키지 |
|---|---|---|
| ping | 대상 IP·도메인까지 통신이 되는지, 응답 시간은 얼마인지 | iputils-ping |
| ifconfig | 내 서버의 네트워크 인터페이스(NIC)와 IP 설정 | net-tools |
| nslookup | 도메인에 매핑된 IP(DNS 응답) 조회 | dnsutils |
우분투는 데비안 계열이라 패키지 관리자로 apt를 쓴다. CentOS 계열은 yum(또는 dnf)을 쓴다.
설치 전에 무엇부터 해야 하나?
패키지 목록을 먼저 갱신한다. 이 명령은 프로그램을 업그레이드하는 것이 아니라 설치 가능한 패키지 정보를 새로 받는다.
sudo apt update

ping은 어떻게 설치하고 읽나?
설치 전에 실행하면 아래처럼 명령을 찾을 수 없다는 메시지가 나온다.

sudo apt install iputils-ping
ping -c 4 example.com

ping은 ICMP ECHO_REQUEST를 보내고 상대가 ECHO_REPLY로 답하는 방식이다.2 옵션은 다음을 자주 쓴다.2
| 옵션 | 의미 |
|---|---|
| -c N | N번만 보내고 종료 |
| -i 초 | 패킷 간격(기본 1초) |
| -s 바이트 | 데이터 크기(기본 56바이트) |
| -W 초 | 응답 대기 시간 |
| -w 초 | 지정 시간이 지나면 종료 |
출력 예시는 다음과 같다(값은 예시).
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=12.4 ms
...
4 packets transmitted, 4 received, 0% packet loss
rtt min/avg/max/mdev = 11.9/12.5/13.2/0.5 ms
time은 왕복 시간이고, packet loss는 응답을 받지 못한 비율이다. mdev가 클수록 지연이 들쭉날쭉하다는 뜻이다.2 응답이 하나도 없으면 종료 코드가 1이므로 스크립트에서 연결 여부 판단에도 쓸 수 있다.2 단, 일부 서버와 방화벽은 ICMP를 막아 두므로 ping이 실패해도 서비스가 죽었다고 단정할 수는 없다.

ifconfig는 어떻게 설치하고, 왜 ip 명령을 권하나?
sudo apt install net-tools
ifconfig
ifconfig -a
-a는 내려가 있는(down) 인터페이스까지 모두 보여 준다.4 출력에서 실제 NIC(예: enp1s0)와 도커가 만든 가상 NIC(docker0, veth 등)를 구분해서 보면 된다.


ifconfig는 패키지를 따로 설치해야 하고, 최신 기능은 iproute2의 ip 명령에 집중돼 있다. 대체 명령은 다음과 같다.1
| 하려는 일 | ifconfig | ip 명령 |
|---|---|---|
| IP·인터페이스 확인 | ifconfig | ip addr 또는 ip -br addr |
| 링크 상태 확인 | ifconfig -a | ip link |
| 인터페이스 켜기/끄기 | ifconfig eth0 up/down | ip link set eth0 up/down |
| 라우팅 테이블 | route(net-tools) | ip route |
-br 옵션은 ip addr show, ip link show 등에서 쓸 수 있는 요약 출력이다.1 인터페이스 이름은 서버마다 다르므로 eth0 대신 실제 이름으로 바꿔서 쓴다.
nslookup은 어떻게 설치하고 쓰나?
sudo apt install dnsutils
nslookup example.com
nslookup example.com 8.8.8.8
첫 번째 인자는 조회할 이름, 선택 인자인 두 번째는 질의할 DNS 서버다. 인자 없이 실행하면 대화형 모드로 들어가고 exit로 나온다. 질의 실패가 있으면 종료 코드 1을 돌려준다.3 도메인 설정이 반영됐는지, 어느 DNS 서버가 어떤 IP로 답하는지 확인할 때 쓴다. 특정 DNS 서버를 지정해 비교하면 내 서버의 DNS 설정 문제인지 도메인 자체 문제인지 구분하기 쉽다.


더 자세한 조회가 필요하면 dig가 있다. dig example.com +short처럼 간단한 응답만 볼 수 있고, @서버로 질의 서버를 지정하며, MX 같은 레코드 유형도 지정할 수 있다. 우분투에서 dig는 bind9-dnsutils 패키지가 제공한다.5
연결이 안 될 때 어떤 순서로 점검하나?
ip -br addr로 IP가 할당돼 있는지 확인한다.ping -c 3 게이트웨이IP로 내부망 연결을 본다. 게이트웨이는ip route에서 default 항목에 나온다.ping -c 3 8.8.8.8로 외부 IP 연결을 본다.nslookup example.com으로 이름 풀이가 되는지 본다. 3번은 되고 4번만 안 되면 DNS 문제일 가능성이 높다.