Linux Server

[Linux]Ubuntu Server - 고정IP 설정하기

톰아저씨의 오두막 2021. 7. 6. 13:08

[Linux]Ubuntu Server - 고정IP 설정하기

[Linux] Setting a static IP in Ubuntu Server

 

Ubuntu

○ Server Version : Ubuntu 18.04, Ubuntu 20.04

 

우분투 서버를 운영하기 위해서는 네트워크 설정을 《DHCP》에서 《고정IP, Static IP》로 설정하여야 합니다. 이번 글에서는 우분투에서 네트워크를 고정IP로 설정하는 법을 소개드립니다. 설명은 《CLI, Command-Line Interface》모드로 진행하겠습니다.

 

네트워크 설정 확인

 

'ifconfig -a'를 입력하여 네트워크 정보를 확인하고 필요 정보를 메모합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
root@uncletom-vm:~# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.128  netmask 255.255.255.0  broadcast 192.168.8.255
        inet6 fe80::75cd:4827:832:5190  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c6:4f:1d  txqueuelen 1000  (Ethernet)
        RX packets 7  bytes 702 (702.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 279  bytes 24555 (24.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 19  base 0x2000  
 
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 812  bytes 72263 (72.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 812  bytes 72263 (72.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
root@uncletom-vm:~
 

 

  • ens33
  • ip : 192.168.8.128

 

네트워크 설정 파일 변경

ⓐ 네트워크 설정 파일은 '/etc/netplan' 디렉토리 내에 있는 《yaml 파일》입니다. 《vi 에디터》를 이용하여 파일을 엽니다.

 

1
2
3
root@uncletom-vm:/etc/netplan# ls
01-network-manager-all.yaml
root@uncletom-vm:/etc/netplan# vi 01-network-manager-all.yaml

 

 

ⓑ 파일을 열어 보면 Ubuntu 환경에 따라 설정 정보가 다릅니다.

 

《DHCP》로 설정되었다면 설정파일의 내용은 아래와 같은 내용으로 되어 있습니다.

 

1
2
3
4
5
6
# This is the network config written by 'subiquity'
network:
  version: 2
  ethernets:
    enp0s25:
      dhcp4: true
cs

vi 01-network-manager-all.yaml

 

 

《Gnome》등 GUI 모드에서 네트워크를 설정한 경우 《renderer》가 《NetworkManager》로 설정되어 있을 수도 있습니다.

 

1
2
3
4
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

 

 

ⓒ 'ifconfig -a'로 조회한 정보를 토대로 고정IP로 설정하기 위하여 다음과 같이 수정합니다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
network:
version: 2
renderer: networkd
ethernets:
    ens33:
        dhcp4: no
        dhcp6: no
        addresses:
        - 192.168.8.128/24
        gateway4: 192.168.8.1
        nameservers:
            addresses: [0.0.0.08.8.4.4]

 

ⓓ 변경이 완료되면 'netplan apply' 명령어를 이용하여 변경된 네트워크를 적용시켜주고 재부팅합니다.

 

1
2
root@uncletom-vm:~# netplan apply
root@uncletom-vm:~# reboot

 

공인IP에 대한 네트워크 설정

테스트용 서버 에서 공유기나 《VMware》와 같은 《가상머신, Virtual Machine》에서의 네트워크 환경이 아닌 실제 공인IP를 통신사에서 구매해서 네트워크를 설정하는 경우 시스템 환경에 따라 설정이 달라질 수 있습니다.

 

1
2
3
4
root@kairos:~# cd /etc/netplan
root@kairos:/etc/netplan# ls
50-cloud-init.yaml
root@kairos:/etc/netplan#

 

1
root@kairos:/etc/netplan# vi 50-cloud-init.yaml

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    renderer : networkd
    ethernets:
        eno1:
            dhcp4: no
            dhcp6: no
           addresses: [xxx.xxx.51.186/24]
           gateway4: xxx.xxx.51.190
            nameservers:
                addresses: [168.126.63.1,8.8.8.8]
        eno2:
            dhcp4: true
        eno3:
            dhcp4: true
        eno4:
            dhcp4: true
~
~
~

vi 50-cloud-init.yaml

 

저장 후 'netplan apply' 명령어를 이용하여 변경된 네트워크를 적용시켜주고 동일한 방법으로 재부팅합니다.

1
2
root@uncletom-vm:~# netplan apply
root@uncletom-vm:~# reboot

 

이상 Ubuntu Server 에서 네트워크를 고정IP로 설정하는 방법에 대하여 소개드렸습니다.

감사합니다.