CertNote/ 출퇴근 학습 노트
로드맵
KOEN
리눅스마스터 2급 · 2급리눅스마스터 2급
리눅스마스터 1급 · 1급리눅스마스터 1급
  • Week 1
    • 1.운영체제와 리눅스: 커널이 하는 일
    • 2.자유 소프트웨어와 배포판: 라이선스가 만든 생태계
    • 3.설치와 부팅: 전원을 켜는 순간부터
    • 4.파일시스템 구조와 파일의 종류: 모든 것은 파일이다
    • 5.Week 1 종합 복습: 개념을 꿰뚫는 시간
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
  • Week 8
  • Week 9
  • Week 10
  • Week 11
  • Week 12
  • Week 13
    • 1.네트워크 설정·진단 작업형: 손으로 IP를 세우고 길을 뚫는다
    • 2.서비스 설정파일 단답: 지시어 하나가 합격을 가른다
    • 3.셸 스크립트 작성형: 조건·반복·함수로 실무를 자동화한다
    • 4.보안·방화벽·로그 작업형: 규칙을 쓰고 컨텍스트를 바로잡는다
    • 5.네트워크·서비스 작업형 모의 + 오답노트
  • Week 14
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← 리눅스마스터 1급/Week 13/Day 1

기준: 리눅스마스터 1급 출제 기준·오류 제보

리눅스마스터 1급· AssociateWeek 13 · Day 1읽기 약 8분
핵심 정리
  • 네트워크 설정은 항상 일시(ip, ifconfig)와 영구(ifcfg-*, nmcli con) 두 층이다. "재부팅 후에도 유지"면 무조건 영구 설정이다.
  • ip 명령 문법: ip addr add 주소/프리픽스 dev 인터페이스, ip route add default via 게이트웨이. default가 곧 기본 경로다.
  • nmcli con modify로 고쳐도 nmcli con up으로 재활성화해야 적용된다 — 저장과 적용은 별개다.
  • ifcfg-*에서 빈칸이 되기 쉬운 항목은 BOOTPROTO(static/dhcp)와 ONBOOT=yes. ONBOOT가 no면 재부팅 후 안 올라온다.
  • 진단은 계층별로 끊는다: ip a → ping 게이트웨이 → ping 8.8.8.8 → dig. 끊긴 지점이 곧 원인이다.
  • ping 8.8.8.8은 되는데 도메인이 안 되면 DNS 문제, 게이트웨이는 되는데 외부가 안 되면 기본 경로 누락이다.

Day 1 - 네트워크 설정·진단 작업형: 손으로 IP를 세우고 길을 뚫는다

네트워크 설정의 두 층: 일시 vs 영구

  • 리눅스 네트워크 설정은 항상 두 층으로 나뉜다는 것을 먼저 머리에 박아야 한다.
층적용 시점대표 도구재부팅 후
일시(runtime)즉시, 메모리에만ip, ifconfig사라짐
영구(persistent)파일에 저장ifcfg-*, nmcli con유지됨
  • ip addr add로 붙인 주소는 재부팅하면 날아간다.
  • 영구로 남기려면 설정 파일(/etc/sysconfig/network-scripts/ifcfg-*)이나 nmcli connection 프로파일에 써야 한다.
  • 시험에서 "재부팅 후에도 유지되게"라는 조건이 보이면 무조건 영구 설정(파일 또는 nmcli con)을 떠올려야 한다.

핵심 한 줄: ip/ifconfig는 임시, ifcfg-*/nmcli con은 영구. "재부팅 후 유지" = 영구 설정.

ip 명령으로 주소·링크·라우팅 다루기

  • ifconfig/route는 deprecated이고 현대 표준은 ip 명령(iproute2 패키지)이다.
  • 문법은 객체(object)와 동작으로 구성된다.
# 주소(address) 다루기
ip addr show                       # 전체 인터페이스 주소 조회 (= ip a)
ip addr show eth0                  # 특정 인터페이스만
ip addr add 192.168.10.5/24 dev eth0    # 주소 부여
ip addr del 192.168.10.5/24 dev eth0    # 주소 삭제
 
# 링크(link) = 인터페이스 자체
ip link show                       # 인터페이스 목록·상태
ip link set eth0 up                # 인터페이스 활성화
ip link set eth0 down              # 비활성화
 
