또이리의 Server Engineer

우분투 18.04 네트워크 설정 - netplan 본문

Linux Engineer

우분투 18.04 네트워크 설정 - netplan

또이리 2020. 11. 1. 03:00

우분투 18.04 네트워크 설정 - netplan

Ubuntu 18.04 network 우분투 네트워크 우선 우분투의 네트워크를 설정하기 위해서는 이더넷 장치가 시스템에 존재하는지 확인해야 합니다. lspci 명령어를 사용하여 현재 시스템의 network device를 확인합니다.

lspci명령어를 사용한 network device 확인

이 시스템에는 두 개의 네트워크 장치가 있습니다.

 

이제 이 장치가 인터넷에 연결되어 있는지 확인해 보겠습니다.

ifconfig명령어를 사용하거나 ip a 명령어를 사용하면 확인이 가능합니다.

ifconfig명령어를 사용한 network device 확인
ip a 명령어를 사용한 네트워크 확인

ifconfig 명령어를 사용하면 현재 연결된 네트워크 장치를 확인할 수 있습니다.

옵션 -a를 사용하면 연결되지 않은 장치도 확인할 수 있습니다.

 

위의 경우 ifconfig만 입력했을 경우 ens33 장치만 표시되고 ens34는 표시되지 않습니다.

네트워크가 연결되지 않았기 때문입니다.

 

ens33은 ip가 표시된 것을 보면 네트워크가 연결된 것을 확인할 수 있습니다.

 

대부분은 서버들은 랜 포트를 두 개 이상 가지고 있습니다.

bonding을 통해서 대역폭을 넓히는 구성을 할 수도 있고, active, backup(standby), failover를 통해서 랜 포트 한 개의 작동이 안 될 경우, 다른 포트를 작동시켜 서버의 안정성을 확보할 수도 있습니다.

 

또 다른 경우는 랜 포트 한 개는 내부네트워크용, 나머지 한 개는 외부 네트워크용 방식으로 다양하게 활용할 수 있습니다. 보통 서버는 2개에서 많게는 16개, 그 이상의 랜 포트를 사용 경우도 있습니다.

 

/etc/network/interfaces 편집

이제 위의 사진을 참고로 하여 ens34 포트를 연결해 보겠습니다. 당연하지만 물리적으로 활성화된 라우터나 스위치, 허브와 LAN cable로 연결되어있어야 합니다.

ethtool 명령어를 사용한 link 확인

정상적으로 통신이 가능한 경우 맨 아래 Link detected에 yes라고 표시 됩니다.

 

우분투 18.04 LTS에서 네트워크는 여러 가지 방법으로 설정할 수 있습니다. 이번 스토리에서는 두 가지 방법을 알아보겠습니다. 네트워크 매니저를 사용하는 방법은 제외하겠습니다.

 

/etc/network/interfaces의 파일을 편집하는 방법과 /etc/netplan/01-netcfg.yaml 파일을 편집하는 방법입니다.

기존의 우분투는 대부분 사용자들이 /etc/network/interfaces의 편집을 통해서 네트워크를 설정했습니다.

/etc/network/interfaces 편집으로 네트워크 설정 dhcp

vi or vim 편집기를 사용해서 위와 같이 작성하거나 수정해주면 됩니다.

꼭 vi , vim이 아니더라도 nano 같은 편집기를 사용하면 됩니다.

 

ens34에 대한 설정이 없어서 ens33 아래 추가로 작성했습니다.

위의 사진에서는 ens33, ens34 두 장치 모두 dhcp로 설정했습니다.

 

자동으로 ip를 할당받게 설정된 것입니다.

수정후 파일을 저장합니다.

 

1.service networking restart

2.systemctl restart networking.service

3./etc/init.d/networking restart

4.ifup ens34

5.reboot or init 6

 

네 개의 명령어 중 하나를 사용해서 네트워크 디바이스를 재시작하거나 시스템을 재부팅합니다.

