7.5. 일반 네트워크 구성

7.5.1. 네트워크 인터페이스 구성 파일 생성

네트워크 스크립트에 어떤 인터페이스가 쓰일지는 일반적으로 /etc/sysconfig/에 있는 파일에 따라 달라진다. 이 디렉토리에는 ifconfig.xyz같은, 구성할 각 인터페이스에 대한 파일이 포함되어야 한다. 여기서 xyz는 네트워크 카드를 칭한다. 보통 인터페이스 이름(가령 eth0)이 적합하다. 이 파일 안에는 IP 주소, 서브넷 마스크 등과 같은 해당 인터페이스의 속성이 있다. 파일 이름의 확장자 앞부분은 ifconfig가 되어야 한다.

[참고]

참고

앞 절의 절차를 따르지 않았다면 Udev는 네트워크 카드 인터페이스 이름을 시스템 물리적 특성에 따라 enp2s1과 같은 식으로 할당할 것이다. 인터페이스 이름을 모르겠다면 시스템을 부팅한 후 언제든지 ip linkls /sys/class/net를 실행하면 된다.

다음 명령은 정적 IP 주소를 가진 eth0 장치의 샘플 파일을 생성한다:

cd /etc/sysconfig/
cat > ifconfig.eth0 << "EOF"
ONBOOT=yes
IFACE=eth0
SERVICE=ipv4-static
IP=192.168.1.2
GATEWAY=192.168.1.1
PREFIX=24
BROADCAST=192.168.1.255
EOF

기울임꼴로 표시된 값은 적절한 설정과 맞도록 모든 파일에서 수정해야 한다.

ONBOOT 변수가 yes로 설정되면 System V 네트워크 스크립트는 네트워크 인터페이스 카드(NIC)를 시스템 부팅 중에 불러올 것이다. yes 이외의 항목으로 설정되면 NIC는 네트워크 스크립트에서 무시되고 자동으로 잡히지 않는다. 인터페이스는 ifupifdown 명령으로 수동으로 시작하거나 중지할 수 있다.

IFACE 변수는 인터페이스 이름(예: eth0)을 정의한다. 이는 모든 네트워크 장치 구성 파일에 필요하다. 파일명의 확장자는 반드시 이 값과 일치해야 한다.

SERVICE 변수는 IP 주소를 얻기 위해 사용되는 방법을 정의한다. LFS-Bootscipts 패키지의 IP 할당 방식은 모듈형이며, /lib/services/ 디렉토리에 추가 파일을 만들면 다른 IP 할당 방법을 사용할 수 있다. 이는 BLFS 책에서 다루는 DHCP(Dynamic Host Configuration Protocol)에 일반적으로 사용된다.

GATEWAY 변수는 기본 게이트웨이 IP 주소가 존재한다면 그것을 포함해야 한다. 존재하지 않는다면 이 변수 전체를 주석 처리하라.

PREFIX 변수는 서브넷에서 사용되는 비트 수를 사용한다. IP 주소의 각 옥텟은 8비트이다. 서브넷의 넷마스크가 255.255.255.0이라면, 네트워크 번호를 지정하는 데에 처음 3개의 옥텟(24비트)을 사용한다. 넷마스크가 255.255.255.240이라면, 처음 28비트를 사용할 것이다. 보통 24비트보다 긴 접두어(prefix)는 DSL과 케이블 기반 인터넷 서비스 공급자(ISP)가 사용한다. 이 예(접두어=24)에서 넷마스크는 255.255.255.0이다. 특정 서브넷에 따라 PREFIX 변수를 조정하라. 생략할 경우 접두사는 기본적으로 24로 지정된다.

자세한 정보는 ifup man 페이지를 참고하라.

7.5.2. /etc/resolv.conf 파일 생성

인터넷 도메인 이름을 IP 주소로, 또는 그 반대로 변환하려면 시스템에서 DNS(Domain Name Service) 이름을 확인할 방법이 필요하다. ISP나 네트워크 관리자가 사용할 수 있는 DNS 서버의 IP 주소를 /etc/resolv.conf에 두는 것이 가장 좋다. 다음을 실행하여 파일을 작성하라:

cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf

domain <도메인 이름>
nameserver <주 네임서버의 IP 주소>
nameserver <보조 네임서버의 IP 주소>

# End /etc/resolv.conf
EOF

domain 문은 생략하거나 search 문으로 바꿀 수 있다. 자세한 내용은 resolv.conf의 man 페이지를 참고하라.

<네임서버의 IP 주소>를 설정에 가장 적합한 DNS의 IP 주소로 대체하라. 입력 항목은 보통 두 개 이상일 것이다(예비 용도를 위한 보조 서버 필요). DNS 서버가 단 하나만 필요하거나 원한다면 파일에서 두 번째 nameserver 행을 제거하라. 로컬 네트워크에 속한 라우터의 IP 주소를 사용할 수도 있다.

[참고]

참고

구글 공용 IPv4 DNS 주소는 8.8.8.8과 8.8.4.4이다.

7.5.3. 시스템 호스트 이름 설정

부팅 중에 /etc/hostname 파일이 시스템의 호스트 이름을 설정하는 데 사용된다.

/etc/hostname 파일을 생성하고 다음을 실행하여 호스트 이름을 입력하라:

echo "<lfs>" > /etc/hostname

<lfs>를 컴퓨터에 부여된 이름으로 바꿔야 한다. 여기에 FQDN(Fully Qualified Domain Name)을 입력하지 않도록 하라. 그것은 /etc/hosts 파일에 저장한다.

7.5.4. /etc/hosts 파일 사용자 정의

/etc/hosts 파일에서 사용할 IP 주소, FQDN 및 가능한 별칭을 결정하라. 문법은 다음과 같다:

IP_address myhost.example.org aliases

컴퓨터가 인터넷에 공개되어있지 않는 한(즉, 등록된 도메인과 할당된 IP 주소의 유효한 블록이 있지 않는 한—대부분의 사용자는 해당되지 않음), IP 주소가 사설 네트워크 IP 주소 범위에 있도록 하라. 유효한 범위는 다음과 같다:

사설 네트워크 주소 범위      일반 접두어
10.0.0.1 - 10.255.255.254           8
172.x.0.1 - 172.x.255.254           16
192.168.y.1 - 192.168.y.254         24

x는 16-31 사이의 임의의 숫자이며, y는 0-255 사이의 임의의 숫자이다.

유효한 사설 IP 주소는 192.168.1.1을 쓸 수 있다. 이 IP에 유효한 FQDN은 lfs.example.org이 될 것이다.

네트워크 카드를 사용하지 않더라도 유효한 FQDN이 필요하다. 이는 특정 프로그램이 올바르게 작동하기 위함이다.

다음을 실행하여 /etc/hosts 파일을 생성하라:

cat > /etc/hosts << "EOF"
# Begin /etc/hosts

127.0.0.1 localhost
127.0.1.1 <FQDN> <HOSTNAME>
<192.168.1.1> <FQDN> <HOSTNAME> [alias1] [alias2 ...]
::1       localhost ip6-localhost ip6-loopback
ff02::1   ip6-allnodes
ff02::2   ip6-allrouters

# End /etc/hosts
EOF

<192.168.1.1>, <FQDN>, <HOSTNAME> 값은 특정 용도나 요구 사항(네트워크/시스템 관리자가 IP 주소를 할당하고 컴퓨터가 기존 네트워크에 연결될 경우)에 맞게 변경해야 한다. 선택 사항인 별칭 이름은 생략할 수 있다.