개발을 하다보면, 라즈베리파이에 올렸던 소프트웨어를 우분투에 쓰기도하고, CentOS에 쓰기도 하고 데비안에 쓰기도 한다. 한번 만들었을 때 잘 만들었거나, 또는 단순 명료한 소스코드는 재 사용성이 높은 편이다. 뭐 어쨋거나 그러다보면 항상 문제가 되는 것이 장치명인데, 그 장치명 중에서 특히 네트워크 같은 경우에는 난해한 경우가 많다.

     

      예를들면, 디바이스 드라이버 또는 커널 버전에 따라 어떤 네트워크 장치들은 eth{숫자}로 시작되기도 하고 어떤 장치들은 en{숫자}{알파벳}{숫자}등으로 표시되기도 한다. 필자가 아주 예전에 했던 양산 OS에서는 온도특성으로 인해서 네트워크가 바뀌어서 장치가 잡히거나 하는 일도 있었으니, 무엇인가 장치별로 고정된 이름을 부여해주고 싶은 경우가 생각보다 자주 발생된다.

     

      그런경우 우리는 대부분 udev에 attribute를 통해서 특정 장치가 시스템에 인식되었을 때, 특정 이름등을 가질 수 있도록 해줄수 있다. 커널이 업그레이드되고 관련된 속성이 바뀌더라도 기능 자체는 충분히 사용할 수 있으니, 자세한 내용을 알고 싶은 독자들은 man을 참조하기 바란다. 

     

    필자가 구매한 게이트웨이 장비에는 유선 네트워크가 2개가 연결되어있다. 따라서 필자는 단순히 eth0, eth1로 표시될거라 예상했지만 ens0, ens0어쩌구저쩌구 하는 번호로 표시되었다. 필자가 사용하는 이 소프트웨어는 imx에서도 사용하던 소프트웨어라 가능하면 이름을 eth0, eth1로 사용하고 싶단 말이다. 그런경우 다음과 같이 설정하여 사용할 수 있다. 

     

    시간이 별로 없는 관계로 설정하는 방법만 정리하겠다. 

     

    1. 네트워크 장치 이름 변경

    1.1. 네트워크 장치 이름 확인

        ifconfig만 입력해서 확인한다. 이때 각 이더넷 장치의 MAC Address를 확인해 두자. 리눅스에서는 ether 뒤에 표시되는 주소가 MAC 어드레스 되시겠다.

     

    1.2. udev 파일 생성

      기존에 생성된 적이 있으면 해당 파일을 수정하고, 그렇지 않으면 파일을 하나 만들면 된다. 생성할 파일은 다음과 같다.

    1.2.1. 수정 또는 생성할 파일이름

      /etc/udev/rules.d/10-rename-network.rules

     

    1.2.2. 파일 내용

      파일 내용은 액션과 서브시스템을 설정하고, 속성인 ATTR{address}의 값이 각 네트워크 장치의 맥어드레스를 넣어준다음, 지정하고자 하는 이름을 넣어주면된다. 아래의 그림과 같이 말이다. 

     

     

    1.2.3. 확인

      부팅이후 ifconfig를 통해 확인해보면, 각 장치의 이름이 eth0, eth1로 바뀌었음을 확인할 수 있다. 

     

     

    2. 고정 IP 설정

      ubuntu 20.04 부터는 interface 파일을 사용하려면 몇 가지 선행 작업이 필요하다. 그래서 굳이 변경하지 않고 netplan을 이용하여 설정하면 된다. 

    2.1. 설정파일 생성 또는 수정

      설정파일은 /etc/netplan/00-installer-config.yaml이다. 주의할점은 이 yaml은 공백의 숫자로 레벨을 구분하기 때문에 띄워서 쓰기를 잘 해주는것이 좋다. 

     

    2.2. 수정내용

      필자는 앞서 언급했듯 2개의 이더넷을 가지고 있다. 앞서 이름을 변경했으니, 변경한 이름대로 다음과 같이 작성해 주도록 하자. 띄워쓰기 주의하면서 말이다.

     

    # Let NetworkManager manage all devices on this system
    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                - 192.168.10.99/24
                gateway4: 192.168.10.1
                nameservers:
                    addresses:
                        [168.126.63.1,8.8.8.8]
            eth1:
                addresses:
                - 192.168.1.99/24
                gateway4: 192.168.1.1
                nameservers:
                    addresses:
                        [168.126.63.1,8.8.8.8]

     

     

      완료되었으면 리부팅 한번 해주도록 하자. 큰 문제가 없다면, 네트워크 케이블이 연결되면 고정된 IP로 출력되는 것을 확인할 수 있다. 

     

     

    위와 같은 방식으로 모든 시스템에 동일한 설정을 할 수 있도록 구성할 수 있다. 필요한 독자께 도움이 되었길 바란다. 

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기