네트워크 진단 도구: nslookup, dig, host 및 관련 명령어

네트워크 기초 명령어

네트워크 설정 및 상태를 확인하기 위해 아래 명령어들을 사용할 수 있습니다.

[root@localhost sysconfig]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.88.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0     # DHCP 서버 및 서브넷 마스크
0.0.0.0         192.168.88.2    0.0.0.0         UG        0 0          0 eth0     # 게이트웨이, DNS 서버

[root@localhost network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.88.0    0.0.0.0         255.255.255.0   U     1      0        0 eth0
0.0.0.0         192.168.88.2    0.0.0.0         UG    0      0        0 eth0

Flags 설명:

  • U (Up): 해당 경로가 현재 활성화 상태임
  • H (Host): 게이트웨이가 하나의 호스트임
  • G (Gateway): 게이트웨이가 라우터임
  • R (Reinstate Route): 동적 라우팅으로 재초기화된 경로
  • D (Dynamically): 동적으로 작성된 경로
  • M (Modified): 라우트 데몬 또는 디렉터에 의해 동적 수정됨
[root@localhost sysconfig]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:0C:29:D0:52:CC"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="2ea6c705-ac16-4ef5-8185-52d8ab5f9569"

[root@www.ctohome.com]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82567V-2 Gigabit Network Connection
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:1c:c0:f8:a1:ac
ONBOOT=yes
NETMASK=255.255.255.248
IPADDR=184.82.152.98
GATEWAY=184.82.152.97
TYPE=Ethernet

호스트 이름 변경:

[root@localhost profiles]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain

경로 추적:

traceroute baidu.com   # 첫 번째 줄이 로컬 게이트웨이입니다.

IP 라우팅 테이블 보기:

[root@localhost network-scripts]# ip route show
192.168.88.0/24 dev eth0  proto kernel  scope link  src 192.168.88.133  metric 1
default via 192.168.88.2 dev eth0  proto static

설명:

  • 192.168.88.133: 로컬 IP 주소
  • 192.168.88.0/24: 네트워크 세그먼트
  • 192.168.88.2: 게이트웨이

nslookup 및 dig 도구 설치

dig는 일반적으로 기본 설치되지만, nslookup은 기본적으로 설치되지 않습니다. (Windows에서는 기본 제공)
다음 명령어로 설치할 수 있습니다.

yum provides */nslookup
yum install bind-utils

도메인 이름 해석 기본 설정 파일

ifconfig -a: IP 주소 및 넷마스크 확인

/etc/hosts: 호스트 이름에 해당하는 IP 주소 기록

/etc/resolv.conf: DNS 서버 IP 주소 설정
[root@localhost sysconfig]# cat /etc/resolv.conf
# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 192.168.88.2

/etc/host.conf: 도메인 이름 해석 설정 파일 (리졸버 설정 파일)

DNS 조회 명령어: host, nslookup, dig

host 명령어

host 명령어는 도메인 이름과 IP 주소를 조회합니다.

host [옵션] [FQDN] [서버]
host -l [도메인] [서버]

매개변수 설명:

  • -a: ANY 타입 조회
  • -C: 영역의 모든 권위 있는 네임 서버에서 SOA 레코드 표시
  • -t: CNAME, NS, SOA, SIG, KEY, AXFR 등 특정 타입 지정. 기본값은 A, AAAA, MX 레코드이며, -C 옵션 시 SOA 레코드 조회
  • -l: 도메인이 allow-transfer를 허용하면 해당 도메인이 관리하는 모든 호스트 정보 나열
[root@localhost network-scripts]# host -a qq.com
Trying "qq.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18171
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;qq.com.                                IN      ANY

;; ANSWER SECTION:
qq.com.                 5       IN      A       61.135.157.156
qq.com.                 5       IN      A       125.39.240.113
qq.com.                 5       IN      MX      30 mx1.qq.com.
qq.com.                 5       IN      MX      10 mx3.qq.com.
qq.com.                 5       IN      MX      20 mx2.qq.com.

;; ADDITIONAL SECTION:
mx1.qq.com.             5       IN      A       103.7.30.40

Received 132 bytes from 192.168.88.2#53 in 23 ms

[root@localhost network-scripts]# host -l qq.com
; Transfer failed.
Host qq.com.localdomain not found: 4(NOTIMP)

[root@localhost ~]# host -t any qq.com
qq.com has address 61.135.157.156
qq.com has address 125.39.240.113
qq.com name server ns1.qq.com.
qq.com name server ns2.qq.com.
qq.com name server ns3.qq.com.
qq.com name server ns4.qq.com.
qq.com has SOA record ns1.qq.com. webmaster.qq.com. 1350444472 300 600 86400 300
qq.com mail is handled by 20 mx2.qq.com.
qq.com mail is handled by 30 mx1.qq.com.
qq.com mail is handled by 10 mx3.qq.com.

nslookup 명령어

nslookup 사용법은 Windows와 유사합니다.

nslookup [FQDN] [서버]
nslookup -type=any qq.com
nslookup -query=mx qq.com
# 또는 대화형 모드
nslookup

# 대화형 모드에서
> set q=mx   # 또는 set type=mx
> set q=a,mx,ptr 등

dig 명령어

dig는 DNS 조회를 위한 강력한 도구입니다.

dig [@서버] [FQDN] [타입]
dig qq.com A
dig qq.com MX
dig -x 210.176.50.140 @8.8.8.8
dig baidu.com +nssearch       # 도메인의 권위 있는 DNS 서버 찾기
dig bandainamcoasia.com +trace # 루트 서버부터 도메인 해석 과정 추적
dig +norec @F.ROOT-SERVERS.NET HOSTNAME.BIND CHAOS TXT # 사용 중인 F 루트 DNS 서버 확인

태그: nslookup dig host netstat route

5월 31일 21:01에 게시됨