목차

Linux From Scratch - Version 12.1-systemd
Chapter 9. System Configuration
이전 위로 / 처음으로 다음
개요 장치 및 모듈 처리

9.2. 일반적인 네트워크 설정

이 섹션은 네트워크 카드를 구성할 경우에만 적용됩니다.

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

버전 209부터 systemd는 기본 네트워크 설정에 사용할 수 있는 systemd-networkd라는 네트워크 설정 데몬을 제공합니다. 또한 버전 213부터는 정적 /etc/resolv.conf 파일 대신 systemd-resolvedDNS 확인을 처리할 수 있습니다. 두 서비스 모두 기본적으로 활성화되어 있습니다.

참고
시스템이 네트워크에 연결되어 있지 않거나 네트워크 구성에 NetworkManager와 같은 다른 유틸리티를 사용하려는 경우 등 네트워크 구성에 systemd-networkd를 사용하지 않으려면 서비스를 비활성화하여 부팅 중에 오류 메시지가 표시되지 않도록 하세요.

systemctl disable systemd-networkd-wait-online

systemd-networkd(및 systemd-resolved)에 대한 구성 파일은 /usr/lib/systemd/network 또는 /etc/systemd/network에 위치하고 있습니다. etc/systemd/network에 있는 파일은 /usr/lib/systemd/network에 있는 파일보다 우선순위가 높습니다. 구성 파일에는 세 가지 유형이 있습니다: .link, .netdev.network 파일. 이러한 구성 파일에 대한 자세한 설명과 예제 내용은 systemd.link(5), systemd.netdev(5), systemd.network(5) 매뉴얼 페이지를 참조하세요.

9.2.1.1. 네트워크 장치 이름 지정

Udev는 일반적으로 enp2s1과 같은 물리적 시스템 특성을 기반으로 네트워크 카드 인터페이스 이름을 할당합니다. 인터페이스 이름이 무엇인지 확실하지 않은 경우 시스템을 부팅한 후 언제든지 ip link를 실행할 수 있습니다.

참고
인터페이스 이름은 시스템에서 실행 중인 udev 데몬의 구현 및 구성에 따라 다릅니다. LFS용 udev 데몬(8.75절 "Systemd-255"에 설치된 systemd-udevd)은 LFS 시스템으로 부팅되지 않으면 실행되지 않습니다. 따라서 chroot 환경에 있더라도 호스트 배포판에서 이러한 명령을 실행하여 LFS 시스템에서 사용 중인 인터페이스 이름을 확인하는 것은 신뢰할 수 없습니다.

대부분의 시스템에는 각 연결 유형에 대해 하나의 네트워크 인터페이스만 있습니다. 예를 들어 유선 연결의 일반적인 인터페이스 이름은 eth0입니다. 무선 연결은 일반적으로 wifi0 또는 wlan0이라는 이름을 갖습니다.

기본 또는 사용자 지정 네트워크 인터페이스 이름을 사용하려는 경우 세 가지 대체 방법이 있습니다:

9.2.1.2 정적 IP 설정

다음 명령은 정적 IP를 위한 기본 설정을 생성합니다 (systemd-networkd와 systemd-resolved를 둘다 사용합니다).

cat > /etc/systemd/network/10-eth-static.network << "EOF"
[Match]
Name=<network-device-name>

