리눅스/LFS

[LFS11] IANA-etc 패키지 빌드

sik13579 2026. 3. 31. 21:39

1. IANA-etc 역할

IANA(internet Assigned Numbers Authority)는 네트워크 서비스 이름과 프로토콜 번호 정보를 시스템에 넣어주는 패키지입니다.

이 패키지는 /etc/services 와 /etc/protocols파일을 설치하고, 각각

  • /etc/services : 서비스 이름 ↔ 포트 번호 매핑
  • /etc/protocols : 프로토콜 이름 ↔ 프로토콜 번호 매핑 

역할을 합니다. 쉽게 설명하자면,

  • ssh = 22/tcp
  • http = 80/tcp
  • https = 443/tcp
  • tcp = 프로토콜 번호 6

이런 사람이 읽기 쉬운 이름과 시스템이 쓰는 숫자를 연결해 주는 기본 데이터입니다.

 

2. IANA-etc 구성

해당 패키지의 핵심 구성은 크게 두 파일로 이루어집니다.

  1. /etc/services
    • /etc/services 파일은 서비스 이름과 포트 번호, 그리고 전송 프로토콜(TCP/UDP)을 연결해 주는 역할을 합니다.
      즉, 사람이 읽기 쉬운 http, https, ssh 같은 이름을 시스템이 사용하는 포트 번호와 매핑해 주는 표라고 볼 수 있습니다.
      이 파일은 평문 ASCII 형식이며, 네트워킹 프로그램들이 서비스 이름을 포트 번호로 해석할 때 참고합니다.
    • 각 행의 기본 형식은 다음과 같습니다.
      • service-name   port/protocol   [aliases ...]
        http    80/tcp
        https   443/tcp
        ssh     22/tcp
        domain  53/udp
    • 여기서 service-name은 서비스 이름, port는 포트 번호, protocol은 tcp 또는 udp를 의미합니다.
      필요하다면 별칭(alias)도 함께 기록할 수 있습니다. 일반적으로 이 파일 위치는 /etc/services입니다.
  2. /etc/protocols
    • /etc/protocols 파일은 프로토콜 이름과 프로토콜 번호를 연결해 주는 역할을 합니다.
      예를 들어 tcp, udp, icmp 같은 이름을 IP 헤더에서 사용하는 숫자 값과 매핑하는 파일입니다.
      이 역시 평문 ASCII 파일이며, 숫자를 직접 외우거나 추측하지 않고 표준 정의를 참고할 수 있게 해 줍니다.
    • 기본 형식은 다음과 같습니다.
      • protocol-name number [aliases ...]
        ip      0   IP
        icmp    1   ICMP
        tcp     6   TCP
        udp     17  UDP
    • protocol-name은 프로토콜 이름, number는 해당 프로토콜의 번호, 뒤에는 필요시 별칭이 붙는 구조입니다.
      이 숫자들은 IP 헤더의 프로토콜 필드에서 사용됩니다.

3. IANA-etc 빌드

1. 소스 준비 및 이동

cd $LFS/sources
tar -xvf iana-etc-20251215.tar.gz
cd iana-etc-20251215

 

2. 설치 (단순 복사)

이 패키지는 configure나 make가 필요 없습니다. 파일 두 개를 정해진 위치로 복사만 하면 끝입니다.

cp services protocols $LFS/etc

 

3. 뒷정리

cd $LFS/sources
rm -rf iana-etc-20251215

 

4. 설치 확인 테스트

less /etc/services
less /etc/protocols

내용이 길어서 less 명령어를 사용하였습니다.


결과 확인
1.  less /etc/services

 

2. less /etc/protocols

 

 

 이번 IANA-etc 패키지를 통해, 모든 패키지가 실행 파일이나 눈에 띄는 명령어를 제공하는 것은 아니라는 점을 알 수 있었습니다.
어떤 패키지는 이렇게 시스템이 내부적으로 참고하는 표준 데이터 자체를 제공하며, 이러한 구성 역시 리눅스 환경을 이루는 중요한 부분이라는 점을 이해할 수 있었습니다.