15.10에서 네트워크 인터페이스의 이름을 바꾸는 방법은 무엇입니까?


35

15.10을 새로 설치하기로 결정했기 때문에 MATLAB을 다시 설치해야합니다. MATLAB 라이센스는 eth0 하드웨어 주소에 연결되어 있습니다.

이더넷 카드가 enp1s0으로 표시되며 이름을 eth0으로 바꿔야합니다. 단지 보라에 나와있는 /etc/network/interfaces, 그리고 /etc/udev/rules.d/70-persistent-net.rules내가 어디서부터 시작 확실 해요, 그래서 존재하지 않습니다.


1
udev인터페이스의 이름을 eth0..lets 로 바꾸는 규칙을 정의 할 수 있습니다 . 인터페이스 의 MAC 주소는 예를 들어 xx:XX:xx:YY:yy:ZZ파일을 생성하고 파일에 넣을 수 있습니다. MAC 주소를 모르는 경우 얻을 수 있습니다. 에서 파일 ../etc/udev/rules.d/99-rename-net.rulesSUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:XX:xx:YY:yy:ZZ", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"/sys/class/net/enp1so/address
heemayl

@heemayl 당신이 그 의견을 답변으로 추가했다면, 사람들은 더 쉽게 그것에 댓글을 달고 왜 다른 사람들이 아닌 어떤 사람들에게는 효과가 있는지 논의 할 수 있습니다. 포옹!
Jonathan Hartley

위의 의견에서 @heemayl의 답변은 새로운 Ubuntu 15.10 설치에서 나에게 효과적이지 않았습니다.
Jonathan Hartley

위의 @jdnz는 systemd의 .link파일 사용을 제안 했지만 다른 사람들은 이것이 효과가 없다고 제안했습니다. 링크 파일을 편집 한 후 initramfs를 업데이트해야 하기 때문에 작동하지 않았을 가능성이 높습니다 . 따라서 @jndz의 답변을 먼저 따른 다음 위에 링크 된 답변을 따르십시오.
Pinja-Liina Jalkanen

답변:


29

이것에 대한 나의 해결책 /etc/udev/rules.d/10-rename-network.rules은 내용 으로 파일을 만드는 것이 었습니다 .

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

1
이 DID는 Ubuntu 15.10에서 저에게 효과적입니다 (높은 투표 응답 및 질문에 대한 의견과 달리)
Jonathan Hartley

1
@ steve-mohan 정답이며 올바른 것으로 표시해야합니다.
Hubro

5
이것은 실제로 16.04부터 작동합니다.
EnzoR

이것이 최고의 대답이기 때문에-실제로 나를 위해 일한 것을 주목하고 싶을 것입니다 .. 여기에 설명 된 것처럼 네트워크 인터페이스의 이름 바꾸기를 비활성화하려면 grub 구성을 변경하고 부팅 명령을 다시 생성해야했습니다. itzgeek.com/how-tos/ mini-howtos /…
qodeninja

1
16.04에서 나를 위해 일했습니다. ff : ff : ff : ff : ff : ff를 MAC 주소로 바꿔야했습니다.
Ken Shirriff

7

나는 같은 문제가 있었고 파일을 추가 /etc/udev/rules.d/해도 도움이되지 않았습니다. 이 문제는 여기에 설명 된대로 예측 가능한 네트워크 인터페이스 이름을 사용하는 것으로 보입니다 . MATLAB의 장치 이름을 "eth0"으로 지정하기 위해 직접 수동 명명 체계를 만들려면 여기에 설명 .link/etc/systemd/network/대로 고유 한 파일을 만들 수 있습니다 .

구체적으로 /etc/systemd/network/10-eth.link내용이 담긴 파일 을 만들었습니다

[Match]
MACAddress=ff:ff:ff:ff:ff:ff
[Link]
Name=eth0

ff:ff:ff:ff:ff:ff변경하려는 장치의 MAC 주소로 교체 하십시오. 재부팅 후 이름은 원하는대로였습니다.


1
이것은 저에게 효과가 없었으며 이유를 알고 싶습니다.
richvdh

1
이것은 우분투 15.10에서 나에게 작동하지 않았다
Jonathan Hartley

1
16.04부터는 작동하지 않습니다.
EnzoR

6

어떤 이유로 든 @zab가 제안한 답변이 효과가 없다면 여기에서 만든 것과 같은 이름 지정 체계를 비활성화 할 수도 있습니다 . 그러나 @zab가 제안한 방법은 잠재적으로 더 안전합니다

방금 명령 줄 인수에 biosdevname = 0을 포함시키지 않았으므로 기본적으로 꺼져있는 것 같습니다.

다음 단계를 수행해야합니다.

$ sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX 줄에 net.ifnames = 0을 추가하십시오.

GRUB_CMDLINE_LINUX="[previous parameters] net.ifnames=0"

그런 다음 새 grub 파일을 생성하십시오.

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

마지막으로 재부팅 시스템.


1
나중에 해당 링크를 사용할 수없는 경우에도이 답변이 여전히 유용하도록 자세히 설명해 주시겠습니까?
잔나

@Zanna 끝났습니다
Dmitriy Kozlov

2
전체 인터넷의 모든 것에 대해 수많은 시도를 한 후에, 이것은 나를 위해 고정 된 이더넷입니다. 바보 같은 네트워크 어댑터가 eth0 대신 예측 가능한 네트워크 인터페이스 이름을 사용하기 때문에 Serva / PXE를 통해 Linux Mint (또는 Ubuntu)를 설치 한 후 미래의 Google 검색의 상황은 이더넷이 아닙니다. 지침은 여기에서 찾을 수 있습니다 : itzgeek.com/how-tos/mini-howtos/…
ThePCpenguin

오늘 (모든 업데이트가 설치된 상태)부터 작동합니다. 고맙습니다.
Erutan409

2

내가했을 때 eno1이 보여주는 것처럼 이것은 16.04 서버에서 나를 위해 일했습니다 ifconfig -a. ifconfig eno1 up그때 다음과 같이 인터페이스를 불러 와야했습니다 .

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

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

이름이 즉시 또는 재부팅 후에 만 ​​변경됩니까?
Xen2050

2

라즈베리 파이 3에서 16.04 Server (최소)를 실행하는이 문제가 있었고 게시 된 답변 중 아무것도 도움이되지 못했습니다. 문제를 해결 한 것은 여기에 설명 된대로 예측 가능한 네트워크 인터페이스 이름을 비활성화하는 것입니다 : https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

이 명령을 실행하여 :

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.