[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=192.168.0.1
Domains=<Your Domain Name>
EOF

DNS 서버가 두 개 이상인 경우 DNS 항목을 여러줄 추가할 수 있습니다. 정적 /etc/resolv.conf 파일을 사용하려는 경우 DNS 또는 도메인 항목을 포함하지 마세요.

9.2.1.3. 동적 IP 설정

다음은 IPv4 DHCP를 사용하는 기본설정을 작성합니다.

cat > /etc/systemd/network/10-eth-dhcp.network << "EOF"
[Match]
Name=<network-device-name>

[Network]
DHCP=ipv4

[DHCPv4]
UseDomains=true
EOF


9.2.2. /etc/resolv.conf 파일 설정

시스템을 인터넷에 연결하려면 인터넷 도메인 이름을 IP 주소로 또는 그 반대로 확인하기 위해 DNS(도메인 이름 서비스) 이름 확인 수단이 필요합니다. 이 방법은 ISP 또는 네트워크 관리자로부터 제공받은 DNS 서버의 IP 주소를 /etc/resolv.conf에 입력하는 것이 가장 좋습니다.

9.2.2.1. 시스템 확인 구성

참고
systemd-resolved와 호환되지 않는 방법을 사용하여 네트워크 인터페이스를 구성하는 경우(예: ppp 등) 또는 로컬 확인 유형(예: bind, dnsmasq, unbound 등) 또는 /etc/resolv.conf를 생성하는 기타 소프트웨어(예: systemd에서 제공하는 프로그램 이외의 resolvconf 프로그램)를 사용하는 경우 systemd-resolved 서비스를 사용하지 않아야 합니다.

systemd-resolved를 비활성화하려면 다음 명령을 실행합니다:

systemctl disable systemd-resolved

DNS 구성에 systemd-resolved를 사용하는 경우 /run/systemd/resolve/stub-resolv.conf 파일을 생성합니다. 그리고 /etc/resolv.conf가 존재하지 않으면 systemd-resolved에 의해 /run/systemd/resolve/stub-resolv.conf에 대한 심볼릭 링크로 만들어집니다. 따라서 /etc/resolv.conf를 수동으로 생성할 필요가 없습니다.

9.2.2.2. 정적 resolv.conf 구성

정적 /etc/resolv.conf가 필요한 경우 다음 명령을 실행하여 생성합니다:

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

domain <Your Domain Name>
nameserver <IP address of your primary nameserver>
nameserver <IP address of your secondary nameserver>

# End /etc/resolv.conf
EOF

domain은 생략하거나 search 문으로 대체할 수 있습니다. 자세한 내용은 resolv.conf의 매뉴얼 페이지를 참조하세요.

<IP address of your nameserver>를 설정에 가장 적합한 DNS 서버의 IP 주소로 바꿉니다. 종종 두 개 이상의 항목이 있을 수 있습니다(요구 사항에 따라 폴백 기능을 위한 보조 서버가 필요합니다). DNS 서버가 하나만 필요하거나 원하는 경우 파일에서 두 번째 네임서버 행을 제거하세요. IP 주소는 로컬 네트워크의 라우터일 수도 있습니다. 또 다른 옵션은 아래 IP 주소를 네임서버로 사용하는 Google 공인 DNS 서비스를 사용하는 것입니다.

참고
Google 공인 IPv4 DNS 주소는 IPv4의 경우 8.8.8.88.8.4.4이며, IPv6의 경우 2001:4860:4860::88882001:4860:4860::8844입니다.


9.2.3. 시스템 호스트 이름 설정하기

부팅 프로세스 중에 /etc/hostname 파일은 시스템의 호스트 이름을 설정하는 데 사용됩니다.

etc/hostname 파일을 생성하고 다음과 같이 호스트 이름을 입력합니다.

echo "<lfs>" > /etc/hostname

<lfs>는 컴퓨터에 부여된 이름으로 대체해야 합니다. 여기에 FQDN(정규화된 도메인 이름)을 입력하지 마세요. 해당 정보는 /etc/hosts 파일에 저장됩니다.


9.2.4. etc/hosts 파일 사용자 정의하기

FQDN(정규화된 도메인 네임)1)/etc/hosts 파일에 사용할 별칭을 결정합니다. 고정 IP 주소를 사용하는 경우 IP 주소도 결정해야 합니다. 호스트 파일 항목의 형식은 다음과 같습니다.

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이 될 수 있습니다.

컴퓨터가 인터넷에 표시되도록 하려면 도메인 이름 자체 또는 접두사(주로 호스트 이름)와 도메인 이름을 “.” 문자로 연결하여 만든 문자열이 유효한 FQDN이 될 수 있습니다. 또한 도메인 공급업체에 문의하여 FQDN을 공인 IP 주소로 확인해야 합니다.

컴퓨터가 인터넷에 표시되지 않더라도 MTA와 같은 특정 프로그램이 제대로 작동하려면 FQDN이 필요합니다. 이를 위해 특수 FQDN인 localhost.localdomain을 사용할 수 있습니다.

다음 명령을 사용하여 /etc/hosts 파일을 만듭니다:

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

<192.168.0.2> <FQDN> [alias1] [alias2] ...
::1       ip6-localhost ip6-loopback
ff02::1   ip6-allnodes
ff02::2   ip6-allrouters

# End /etc/hosts
EOF

<192.168.0.2><FQDN> 값은 특정 용도나 요구 사항에 따라 변경해야 합니다(네트워크/시스템 관리자가 IP 주소를 할당하고 머신이 기존 네트워크에 연결되는 경우). 선택적 별칭 이름은 생략할 수 있으며, <192.168.0.2> 줄은 DHCP 또는 IPv6 자동 구성으로 구성된 연결을 사용하거나 localhost.localdomain을 FQDN으로 사용하는 경우 생략할 수 있습니다.

localhost, localhost.localdomain 또는 호스트 이름(도메인 제외)은 myhostname NSS 모듈에서 처리하므로 /etc/hostname에는 해당 항목이 포함되지 않습니다. 자세한 내용은 nss-myhostname(8) 매뉴얼 페이지를 참조하세요.

::1 항목은 127.0.0.1의 IPv6 대응 항목이며 IPv6 루프백 인터페이스를 나타냅니다.

1)
fully-qualified domain name