관리 메뉴

솜씨좋은장씨

[Ubuntu] netplan 으로 고정 IP 설정하는 방법! (Ubuntu 17.10 버전 이상부터) 본문

유용한 정보/Linux | Ubuntu

[Ubuntu] netplan 으로 고정 IP 설정하는 방법! (Ubuntu 17.10 버전 이상부터)

솜씨좋은장씨 2022. 3. 5. 19:36
728x90
반응형

평소에 이미 IP 세팅이 다 되어있는 AWS나 AZURE 서버를 사용하다가

이번에 출장을 가서 장비를 새로 연결하고 IP 세팅을 처음으로 해보았습니다.

어려운 작업은 아니었지만 AWS나 AZURE로 사용했던게 정말 편했던거구나 라는 생각이 들었습니다.

다음에도 이런 작업을 더 수월하게 하기 위해서 설정했던 방법과 하면서 찾아보았던 궁금했던 점들을 포스팅해보려 합니다.

👨🏻‍💻 ifconfig 명령어로 설정할 네트워크 카드 이름 확인하기

$ ifconfig

먼저 ifconfig 명령어를 활용하여 설정할 네트워크 카드의 이름을 확인합니다.

eno1      Link encap:Ethernet  HWaddr so:mj:an:g1:2:34  
          inet addr:123.456.789.123  Bcast:123.456.789.012  Mask:255.255.255.0
          inet6 addr: somj::ang1:2345:somj:ang1/23 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:700446718 errors:162 dropped:7 overruns:0 frame:162
          TX packets:759331517 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:633203311619 (633.2 GB)  TX bytes:820367544399 (820.3 GB)

eno2      Link encap:Ethernet  HWaddr so:mj:an:g1:2:34
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1048359198 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1048359198 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:1961104241785 (1.9 TB)  TX bytes:1961104241785 (1.9 TB)

왼쪽에 eno1, eno2 와 같이 나오는 이름이 우리가 설정에 사용할 이름입니다.

OS의 버전에 따라서 

eth0, eht1 / eno1, eno2 / enp1s0, enp2s0 등의 이름으로 나올 수 있습니다.

👨🏻‍💻 netplan 을 활용한 설정!

먼저 /etc/netplan/ 위치에 yaml 파일이 존재하는지 확인합니다.

$ cd /etc/netplan

위와 같이 netplan 위치로 이동하려고 했을때 잘 이동이 되면 존재하는 것이고 그렇지 않으면 없는 것 입니다.

(이건 더 좋은 방법이 있으면 댓글로 남겨주세요~ 제가 먼저 찾으면 수정할 예정입니다.)

$ ls

ls 명령어로 존재하는 파일을 확인합니다.

00-installer-config.yaml

있다면 해당 파일을 vi 편집기로 열어주고 없다면 vi 명령어로 파일을 작성합니다.

$ sudo vi 00-installer-config.yaml

관리자 권한이 필요할 수 있으니 sudo 로 열어줍니다.

network:
    ethernets:
        eno1:
            addresses: []
            dhcp4: true
        eno2:
            addresses: []
            dhcp4: true
    version: 2

이렇게 오픈한 파일을 수정합니다.

수정에 사용하는 항목값은 아래와 같습니다.

항목 내용 비고
addresses IP주소와 서브넷마스크  IP주소/서브넷마스크 형식
( "," 로 여러개 지정 가능 )
gateway4 게이트웨이 주소  
nameservers DNS 서버를 설정하는 부분 addresses 와 마찬가지로 
 "," 로 여러개 지정 가능
renderer networkd / NetworkdManager 데스크탑모드 사용하는 경우는 
NetworkdManager
dhcp 자동으로 ip가 할당되도록 할 것 인가? 고정 IP로 설정할 경우에는 no

만약 내가 설정할 값이 아래와 같다고 하면

항목
설정할 IP 주소 12.345.432.110
게이트웨이 주소 12.345.432.250
DNS 서버 정보 234.56.12.345
123.234.23.232

수정한 값은

network:
    ethernets:
        eno1:
            addresses: [12.345.432.110/24]
            gateway4: 12.345.432.250
            nameservers: 
              addresses: [234.56.12.345, 123.234.23.232]
            dhcp4: no
            renderer: networkd
        eno2:
            addresses: []
            dhcp4: true
    version: 2

위와 같이 수정하면됩니다.

수정을 하고 나서는

esc -> :wq

esc를 누르고 :wq로 저장을 하고 나옵니다.

여기까지 수정하였다면 

$ sudo netplan apply

위의 명령어를 사용하여 설정을 적용합니다.

 

만약 설정이 제대로 되지 않는다고 하면

제대로 작성하였는지 다시 확인해보고

만약 제대로 작성했다고 한다면 다른 방법을 찾아보면 좋을 것 같습니다.

 

읽어주셔서 감사합니다

Comments