eth0이라는 가상 이더넷 인터페이스를 만들 수 있나요?

eth0이라는 가상 이더넷 인터페이스를 만들 수 있나요?

저는 Linux 3.10.5-1 커널을 기반으로 Arch를 실행하고 있습니다. 시스템은 이더넷 인터페이스 enp*s* 및 wlp*에 대해 새로운 사실상의 명명 규칙을 사용합니다. 그런데 이게 제가 다니는 교육기관에서 이라는 프로그램을 사용하고 있어서 문제가 됩니다.메이플 17. Maple의 라이센스 시스템은 라이센스를 검증하기 위해 해당 인터페이스의 MAC 주소를 검색해야 하기 때문에 eth0이라는 인터페이스의 존재에 의존합니다. 좋지 않은 해결책이지만 고쳐야 합니다.

즉, 모든 MAC 주소가 있는 eth0 인터페이스가 필요하지만(새 MAC 주소에 대한 새 라이센스 파일을 검색할 수 있기 때문에) 해당 인터페이스가 반드시 작동하지는 않습니다. 실제로는 감소했어야 했습니다. 이 문제를 해결하기 위해 몇 가지 방법이 있다고 생각하지만 어떤 아이디어에 대한 정보도 찾지 못했습니다.

  • 연결하지 않고 어댑터 만들기
  • enp3s0에 대해 eth0이라는 별칭을 만듭니다.
  • enp3s0 또는 루프백 인터페이스의 이름을 바꿉니다.

내가 찾을 수 있는 것은 새로운 규칙과 이전 버전의 udev로의 변경에 대해서만 다룹니다. 어쨌든 RHEL과 SuSe에서만 작동합니다. 나는 노력했지만 운이 없었다. (persist-net-names.rules 및 net-name-slot.rules, 둘 다 실제 인터페이스의 작동을 중지시키고 wlan 인터페이스가 사라집니다.)

답변1

틀림없이. (적어도 Debian에서는 uml-utilities에서) 다음을 tap사용하여 매우 쉽게 장치를 만들 수 있습니다 .tunctl

# tunctl -t eth0
Set 'eth0' persistent and owned by uid 0
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr a6:9b:fe:d8:d9:5e  
          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:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

또는 다음을 사용하여 ip:

# ip tuntap add dev eth0 mode tap
# ip link ls dev eth0
7: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 500
    link/ether 0e:55:9b:6f:57:6c brd ff:ff:ff:ff:ff:ff

ip두 번째 방법 은 Linux에서 가장 많이 사용되는 네트워킹 도구이고 이미 설치되어 있기 때문에 선호해야 할 수도 있습니다 .

또한 이 두 가지 모두 임의의 로컬 MAC을 사용하여 탭 장치를 생성하므로 일반적인 방법으로 MAC를 고정 값으로 설정할 수 있습니다.

답변2

udev 규칙을 설정하여 네트워크 카드에 원하는 이름을 지정할 수도 있습니다.

https://wiki.archlinux.org/index.php/Network_Configuration#Change_device_name

물론, udev에게 eth0, eth1 등으로 부르라고 지시해서는 안 됩니다. Wi-Fi 카드만 있으면 메이플은 어떻게 하나요?

답변3

유선 네트워크 카드가 전혀 없는 컴퓨터에서 매우 유사한 문제를 찾고 있습니다. 이 솔루션은 좋아 보입니다.http://jms.id.au/wiki/FakeEth0

기본적으로 아이디어는 일부 파일을 생성/수정하여 가상 인터페이스를 생성하는 것입니다.

다음에 추가 /etc/modules-load.d/dummy.conf:

# load dummy interface module
dummy

다음에 추가 /etc/udev/rules.d/70-persistent-net.rules:

SUBSYSTEM=="net", KERNEL=="dummy0", NAME="eth0"

그런 다음 /etc/network/interfaces다음을 추가합니다.

iface eth0 inet static
    hwaddress DE:AD:BE:EF:CA:FE

modprobe dummy이 시점에서 인터페이스가 올바르게 설정되었는지 확인하기 위해 실행하고 확인할 수 있어야 합니다 . 재부팅하는 대신 modprobe를 사용하면 mac 주소가 설정되지 않을 수 있습니다. 이 경우 ip link set dev eth0 address de:ad:be:ef:ca:fe를 수행하세요.

답변4

가장 간단한 솔루션 - 이는 이더넷 카드가 1개 있는 시스템에서만 작동하지만 다음과 같습니다.

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

Arch Linux는 "예측 가능한 이름 지정"을 사용합니다. 그러면 꺼집니다.

관련 정보