네트워크 장치의 별칭을 만들려면 어떻게해야합니까?


13

최신 Linux 배포판에서 eth0더 이상 네트워크 장치의 이름을 지정하지 않는 라이센스 관리자를 사용하는 특정 소프트웨어를 실행하려고합니다 . MAC 주소를 확인하려고하는데 ens1Centos 7에서 NIC가 호출 되면 작동하지 않습니다.

이 소프트웨어 공급 업체는 이미 다른 컴퓨터에서이 문제를 해결했으며 이들이 어떻게했는지 이해하고 싶습니다. ens1라이센스 관리자가 eth0다시 찾을 수 있도록 일종의 별명을 작성 했습니다.

별명은 내가 표시하면 전혀 표시되지 ifconfig -a않지만 명시 적으로 호출하면 표시됩니다 ifconfig eth0. 이 ip link명령을 사용하면 다음과 같이 표시됩니다.

eth0@ens1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT
link/ether [mac address] brd ff:ff:ff:ff:ff:ff

여기서 정확히 무엇을했으며 다른 컴퓨터에서 이러한 종류의 별칭을 어떻게 다시 만들 수 있습니까?


2
그들은 아마 사용 했습니까 ip link set ens1 name eth0@ens1? 나는 그런 재부팅으로도 살아남을 것 같지 않지만 아마도 DEVICE라인 ifcfg-ens1이나 다른 것을 바꿀 수 있습니까? 당신은 모두를 볼 수 eth0@ens1ens1귀하의 ip link목록하거나 새 이름?
Eric Renouf

1
방금 VM에서 이것을 테스트했습니다 . ip link set ens1 name eth0@ens1새로운 이름 ifconfig -a도 표시됩니다. 그리고 ip link set ens1 alias eth0alias eth0별도의 행에 당신이 실행할 때 ip link.
cas

답변:


5

이것은 아마도 macvlan기능을 사용하여 수행됩니다 . 기존 하드웨어 인터페이스 위에 가상 이더넷 인터페이스를 추가 할 수 있습니다. 귀하의 경우 다음과 같이 수행 할 수 있습니다.

ip link add link ens1 name eth0 type macvlan

기본적으로 새 인터페이스는 임의로 선택된 로컬 관리 유니 캐스트 MAC 주소를 가져옵니다. 또는로 MAC 주소를 지정할 수 있습니다 address <MAC>.


1

udev 규칙을 사용하여 NIC의 이름을 이전 eth0스타일로 다시 바꿀 수 있습니다 .

예를 들어 다음 /etc/udev/rules.d/70-persistent-net.rules과 같은 줄을 갖도록 편집 하십시오.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

xx:xx:xx:xx:xx:xxNIC의 MAC 주소는 어디에 있습니까 ?

또한 eth0이름이 아닌 이름을 사용하도록 네트워크 구성을 업데이트해야합니다.ens1

이 변경이 발생한 이유에 대한 자세한 내용은 예측 가능한 네트워크 인터페이스 이름 을 참조하십시오 .


2
인터페이스의 이름을 완전히 바꾸는 것을 피하고 싶습니다. 또한 별칭이 어떻게 구현되었는지 궁금합니다.
Mad Scientist

1
나는 그 eth0@ens1양식을 전에 본 적이 없으며 인터넷 검색을 통해 귀하의 질문 만 보여줍니다. 시도 했습니까 grep -r eth0 /etc? 당신이 그것을 발견하면, 나도 호기심으로 게시하십시오.
cas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.