웹사이트 검색

Linux 기본 사항 - Ubuntu에서 고정 IP 설정


이 자습서에서는 명령줄에서 Ubuntu 시스템에 고정 IP 주소를 설정하는 방법을 설명합니다. 모든 최신 버전의 Ubuntu에 대한 네트워크 구성을 다루고 고정 IP 주소 구성, 호스트 이름 설정 및 이름 확인 구성에 대한 지침을 포함합니다.

Ubuntu 20.04 LTS 및 Ubuntu 18.04 LTS의 네트워크 구성

Ubuntu의 네트워크 구성은 netplan이라는 도구로 이루어지며 기존의 /etc/network/interfaces 파일을 대체합니다.

Ubuntu에서 Netplan으로 정적 IP 주소 구성

다음은 Netplan으로 정적 IP 주소를 구성하는 단계입니다. Netplan 구성 파일은 /etc/netplan/ 디렉토리에 있습니다. 기본 구성 파일은 /etc/netplan/01-netcfg.yaml입니다.

편집기로 네트워크 구성 파일을 엽니다. netplan 구성 파일 이름은 Ubuntu 버전에 따라 다릅니다.

우분투 20.04:

sudo nano /etc/netplan/00-installer-config.yaml

우분투 18.04:

sudo nano /etc/netplan/01-netcfg.yaml

구성 구문은 Python 프로그래밍 언어(.yaml 형식)로 되어 있으므로 줄 들여쓰기가 중요합니다!

파일 내용은 Ubuntu 20.04와 18.04에서 동일합니다.

다음은 첫 번째 네트워크 인터페이스 ens33 및 게이트웨이 IP 192.168.1.1의 정적 IPv4 주소 192.168.1.100의 예입니다. 서버는 이름 확인을 위해 무료 Google DNS 서버 8.8.8.88.8.4.4를 사용합니다.

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]

또는 Ubuntu 서버의 스크린샷으로:

IPv6 주소는 addresses 줄에 쉼표로 구분하여 추가할 수 있습니다. 예:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24, '2001:1::1/64']
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]

IPv6 주소를 작은따옴표로 묶는 것이 중요합니다. 그렇지 않으면 구문 오류가 발생합니다.

변경 사항을 적용하려면 다음을 실행합니다.

sudo netplan apply

또는 --debug 스위치와 함께 사용하여 netplan 구성 파일의 구문 분석이 성공한 경우 유용한 출력을 얻습니다.

sudo netplan --debug apply

Netplan으로 DHCP 주소 구성

다음은 DHCP 서버에서 IPv4 및 IPv6에 대한 네트워크 구성을 가져오는 구성입니다.

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: yes
dhcp6: yes

변경 사항을 적용하려면 다음을 실행합니다.

sudo netplan apply

더 많은 Netplan 구성 옵션

Netplan은 Ubuntu 18.04에서 네트워크 카드, 가상 장치, VLAN 및 브리지를 구성하는 복잡한 새 구성 시스템입니다. 더 많은 예시와 구문에 대한 자세한 설명은 매뉴얼 페이지를 참조하세요.

Ubuntu 12.04 - 17.04(Ubuntu 16.04 LTS 포함)의 네트워크 구성

1단계: 네트워크 인터페이스 구성하기

이 단계에서는 원하는 텍스트 편집기(nano gedit vi)를 사용하여 다음 파일을 편집하여 네트워크 인터페이스를 수동으로 구성합니다. 이 예제에서는 \nano\ 편집기를 사용합니다. 터미널에 다음 명령을 입력하여 해당 파일을 편집할 수 있습니다.

이 행에서 직접 복사하여 붙여넣을 수 있습니다.

sudo nano /etc/network/interfaces

루트 암호를 입력하십시오. 선호하는 편집기가 파일을 열면 이전 Ubuntu 버전에서 볼 수 있습니다.

auto lo eth0
iface lo inet loopback
iface eth0 inet dynamic

systemd가 있는 Ubuntu 시스템(예: Ubuntu 16.04 이상)에서 네트워크 인터페이스 이름은 이제 eth0 대신 ens33으로 지정되고 dynamic이라는 단어는 dhcp로 대체되었습니다.

IP 주소가 DHCP에 의해 자동으로 할당되는 구성은 다음과 같습니다.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto ens33
iface ens33 inet dhcp

정적으로 구성된 네트워크 카드에는 이전 Ubuntu 버전에서 다음과 같은 섹션이 있습니다.

auto lo eth0
iface lo inet loopback
iface eth0 inet static
        address xxx.xxx.xxx.xxx(enter your ip here)
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)

다음은 이전 Ubuntu 릴리스의 예입니다.

auto lo eth0
iface lo inet loopback
iface eth0 inet static
	address 192.168.1.100
	netmask 255.255.255.0
	gateway 192.168.1.1

다음은 Ubuntu 16.04 이상에 대한 예입니다.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# test

# The primary network interface
auto ens33
iface ens33 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4

여기 Ubuntu 16.04 시스템의 전체 네트워크 구성 파일이 있습니다.

\nano\ 편집기를 사용하여 구성 파일을 편집하는 경우 Ctrl+x를 입력하여 변경 사항을 저장합니다.