# 라우팅(route)
ip route show                      # 라우팅 테이블 (= ip r)
ip route add default via 192.168.10.1        # 기본 게이트웨이 설정
ip route add 10.0.0.0/24 via 192.168.10.254  # 특정 네트워크 정적 경로
ip route del 10.0.0.0/24                      # 경로 삭제
  • /24처럼 CIDR 프리픽스로 넷마스크를 함께 지정하는 게 ip 명령의 문법이다.
  • 192.168.10.5 netmask 255.255.255.0 같은 옛 ifconfig 문법과 혼동하기 쉽다.

암기 포인트: ip addr add 주소/프리픽스 dev 인터페이스, ip route add default via 게이트웨이. default가 곧 0.0.0.0/0(기본 경로)이다.

ifconfig·route (구버전, 여전히 출제)

ifconfig                                   # 활성 인터페이스 조회
ifconfig eth0 192.168.10.5 netmask 255.255.255.0   # 주소+넷마스크
ifconfig eth0 up                           # 활성화
route -n                                   # 라우팅 테이블(이름해석 없이)
route add default gw 192.168.10.1          # 기본 게이트웨이
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.10.254  # 정적 경로
  • ifconfig는 넷마스크를 netmask 255.255.255.0처럼 점10진수로 쓴다.
  • route는 add default gw, add -net ... netmask ... gw 형태로 쓴다.
  • 두 도구의 문법 차이를 정확히 구분해야 한다.

nmcli — NetworkManager의 명령행 관문

  • RHEL 7 이후 표준 관리자는 NetworkManager이고, 그 CLI가 nmcli다.
  • nmcli로 만든 설정은 영구적이라는 점이 ip 명령과 결정적으로 다르다.
# 상태 조회
nmcli                              # 전체 요약
nmcli device status                # 장치별 상태 (= nmcli d)
nmcli connection show              # 연결 프로파일 목록 (= nmcli c)
 
# 정적 IP 프로파일 생성
nmcli connection add type ethernet con-name myeth ifname eth0 \
  ipv4.method manual \
  ipv4.addresses 192.168.10.5/24 \
  ipv4.gateway 192.168.10.1 \
  ipv4.dns 8.8.8.8
 
# 기존 프로파일 수정
nmcli connection modify myeth ipv4.addresses 192.168.10.6/24
nmcli connection modify myeth +ipv4.dns 1.1.1.1   # DNS 추가(+)
 
# 적용(반드시 재활성화해야 반영)
nmcli connection up myeth
nmcli connection down myeth
  • 핵심 속성: ipv4.method(manual=정적 / auto=DHCP), ipv4.addresses, ipv4.gateway, ipv4.dns.
  • 수정 후 nmcli connection up(또는 reload)으로 다시 올려야 적용된다.

⚠️ 함정: nmcli con modify로 바꿔도 즉시 적용 안 된다. nmcli con up <프로파일>로 재활성화해야 반영된다. firewalld의 --reload와 같은 "저장과 적용은 별개" 패턴.

ifcfg-* 파일 직접 작성 (RHEL/CentOS 영구 설정)

  • nmcli가 결국 만들어 내는, 혹은 손으로 쓰는 파일이 /etc/sysconfig/network-scripts/ifcfg-<인터페이스>다.
  • 작업형에서 빈칸으로 출제될 수 있으므로 지시어를 정확히 외워야 한다.
# /etc/sysconfig/network-scripts/ifcfg-eth0  (정적 IP 예시)
TYPE=Ethernet
BOOTPROTO=static          # static(또는 none)=정적, dhcp=자동
NAME=eth0
DEVICE=eth0
ONBOOT=yes                # 부팅 시 자동 활성화 (핵심!)
IPADDR=192.168.10.5
NETMASK=255.255.255.0     # 또는 PREFIX=24
GATEWAY=192.168.10.1
DNS1=8.8.8.8
DNS2=1.1.1.1
지시어의미틀리기 쉬운 점
BOOTPROTO주소 할당 방식static/none=정적, dhcp=자동
ONBOOT부팅 시 활성화yes여야 부팅 후 살아남음
IPADDRIP 주소DHCP면 불필요
NETMASK/PREFIX넷마스크둘 중 하나만
GATEWAY기본 게이트웨이
DNS1/DNS2네임서버
  • DHCP로 받을 때는 BOOTPROTO=dhcp로 하고 IPADDR/NETMASK/GATEWAY를 비운다.
  • 수정 후 적용은 nmcli con reload → nmcli con up eth0, 또는 systemctl restart NetworkManager다.

