운영체제/UBUNTU

[Ubuntu 18.04 LTS] 네트워크 설정하기

louky 2019. 3. 4. 13:34
반응형

[Ubuntu 18.04 LTS] 네트워크 설정하기




기억을 지배하자......



Ubuntu 18.x 부터는  네트워크 설정이 변경되었다. (마니 당황스럽다. )


 기존 16.x까지는 /etc/network/interfaces에서 설정을 하면 되었으나  18.x부터는 /etc/netplan 하위에 있는 01-netcfg.yaml에서 설정이 가능하다. 



물론 /etc/network/interface를 통해서도 설정이 가능하다. 



환경

    • OS :  Ubuntu 18.04 LTS

    • H/W : HP DL380G9



먼저 변경된 네트워크 설정방법이다. 


Step 1. config 파일을 확인한다.


# ls -al /etc/netplan/
total 12
drwxr-xr-x  2 root root 4096  2월 25 18:01 .
drwxr-xr-x 88 root root 4096  3월  4 11:42 ..
-rw-r--r--  1 root root  341  2월 25 18:01 01-netcfg.yaml

** ubuntu 18.04 live  version을 설치 하였을 경우 01-netcfg.yaml 이 아닌  50-cloud-init.yaml 파일에 동일하게 설정하면 된다.  



해당 파일을 확인해 보면 기본적으로 아무 설정이 되어 있지 않다. 

root@test: ~ # cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd


Step 2. config 파일을 수정한다. 


파일 수정에 앞서 설정할  Interface를 확인한다. 


< Interface확인 방법>



A, ip command를 이용한 확인 방법

 root@test:~# ip a
1: lo:  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: eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 38:63:bb:33:7d:80 brd ff:ff:ff:ff:ff:ff
  


B. ifconfig를 이용한 확인 방법

root@test:~# ifconfig -a eth0: flags=4163

mtu 1500 ether 38:63:bb:33:7d:80 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 16 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 1362 bytes 104252 (104.2 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1362 bytes 104252 (104.2 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0



interface확인이 긑났으면 기존 구성에서 Static 또는 DHCP 설정에 맞게 추가 한다. 


<Static설정 방법 >

  ethernets:

    eth0:                                                            <- 네트워크 인터페이스 명

      addresses: 

        - 192.168.0.111/24                                      <- 사용할 IP 

      gateway4: 192.168.0.1                                 <-  Gateway IP

      nameservers:

         addresses: [168.126.63.1,8.8.4.4]           <- DNS서버 IP



<DHCP설정 방법>

  ethernets:

    enp3s0:                                                       <- 네트워크 인터페이스 명

      dhcp4: true




<예시 - Static설정 방법>

 root@test:~# vi /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 192.168.0.111/24
      gateway4: 192.168.0.1
      nameservers:
         addresses: [168.126.63.1,8.8.4.4]


Step 3. config를 반영한다. 


root@test:~# sudo netplan apply



조금더 자세한 설정이나 정보는 ubuntu 페이지를 참고하길 바란다. 

UBUNTU 네트워크 설정  : https://help.ubuntu.com/lts/serverguide/network-configuration.html 




이전 네트워크 설정 방법으로 설정을 하고자 한다면 다음 참고 한다. 

       클릭 =========>>   [Ubuntu 18.04 LTS] 이전 네트워크 설정방법으로 네트워크 설정하기




Error 발생시 ...


yaml파일에 설정 정보가 잘못되었을 경우 아래와 같이 출력된다. 

root@test:~# sudo netplan apply
Error in network definition /etc/netplan/01-netcfg.yaml line 7 column 8: expected mapping

 >>> 7번째 라인부터 오류가 있다는 것을 노티하고 해당 config 파일을 보면 Interface 명이 누락되어 error 출력한 것이었다. 


root@test:~# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
       ## 이부분에 interface name있어야 하는데 누락되어 error 발생
      addresses:
        - 192.168.10.111/24
      gateway4: 192.168.10.1
      nameservers:
              addresses: [168.126.63.1,8.8.4.4]


오류가 발상하는 부분의 라인 위치를 표시하니 참고하여 오류를 수정하면 된다.




반응형