과거의 ifconfig, route, arp를 통합해 대체한 것이 ip 명령(iproute2 패키지)이다.
현재 모든 주요 배포판의 표준 도구다.
# 인터페이스와 IP 주소 확인ip addr show # 줄여서 ip aip addr show eth0 # 특정 인터페이스만# 인터페이스 링크(L2) 상태 확인ip link show # 줄여서 ip l# IP 주소 부여/삭제 (임시 — 재부팅 시 사라짐)ip addr add 192.168.1.10/24 dev eth0ip addr del 192.168.1.10/24 dev eth0# 인터페이스 활성화/비활성화ip link set eth0 upip link set eth0 down# 라우팅 테이블 확인ip route show # 줄여서 ip r
ip 명령은 객체(addr, link, route, neigh)를 먼저 쓰고 동작(show, add, del, set)을 쓰는 일관된 문법이다. ip a=주소, ip l=링크, ip r=라우팅, ip neigh=ARP 테이블. 이 네 줄임말만 익혀도 진단의 80%가 끝난다.
⚠️ 함정: ip addr add로 부여한 IP는 임시다 — 재부팅하면 사라진다. 영구 설정은 아래의 설정 파일(network-scripts) 또는 nmcli로 해야 한다. 시험에서 "재부팅 후에도 유지되는 설정 방법"을 물으면 절대 ip addr add가 답이 아니다.
# 구식: 게이트웨이 추가route add default gw 192.168.1.1 eth0# 현대: 동일 작업ip route add default via 192.168.1.1 dev eth0
핵심 구분: ifconfig는 IP 주소만 보여주고 보조 IP(secondary)나 정책 라우팅을 제대로 다루지 못한다. ip는 이를 완전히 지원한다. 시험에서 "ifconfig를 대체하는 명령"을 물으면 ip addr다. 두 명령의 1:1 대응표를 통째로 외우는 게 효율적이다.
Red Hat 계열(RHEL/CentOS/Rocky)과 최신 배포판은 NetworkManager가 네트워크를 관리한다.
이를 명령행에서 제어하는 도구가 nmcli이며, nmcli로 한 설정은 영구적으로 저장된다.
# 연결(connection)과 장치(device) 상태 확인nmcli connection show # 줄여서 nmcli con shownmcli device status # 줄여서 nmcli dev status# 정적 IP 영구 설정nmcli con mod eth0 ipv4.addresses 192.168.1.10/24nmcli con mod eth0 ipv4.gateway 192.168.1.1nmcli con mod eth0 ipv4.dns 8.8.8.8nmcli con mod eth0 ipv4.method manual # staticnmcli con up eth0 # 변경 사항 적용# DHCP로 전환nmcli con mod eth0 ipv4.method auto
nmcli는 "connection(설정 프로파일)"과 "device(물리 장치)"를 구분한다. con mod로 프로파일을 고치고 con up으로 적용한다. ipv4.method manual=정적, auto=DHCP. nmcli 설정은 설정 파일에 기록되어 재부팅 후에도 유지된다.
Red Hat 계열의 전통적 영구 네트워크 설정은 /etc/sysconfig/network-scripts/ifcfg-<인터페이스> 파일에 들어간다.
# /etc/sysconfig/network-scripts/ifcfg-eth0 예시 (정적 IP)DEVICE=eth0BOOTPROTO=static # static=정적, dhcp=자동ONBOOT=yes # 부팅 시 자동 활성화IPADDR=192.168.1.10NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=8.8.8.8DNS2=8.8.4.4
항목
의미
DEVICE
인터페이스 이름
BOOTPROTO
static(정적) / dhcp(자동) / none
ONBOOT
yes면 부팅 시 자동 활성화
IPADDR / NETMASK
IP 주소 / 서브넷마스크
GATEWAY
기본 게이트웨이
DNS1 / DNS2
네임서버
⚠️ 함정: ONBOOT=no이면 IP 설정이 다 맞아도 부팅 시 인터페이스가 올라오지 않아 네트워크가 안 된다. "설정은 맞는데 부팅 후 연결 안 됨" 문제의 원인이 된다. Debian/Ubuntu 계열은 이 파일 대신 /etc/network/interfaces나 netplan(/etc/netplan/*.yaml)을 쓴다.
ifcfg- 파일은 Red Hat이 오래 써 온 방식이고, 최신 RHEL은 내부적으로 NetworkManager의 키파일(/etc/NetworkManager/system-connections/)로 옮겨가고 있다. 시험은 여전히 전통적인 ifcfg-eth0 형식과 그 안의 항목 의미를 묻는다.
# 라우팅 테이블 확인ip route show# default via 192.168.1.1 dev eth0 ← 기본 게이트웨이# 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10# 기본 게이트웨이 추가 (임시)ip route add default via 192.168.1.1# 특정 네트워크로 가는 정적 경로 추가ip route add 10.0.0.0/24 via 192.168.1.254# 경로 삭제ip route del 10.0.0.0/24
핵심 구분: default(0.0.0.0/0) 경로가 "그 외 모든 목적지"를 처리하는 기본 게이트웨이다. 라우팅 테이블에 default가 없으면 같은 서브넷끼리는 통신해도 인터넷은 안 된다. "내부 ping은 되는데 외부 ping이 안 됨" = 기본 게이트웨이 설정 문제일 가능성이 높다.
이름(도메인)을 IP로 바꾸는 DNS 질의를 어느 서버에 보낼지 지정하는 파일이 /etc/resolv.conf다.
# /etc/resolv.conf 예시nameserver 8.8.8.8 # 1차 네임서버nameserver 8.8.4.4 # 2차 네임서버search example.com # 도메인 자동 보완 (호스트명만 입력 시 붙임)
항목
의미
nameserver
질의를 보낼 DNS 서버 IP (위에서부터 순서대로 시도)
search
도메인 없이 호스트명만 쓸 때 자동으로 붙일 도메인
domain
로컬 도메인 이름
NetworkManager가 관리하는 시스템에서는 /etc/resolv.conf를 직접 수정해도 재부팅·재시작 시 덮어쓰여 사라질 수 있다. 영구 DNS 설정은 nmcli con mod ... ipv4.dns 또는 ifcfg 파일의 DNS1/DNS2로 해야 한다. 이 "직접 수정이 날아가는" 현상이 시험과 실무 모두에서 함정이 된다.