빈칸 예: BOOTPROTO=____(static/dhcp), ONBOOT=____(yes). ONBOOT=no면 재부팅 후 인터페이스가 안 올라온다 — 시험의 전형적 함정.

DNS 영구 설정: /etc/resolv.conf

  • 이름 해석용 네임서버는 /etc/resolv.conf에 정의된다.
  • 단, NetworkManager가 관리하면 ifcfg의 DNS1/DNS2가 이 파일을 채운다.
# /etc/resolv.conf
nameserver 8.8.8.8
nameserver 1.1.1.1
search example.com        # 도메인 자동 보완

진단 도구: ping·ss·dig·traceroute

  • 설정을 했으면 "정말 되는가"를 확인하는 진단이 따라온다.
  • 작업형은 계층별로 끊어 진단하는 사고를 요구한다.
# 1) L3 도달성: ping
ping -c 4 192.168.10.1             # 4번만 보내고 종료 (-c count)
ping -c 4 8.8.8.8                  # 외부 도달 확인
ping -c 4 www.google.com          # 이름해석 + 도달 동시 확인
 
# 2) 포트·소켓: ss (netstat 대체)
ss -tuln                           # TCP/UDP 리스닝 포트 (숫자)
ss -tnp                            # 연결된 TCP + 프로세스
# t=TCP, u=UDP, l=listen, n=숫자표시(이름해석X), p=프로세스
 
# 3) 이름해석: dig / nslookup
dig www.example.com                # 상세 DNS 조회
dig www.example.com +short         # 결과만 간단히
dig @8.8.8.8 example.com MX         # 특정 서버에 MX 레코드 질의
nslookup www.example.com           # 대화형/간단 조회
 
# 4) 경로 추적
traceroute 8.8.8.8                 # 홉 단위 경로 추적
  • ss 옵션은 -t(TCP) -u(UDP) -l(listen) -n(숫자) -p(프로세스)를 조합한다.
  • ss -tuln이 "지금 무슨 포트가 열려 있나"를 보는 대표 명령이다.

진단 사다리: ① ip a로 IP 있나 → ② ping 게이트웨이로 L2/L3 → ③ ping 8.8.8.8로 외부 도달 → ④ ping 도메인/dig로 DNS. 어디서 끊기는지가 곧 원인이다.

⚠️ 헷갈림: ping 8.8.8.8은 되는데 ping google.com이 안 되면 DNS(resolv.conf) 문제다. IP 도달은 정상이고 이름해석만 실패한 상황.

진단 시나리오: "인터넷이 안 돼요"

  • 작업형 사고 흐름을 한 번에 정리한다.
증상의심확인 명령조치
IP가 없음설정/ONBOOTip aifcfg ONBOOT=yes, nmcli con up
게이트웨이 ping 실패같은 망 문제ip rip route add default via
외부 IP ping 실패라우팅/방화벽ip r, traceroute기본 경로·방화벽 점검
IP는 되나 도메인 실패DNSdig, cat /etc/resolv.confnameserver 수정
포트 접속 안 됨서비스/방화벽ss -tuln서비스 기동·포트 개방

문제 예: "ping 게이트웨이 성공 + ping 8.8.8.8 실패" → 기본 라우팅(default route) 누락. ip route add default via <gw>.

호스트명과 이름 해석 우선순위

  • 네트워크 작업형에서 호스트명 설정과 로컬 이름 해석도 다룬다.
hostnamectl                          # 현재 호스트명·OS 정보 조회
hostnamectl set-hostname web01.example.com   # 영구 호스트명 변경
hostname                             # 현재 호스트명만 출력
  • 이름 해석은 /etc/nsswitch.conf의 hosts: 행 순서를 따른다.
# /etc/nsswitch.conf
hosts:  files dns         # files(/etc/hosts) 먼저, 그다음 dns
  • files가 앞이면 /etc/hosts에 적은 매핑이 DNS보다 우선한다.
  • 로컬 테스트용 매핑은 /etc/hosts에 직접 적는다.
# /etc/hosts
127.0.0.1   localhost
192.168.10.50   web01.example.com web01

해석 우선순위: /etc/hosts(files) > DNS(/etc/resolv.conf)가 기본. /etc/hosts에 잘못된 매핑이 있으면 DNS가 정상이어도 엉뚱한 IP로 간다 — 진단 시 함께 확인.

DHCP 클라이언트 갱신: 임대 주소를 다시 받으려면 dhclient -r(반납) 후 dhclient(재요청), 또는 nmcli con down/up. NetworkManager 환경에선 nmcli가 더 일관적이다.

