RHCSA 8일차

Chapter 6. Networking

Jun Noh

RHEL 9에서 네트워크 관리의 핵심은 NetworkManager다.

이제 더 이상 구식 스크립트를 만지지 않는다. nmcli는 이 데몬을 제어하는 가장 강력한 무기다.

nmcli의 계층 구조 (Device vs Connection)

  • device: 실제 눈에 보이는 물리적 랜카드(NIC). (예: ens160, eth0)
  • connection: 해당 장치에 입힐 ‘설정 프로필’. 장치 하나에 여러 프로필을 만들고 상황에 따라 갈아끼울 수 있다.

2. nmcli connection add 옵션 파헤치기

고정 IP를 할당할 때 사용하는 nmcli connection add 명령어의 인자들은 실무에서 매우 중요하다. 하나라도 틀리면 통신이 안 된다.

인자 (Arguments)상세 설명
con-name프로필의 별칭. 관리자가 식별하기 좋은 이름을 쓴다.
type ethernet유선 이더넷 환경임을 명시한다.
ifname이 설정을 적용할 실제 물리 장치 이름.
ipv4.addresses할당할 IP 주소와 CIDR 표기법 서브넷(예: 10.0.2.100/24).
ipv4.gateway외부망으로 나가는 게이트웨이 주소.
ipv4.dns도메인 해석용 DNS 서버 서버 주소 (예: 8.8.8.8).
ipv4.method manual핵심! 이걸 manual로 해야 고정 IP가 할당된다. (기본값은 auto/dhcp)
autoconnect yes부팅 시 자동으로 이 연결을 활성화한다. 서버 환경에선 필수다.
  • 설정 변경 시: nmcli con mod <프로필명> +ipv4.dns 1.1.1.1 처럼 + 기호를 쓰면 기존 설정을 유지하면서 추가할 수 있다.
  • 적용: 수정 후엔 반드시 nmcli con up <프로필명>을 해줘야 실제 장치에 반영된다.

3. 방화벽(firewalld) 상세 관리

리눅스 서버 보안의 첫 관문이다. RHEL 9은 내부적으로 nftables를 쓰지만, 우리는 firewall-cmd라는 편리한 도구로 제어한다.

Zones (방화벽 구역)

  • public: 신뢰할 수 없는 네트워크용 기본 설정.
  • internal / home: 내부망용. public보다 좀 더 많은 서비스가 기본적으로 열려 있다.

실무 필수 옵션

  • --permanent: 설정을 파일에 기록한다. 이거 안 붙이면 재부팅 시 초기화된다.
  • --reload: --permanent로 저장된 설정을 현재 실행 중인 런타임에 즉시 반영한다. (반드시 세트로 써야 함)
  • --add-service=<name>: http, https, ssh 등 미리 정의된 서비스 이름을 허용한다.
  • --add-port=<port/protocol>: 특정 포트를 직접 열 때 쓴다 (예: 8080/tcp).

4. 네트워크 검증 루틴 (Connectivity Test)

설정을 마쳤다면 아래 순서대로 통신을 체크하는 습관을 들여야 한다.

  1. ip addr: IP가 의도한 장치에 제대로 붙었는지 확인.
  2. ping -c 3 8.8.8.8: 게이트웨이를 넘어 외부망까지 패킷이 나가는지 확인.
  3. ping -c 3 google.com: DNS 서버가 도메인 이름을 IP로 제대로 바꿔주는지 확인.
  4. tracepath google.com: 패킷이 목적지까지 가는 경로 중 어디서 막히는지 추적.
  5. ss -tulpn: 내 서버에서 특정 서비스(예: http)가 포트를 열고 기다리고 있는지(LISTEN) 확인.

5. 실습 미션: production-net 구축 결과

운영 서버 환경을 가정한 고정 IP 설정 미션을 수행했다.

[미션 시나리오]

  1. 물리 장치 ens160production-net 프로필 생성.
  2. IP 10.0.2.100/24, Gateway 10.0.2.2, DNS 8.8.8.8.
  3. 자동 연결 설정 및 방화벽 http 서비스 영구 허용.

[수행 답안]

# 1. 고정 IP 네트워크 프로필 생성 및 자동 연결 활성화
nmcli connection add con-name production-net type ethernet ifname ens160 \
ipv4.addresses 10.0.2.100/24 ipv4.gateway 10.0.2.2 \
ipv4.dns 8.8.8.8 connection.autoconnect yes ipv4.method manual

# 2. 프로필 즉시 활성화
nmcli connection up production-net

# 3. 방화벽 서비스 개방 및 리로드
firewall-cmd --add-service=http --permanent
firewall-cmd --reload

# 4. 설정 지속성(Persistence) 검증
nmcli connection show production-net | grep -E 'method|address|dns'
firewall-cmd --list-all

네트워크는 단순히 명령어 한두 개 외우는 게 아니라, NetworkManager가 설정을 /etc/NetworkManager/system-connections/keyfile로 저장하고 이를 nmcli로 불러오는 구조를 이해하는 게 핵심인 것 같다.

마침.

다른 글 보기