정상적으로 ens34가 연결된 것을 확인할 수 있습니다.

 

고정 ip로 설정할 때는 dhcp부분을 static으로 수정하면 됩니다.

/etc/network/interfaces 편집으로 네트워크 설정 static

위와 같이 static(고정 ip)으로 사용하실 때는 추가적인 편집이 필요합니다.

 

iface 장치명 inet static --- inet 뒷부분을 static으로 변경합니다.

address 사용할 ip를 작성합니다.

할당받은 ip나 사용 가능한 ip 주소를 사용합니다.

netmask 네트워크의 규모를 설정합니다.

일반적으로 255.255.255.0 C-class를 사용합니다.

network 일반적으로 현재 네트워크의 첫 번째 주소입니다.

broadcast 일반적으로 현재 네트워크의 마지막 주소입니다.

network와 broadcast는 입력하지 않아도 네트워크를 사용하는데 문제없습니다.

gateway 게이트웨이의 ip를 작성합니다.

일반적으로 ip 대역의 1번 ip를 사용합니다. xxx.xxx.xxx.1 vmware의 경우 xxx.xxx.xxx.2를 사용합니다.

dns-nameservers dns ip를 작성합니다.

domain 주소를 사용할 수 있습니다.

168.126.63.1 KT DNS server

8.8.8.8 Google DNS server

설정 후 저장을 하고, 네트워크를 재시작해주셔야 적용됩니다.

 

1.service networking restart

2.systemctl restart networking.service

3./etc/init.d/networking restart

4.ifup ens34

5.reboot or init 6

5번을 사용하여 시스템을 재시작하여도 적용됩니다.

 

/etc/netplan/01-netcfg.yaml 편집

최근에는 netplan을 사용하여 네트워크를 편집하고 있습니다. 간혹 파일명이 다를 수도 있습니다. *.yaml 파일을 편집하면 됩니다.

/etc/netplan/01-netcfg.yaml 편집으로 네트워크 설정 dhcp

위의 사진은 ens33, ens34 두 장치(포트)를 dhcp4를 yes(true)로 설정했습니다.

netplan apply 명령어를 사용하여 적용시켜줍니다.

 

정상적으로 적용되었다면 별다른 메시지가 발생하지 않습니다.

적용 후, ifconfig or ip a로 꼭 네트워크를 확인하시기 바랍니다.

/etc/netplan/01-netcfg.yaml 편집으로 네트워크 설정 static

고정 ip를 사용하시는 경우는 위와 같이 dhcp4 부분을 no(false)로 변경하시고, 추가적으로 편집을 해주면 됩니다.

addresses [ 로 시작하며 사용 가능한 ip를 입력하고 마지막 ip뒤에 / prefix를 입력합니다.(netmask) 마지막은 ] 로 닫아줍니다.

netmask prefix host
255.255.255.255 /32 1
255.255.255.254 /31 2
255.255.255.252 /30 4
255.255.255.248 /29 8
255.255.255.240 /28 16
255.255.255.224 /27 32
255.255.255.192 /26 64
255.255.255.128 /25 128
255.255.255.0 /24  Class C 256
255.255.254.0 /23 512
  ~  
255.255.0.0 /16 Class B 65,536
255.0.0.0 /8 Class A 16,777,216
0.0.0.0 /0 The Internet 4,294,967,296

gateway4 게이트웨이 ip를 작성합니다.

nameservers 다음 줄 addresses에 dns server ip를 입력해 줍니다. 콤마를 사용하여 추가로 dns server를 입력할 수 있습니다.

 

addresses는 [ 로 시작하고 ] 로 닫아줍니다.

설정을 저장하고 netplan apply로 적용합니다.

 

정상적으로 적용이 되었다면, 별다른 메시지가 표시되지 않습니다.

적용 후, ifconfig or ip a로 네트워크를 확인해 줍니다.

 

ping test를 통하여 ping이 게이트웨이, 외부 dns server ip, domain으로 나가는지 확인합니다.

감사합니다.

Comments