Linux

Ubuntu 18.04.5에서 netplan으로 고정IP 설정하기

bitcoder 2022. 3. 1. 19:04
728x90

본 글에서는 Ubuntu 18.04.5에서 netplan을 이용한 고정IP설정을 소개합니다.

 

우분투 18.04를 설치한 후라면 기본적으로 DHCP 설정이 되어있습니다.

이 경우에 IP가 이따금 변경되는 것을 방지하는 등의 목적을 위해 고정IP를 설정해야 합니다.

 

netplan 설정파일은 /etc/netplan 디렉토리에서 찾을 수 있습니다.

파일이름은 01-network-manager-all.yaml 과 같은 형태로 되어있으며, yaml 문법으로 작성되어있습니다.

 

아래는 제가 설치한 Ubuntu 18.04.5에서의 기본적인 /etc/netplan/01-network-manager-all.yaml 파일의 내용입니다.

 

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

 

기본적인 설정에서 network interface들과 현재 설정된 IP주소를 조회해보겠습니다.

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:65:0e:29 brd ff:ff:ff:ff:ff:ff
    inet 192.168.42.133/24 brd 192.168.42.255 scope global dynamic noprefixroute ens33
       valid_lft 1794sec preferred_lft 1794sec
    inet6 fe80::210c:9b7:654f:33c7/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

 

위의 'ip addr' 명령의 결과에서 현재 IP주소는 192.168.42.133이며,

network interface 이름은 ens33이라는 것을 알 수 있습니다.

이제 이 정보를 가지고 고정IP주소 192.168.42.132로 netplan 설정을 변경해보겠습니다.

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.42.132/24]
      gateway4: 192.168.42.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

 

설정을 적용하려면 다음과 같이 실행합니다.

$ sudo netplan apply
$

 

netplan명령이 성공했다면 출력은 없습니다! 잘 작동하는지 확인하면 된다지만 뭔가 허전합니다.

허전함을 달래기 위해 다음의 명령으로 netplan 명령의 사용법을 찾아봅니다.

$ netplan --help
usage: /usr/sbin/netplan  [-h] [--debug]  ...

Network configuration in YAML

optional arguments:
  -h, --help  show this help message and exit
  --debug     Enable debug messages

Available commands:

    help      Show this help message
    apply     Apply current netplan config to running system
    generate  Generate backend specific configuration files from
              /etc/netplan/*.yaml
    info      Show current netplan version and available features
    ip        Retrieve IP information from the system
    try       Try to apply a new netplan config to running system, with
              automatic rollback

 

설정을 적용할 때 debug정보를 보려면 다음과 같이 실행합니다.

$ sudo netplan --debug apply
** (generate:5863): DEBUG: 06:10:24.951: Processing input file /etc/netplan/01-network-manager-all.yaml..
** (generate:5863): DEBUG: 06:10:24.951: starting new processing pass
** (generate:5863): DEBUG: 06:10:24.951: We have some netdefs, pass them through a final round of validation
** (generate:5863): DEBUG: 06:10:24.951: ens33: setting default backend to 2
** (generate:5863): DEBUG: 06:10:24.951: Configuration is valid
** (generate:5863): DEBUG: 06:10:24.951: Generating output files..
** (generate:5863): DEBUG: 06:10:24.951: networkd: definition ens33 is not for us (backend 2)
DEBUG:no netplan generated networkd configuration exists
DEBUG:netplan generated NM configuration changed, restarting NM
DEBUG:ens33 not found in {}
DEBUG:Merged config:
network:
  bonds: {}
  bridges: {}
  ethernets:
    ens33:
      addresses:
      - 192.168.42.132/24
      dhcp4: false
      gateway4: 192.168.42.1
      nameservers:
        addresses:
        - 8.8.8.8
        - 8.8.4.4
  vlans: {}
  wifis: {}

DEBUG:Skipping non-physical interface: lo
DEBUG:device ens33 operstate is up, not changing
DEBUG:{}
DEBUG:netplan triggering .link rules for lo
DEBUG:netplan triggering .link rules for ens33

 

이상으로 Ubuntu 18.04.5에서 netplan을 이용한 고정IP설정을 소개하였습니다.

즐리눅, 즐프하시기 바랍니다. ^^

 

감사합니다.

 

 

728x90