LFCS — 리눅스 재단 시스템 관리자 · 네트워킹 · 실습
주소·이름·경로를 설정하고 읽기
목표
정적 주소 설정 파일을 쓰고, 이름 해석 경로를 구간별로 확인하고, 소켓과 라우팅을 읽어 요약을 만든다.
왜 중요한가
이 실습의 1~2단계는 저자의 홈랩에서 실제로 클러스터를 죽인 사고의 재발 방지 절차 그대로다. DHCP 임대 갱신으로 컨트롤 플레인의 주소가 바뀌자 인증서 SAN 과 어긋나 apiserver 가 기동하지 못했다. 그때 배운 것은 dhcp4: false 만으로는 고정이 아니라는 것이다. cloud-init 이 부팅마다 네트워크 설정을 다시 생성하기 때문에 그 생성을 함께 막아야 하고, 공유기 쪽 DHCP 예약까지 세트로 해야 비로소 주소가 고정된다.
나머지 단계는 진단 순서를 몸에 익히는 과정이다. getent 와 dig 의 결과가 갈리는 지점이 곧 문제 구간이고, ss 의 소켓 상태와 ip route 의 기본 경로는 "여기까지는 정상" 을 확정해 주는 근거다. 이 환경에서는 ping 과 iptables 가 막혀 있으므로 도달성 확인 대신 설정 파일과 관찰 도구로만 판단하는 훈련을 한다.
단계
1. /root/lfcs-net/01-static.yaml 에 netplan 설정을 쓰세요. network.version 은 2, 인터페이스는 enp3s0, dhcp4: false, 주소는 10.0.0.120/24, 기본 경로는 to: default 와 via: 10.0.0.1, 네임서버는 10.0.0.1 과 1.1.1.1 입니다.
2. /root/lfcs-net/99-disable-network-config.cfg 에 cloud-init 의 네트워크 설정 생성을 끄는 내용을 쓰세요. 실제 서버라면 이 파일은 /etc/cloud/cloud.cfg.d/ 아래에 둡니다.
3. /etc/hosts 에 주소 10.0.0.120, 정규 이름 cp-1.homelab.internal, 별칭 cp-1 항목을 추가하고, getent hosts cp-1 의 출력을 /root/lfcs-net/getent.txt 에 저장하세요.
4. /root/lfcs-net/resolv-summary.txt 에 nameservers=<nameserver 줄 개수> 와 ndots=<옵션 값 또는 none> 두 줄을 /etc/resolv.conf 기준으로 적으세요.
5. 127.0.0.1:8087 에서 듣는 TCP 리스너를 하나 띄우고, 현재 LISTEN 중인 소켓의 로컬 주소를 /root/lfcs-net/listen.txt 에 한 줄씩 담으세요.
6. /root/lfcs-net/route.txt 에 default_via=<기본 경로의 게이트웨이 또는 none> 과 primary_iface=<기본 경로가 나가는 장치> 두 줄을 적으세요.
7. /root/lfcs-net/nsswitch.txt 에 hosts=<'/etc/nsswitch.conf' 의 hosts 행 값들> 한 줄을 적으세요. 값 사이는 공백 하나로 구분합니다.
8. /root/lfcs-net/firewall-plan.txt 에 규칙 다섯 줄을 <동작> <프로토콜> <포트> <출발지> 형식으로 아래 순서 그대로 적으세요.
allow tcp 22 10.0.0.0/24allow tcp 6443 10.0.0.0/24allow tcp 80 0.0.0.0/0allow tcp 443 0.0.0.0/0deny any any 0.0.0.0/0참고
- 리스너는
python3 -m http.server 8087 --bind 127.0.0.1을 백그라운드로 띄우면 만들어집니다. ss -ltnH는 헤더 없이 LISTEN 중인 TCP 소켓만 보여 줍니다. 로컬 주소는 네 번째 칸입니다.getent는 이름 서비스 스위치 전체 경로를 타지만dig는 DNS 만 봅니다. 둘의 결과가 다르면 범인은 DNS 가 아닙니다.- 흔한 실수: 기본 차단 규칙을 맨 앞에 두면 뒤의 허용 규칙에 닿기 전에 자기 접속부터 끊깁니다.
단계 8개
- netplan 정적 주소 설정
- cloud-init 네트워크 설정 끄기
- hosts 항목과 getent 확인
- 리졸버 설정 요약
- 리스너를 띄우고 소켓 목록 만들기
- 기본 경로 파싱
- 이름 해석 순서 기록
- 방화벽 규칙 설계 문서