수정된 버퍼를 저장하시겠습니까(\아니요\라고 대답하면 변경 사항이 삭제됨)?

<---\y\ 입력

쓸 파일 이름: 인터페이스

<---입력

2단계: DNS 서버 구성

/etc/resolv.conf의 변경은 Ubuntu < 14.04가 있는 시스템에서만 필요합니다. 최신 Ubuntu 버전의 경우 이름 서버는 /etc/network/interfaces 파일 또는 netplan 구성 파일에서 구성됩니다.

a) 우분투 20.04

편집기로 netplan 구성 파일을 엽니다. 이 예에서는 nano 편집기를 사용합니다.

sudo nano /etc/netplan/00-installer-config.yaml

DNS 서버 IP 주소를 굵게 표시했습니다.

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]

b) 우분투 18.04

nano 편집기로 netplan 구성 파일을 엽니다.

sudo nano /etc/netplan/01-netcfg.yaml

DNS 서버 IP 주소를 굵게 표시했습니다.

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]

c) Ubuntu 버전 14.04 및 16.04

/etc/network/interfaces 파일을 다시 열고 게이트웨이 줄 바로 뒤에 dns-nameservers 8.8.8.8 줄을 추가합니다.

sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
iface ens33 inet static
        address xxx.xxx.xxx.xxx(enter your ip here)
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)
        dns-nameservers 8.8.8.8

네임서버 8.8.8.8 및 8.8.4.4는 Google에서 공용으로 제공하므로 네트워크 구성에서 사용할 수 있습니다.

\nano\ 편집기를 사용하는 경우 Ctrl+x를 입력하여 변경 사항을 저장합니다.

수정된 버퍼를 저장하시겠습니까(\아니요\라고 대답하면 변경 사항이 삭제됨)?

<---\y\ 입력

쓸 파일 이름: 인터페이스

<---입력

d) Ubuntu 버전 < 14.04

이 단계에서는 DNS 구성 파일을 수동으로 구성합니다.

sudo nano /etc/resolv.conf

편집자가 파일을 열면 다음 정보를 입력해야 합니다...

nameserver xxx.xxx.xxx.xxx(enter your dns server ip)
nameserver xxx.xxx.xxx.xxx(enter your alt dns server ip)

\nano\ 편집기를 사용하는 경우 Ctrl+x를 입력하여 변경 사항을 저장합니다.

수정된 버퍼를 저장하시겠습니까(\아니요\라고 대답하면 변경 사항이 삭제됨)?

<---\y\ 입력

쓸 파일 이름: resolv.conf

<---입력

다음은 예입니다.

nameserver 8.8.8.8
nameserver 8.8.4.4

3단계: 네트워킹 다시 시작

새 설정으로 네트워크 인터페이스를 수동으로 다시 시작하십시오.

Ubuntu 20.04 및 18.04의 경우 netplan 명령을 사용하여 변경 사항을 적용하고 네트워크를 다시 시작합니다. 명령은 다음과 같습니다.

sudo netplan apply

Ubuntu 버전 14.04 및 16.04의 경우 대신 systemctl을 사용합니다.

systemctl restart 

이 시점에서 설정이 올바른지 확인할 수 있습니다.

ifconfig

모든 것이 정확하면 이 결과를 얻을 수 있습니다.

eth0      Link encap:Ethernet  direcciónHW 00:33:27:46:2v:34
          Direc. inet:192.168.1.101  Difus.:0.0.0.0  Másc:255.255.255.0
 ...

Ubuntu < 14.04의 경우 네트워킹 초기화 스크립트 사용:

sudo /etc/init.d/networking restart

그러면 다음과 같은 결과가 반환됩니다.

*Reconfiguring network interfaces… [OK]

호스트 이름 구성

Ubuntu 서버 또는 데스크탑의 호스트 이름이 /etc/hostname/etc/hosts 파일에서 구성되고 있습니다. >. /etc/hostname 파일은 실제 시스템 호스트 이름을 설정하고 /etc/hosts는 로컬 이름 확인에 사용됩니다.

이 예에서는 내 시스템의 호스트 이름을 obelix.example.com으로 변경합니다.

먼저 /etc/hostname 파일을 편집합니다.

sudo nano /etc/hostname

호스트 이름 파일에는 호스트 이름의 로컬 부분만 포함됩니다. 여기서 로컬 부분은 \obelix\입니다. /etc/hostname 파일의 내용을 다음과 같이 변경합니다.

obelix

파일을 저장합니다. 편집 후 nano에서 보이는 호스트 이름 파일:

그런 다음 편집기로 /etc/hosts 파일을 엽니다.

sudo nano /etc/hosts

다음과 같이 시스템의 IP 주소로 시작하는 줄을 변경합니다.

192.168.1.100   obelix.example.com     obelix

다음은 /etc/hosts 파일의 스크린샷입니다.

형식은 다음과 같습니다.

[IP 주소] [전체 호스트 이름 포함. 도메인] [호스트 이름의 로컬 부분]

마지막으로 호스트 이름 변경을 적용하려면 시스템을 다시 시작하십시오.