직접 쳐보기

  • 아래를 직접 실행하며 출력을 눈에 익히자(테스트 머신·가상머신 권장).
# 현재 주소·경로·소켓 한 번에 파악
ip a
ip r
ss -tuln
 
# 임시 주소 추가 후 확인하고 삭제
ip addr add 10.10.10.10/24 dev eth0
ip addr show eth0
ip addr del 10.10.10.10/24 dev eth0
 
# 도달성·이름해석 진단
ping -c 3 127.0.0.1          # 루프백(자기 자신 TCP/IP 스택)
dig +short openai.com

손이 기억할 때까지 직접 쳐보는 것이 유일한 합격 비결이다.

📖 용어

  • 일시 설정 / 영구 설정 : 메모리에만 남아 재부팅 시 사라지는 설정(ip) / 파일에 저장돼 유지되는 설정(ifcfg-*, nmcli con).
  • iproute2 : ifconfig·route를 대체하는 현대 네트워크 도구 모음. 대표 명령이 ip다.
  • CIDR 프리픽스 : /24처럼 넷마스크를 비트 수로 적는 표기. ip 명령은 이 방식을 쓴다.
  • 기본 게이트웨이(default) : 목적지를 모르는 모든 패킷을 내보낼 출구. ip route add default via <IP>로 설정한다.
  • NetworkManager / nmcli : RHEL 7 이후의 표준 네트워크 관리 데몬 / 그 명령행 도구. 만든 설정이 영구적이다.
  • ipv4.method : nmcli에서 주소 할당 방식을 정하는 속성. manual이 정적, auto가 DHCP.
  • BOOTPROTO : ifcfg-*에서 주소 할당 방식을 정하는 지시어. static(또는 none)과 dhcp.
  • ONBOOT : 부팅 시 그 인터페이스를 자동으로 올릴지 정하는 지시어. yes가 아니면 재부팅 후 안 올라온다.
  • ss : 열린 소켓·포트를 보는 명령(netstat 대체). -tTCP -uUDP -l리스닝 -n숫자 -p프로세스.
  • dig : DNS 서버에 직접 질의해 이름 해석을 확인하는 도구. +short로 결과만 볼 수 있다.
  • nsswitch.conf : 이름을 /etc/hosts(files)로 먼저 볼지 DNS로 먼저 볼지 조회 순서를 정하는 파일.
  • hostnamectl : 시스템 호스트명을 조회·변경하는 systemd 명령. set-hostname은 영구 적용이다.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

eth0 인터페이스에 192.168.1.100/24 주소를 임시로 부여하는 ip 명령으로 옳은 것은?

문제 2

기본 게이트웨이를 192.168.1.1로 설정하는 명령으로 옳은 것은?

문제 3

ifcfg-eth0 파일에서 재부팅 후에도 인터페이스가 자동으로 활성화되도록 반드시 yes로 지정해야 하는 지시어는?

문제 4

DHCP로 자동 주소를 받도록 ifcfg 파일을 구성할 때 BOOTPROTO에 지정할 값은?

문제 5

ping 8.8.8.8은 정상 응답하지만 ping www.example.com은 실패한다. 가장 가능성 높은 원인은?

문제 6

현재 시스템에서 리스닝 중인 TCP·UDP 포트를 숫자 형태로 한 번에 확인하는 ss 명령으로 옳은 것은?

문제 7

nmcli connection modify로 IP를 변경한 뒤 변경 사항을 현재 세션에 적용하려면 추가로 실행해야 하는 명령은?

이전시스템 작업형 모의고사 + 오답노트: 12문항으로 굳히기Week 12 · Day 5다음 서비스 설정파일 단답: 지시어 하나가 합격을 가른다Week 13 · Day 2

참고 공식 자료

  • 리눅스마스터 1급 공식 출제 기준(새 탭에서 열림)

이 페이지

  • 네트워크 설정의 두 층: 일시 vs 영구
  • ip 명령으로 주소·링크·라우팅 다루기
  • ifconfig·route (구버전, 여전히 출제)
  • nmcli — NetworkManager의 명령행 관문
  • ifcfg-* 파일 직접 작성 (RHEL/CentOS 영구 설정)
  • DNS 영구 설정: /etc/resolv.conf
  • 진단 도구: ping·ss·dig·traceroute
  • 진단 시나리오: "인터넷이 안 돼요"
  • 호스트명과 이름 해석 우선순위
  • 직접 쳐보기
  • 용어
  • 연습 문제