Eth0 adında sanal bir ethernet arayüzü oluşturabilir miyim?


24

Linux 3.10.5-1 çekirdeğini temel alan Arch'ı çalıştırıyorum. Sistem ethernet arabirimlerinin enp * s * ve wlp * vb. Yöntemlerini tanımlayan yeni fiili adlandırma kurallarını kullanır. Ancak bu benim sorunum çünkü eğitim kurumum Maple 17 adlı bir program kullanıyor . Maple'nın lisans sistemi eth0 adındaki bir arayüzün varlığına bağlıdır, çünkü lisansı doğrulamak için MAC adresini alması gerekir. Kötü bir çözüm, fakat bunun üzerinde çalışmalıyım.

Bu, mutlaka çalışmak zorunda kalmayacak herhangi bir MAC adresiyle (yeni MAC adresi için yeni bir lisans dosyası alabildiğim gibi) bir eth0 arayüzüne ihtiyacım olacağı anlamına geliyor. Aslında, her zaman sadece aşağı olmalıdır. Bu sorunu çözmeye çalışmanın birkaç yolu olduğunu düşünüyorum, ancak hiçbir fikrim hakkında hiçbir şey bulamadım.

  • Bağlantısız adaptör oluşturma
  • Eth0 adında enp3s0 takma adı oluşturma
  • Enp3s0 veya geridöngü arabiriminin yeniden adlandırılması.

Bulduğum şeyler sadece yeni sözleşmelerde ve udev'in eski versiyonlarında değişiklik yapmayı içeriyordu. Zaten sadece RHEL ve SuSe üzerinde çalıştılar. Yine de şanssız denedim. (persistent-net-names.rules ve net-name-slot.rules, ikisi de sadece gerçek arayüzüm çalışmayı durdurdu ve wlan arayüzüm kayboldu)

Yanıtlar:


28

Emin. Bir tapcihaz kullanarak oldukça kolay bir şekilde oluşturabilirsiniz tunctl(uml-utilities'den, en azından Debian'da):

# 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)

Veya 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

Muhtemelen ikinci yöntemi tercih etmelisiniz ip, Linux'ta tercih edilen ağ aracı ve muhtemelen onu kurmuş durumdasınız.

Ayrıca, bunların her ikisi de musluk cihazını “sanırım - rasgele yerel MAC” ile yaratıyor, MAC'yi normal yollardan herhangi biriyle sabit bir değere ayarlayabilirsiniz.


1
Kesinlikle doğru! Tam olarak umduğum çözüm, çok teşekkür ederim :) Bir rüya gibi çalışır.
Steen Schütt

1
Bir problemim var. MAC ile değiştirmeye çalışırken ip link set dev eth0 address 01:23:45:67:89:ab(Adaptör elbette kapalı iken) diyor RTNETLINK answers: Cannot assign requested address. Macchanger'ı yüklemeyi de denedim, ancak benzer bir hata veriyor. Her şey kök olarak denendi.
Steen Schütt 9:13

3
@TimeSheep Bu geçerli bir MAC adresi değil. Özellikle, çok noktaya yayın adresi. 00: 23: 45: 67: 89: Ab'yi deneyin. Bu işe yarar. Fakat 02: 23: 45: 67: 89: ab daha iyi olurdu. Bakınız, örneğin, en.wikipedia.org/wiki/MAC_address#Address_details
derobert 9:13

Ah teşekkürler. Bu şeylerin çalışması için şartlar olduğunu tamamen unuttum. Ben sadece rastgele oluşturduğu bir sonraki kapmak ve onu kullanacağım. Aygıtı yeniden oluşturmak yerine yeniden başlatmaya devam etmekten ve adresini bir komut dosyasıyla yeniden önyüklemekte tekrar ayarlamaya devam etmenin bir yolu var mı?
Steen Schütt 11:13

@TimeSheep Gerçekten değil. Sanal bir arayüz, çekirdeğin aklından başka bir yerde yok ... yeniden başlattığınızda gitti.
derobert 11:13

4

Ağ kartlarınıza istediğiniz adları vermek için udev kuralları da belirleyebilirsiniz:

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

Tabii ki, udev'e eth0, eth1, vb. Demelerini söylememelisiniz. Maple, yalnızca bir wifi kartınız varsa ne yapar?


Maple'ı bilmiyorum ama MAC'inizi kontrol eden ve sadece eth0ve adı verilen ağ arayüzlerine bakan başka bir "kopya korumalı" yazılım gördüm eth1. Sizinkinin adı wlan0çok kötü ise (nasıl yeniden adlandırılacağını ya da sanal bir arayüz oluşturmayı bilmiyorsanız).
Gilles 'SO- kötülük yapmayı bırak'

Sadece bir wifi kartınız varsa, sadece şansınız kalmayacağını düşünüyorum. Bu konuda bir temsilcisi ile konuştum, ancak lisans sistemini yazan kişiler gibi görünmüyorlar. Onlara adlandırma kurallarının büyük olasılıkla değiştiğini ve daha iyi destek için her şeyi yamalamaya bakmaları gerektiğini söyledim. you are correct in your suspicions of the cause of the problem with the activation, particularly the issue with the Ethernet adapter name. Unfortunately, it is a limitation of the licensing software that it has to look for an "eth0" in order to find the Host ID of the system
Steen Schütt

NIC'inizi geçici olarak yeniden adlandırmak için udev kurallarını eth0 olarak değiştirmek, ardından bu kuralı kaldırmak ve etkinleştikten sonra yeniden başlatmak gibi bir ihtimal var mı? Kart etx'inizi yeniden adlandırmanın her zaman gerçekten, gerçekten kötü olup olmadığını ya da sadece bazen bilmiyorum.
rainbowgoblin

@rainbowgoblin Hayır, her çalıştırıldığında sunucuyu kontrol eder, bu yüzden daha sonra tekrar "ana bilgisayar kimliği alınamadı" hatası almaya başlar. Her iki durumda da derobert'in çözümü mükemmeldi ve bu kadar geçici bir çözüm gibi hissetmiyor bile.
Steen Schütt 15:13

2

Kablolu ağ kartı olmayan bir bilgisayarla da benzer bir konuya bakıyorum. Bu çözüm iyi bir şeye benziyor: http://jms.id.au/wiki/FakeEth0

Temelde, fikir sahte bir arayüz oluşturmak için birkaç dosya oluşturmak / değiştirmek.

In /etc/modules-load.d/dummy.confeklenti:

# load dummy interface module
dummy

In /etc/udev/rules.d/70-persistent-net.ruleseklenti:

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

Ardından /etc/network/interfacesekle:

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

Bir yapmak gerekir modprobe dummybu noktada ve emin arayüz doğru bir şekilde tamamlandı olun. Yeniden başlatma yerine modprobe kullanıyorsanız mac adresini ayarlamayabilir; Bu durumda ip link set dev eth0 adreslerini de: ad: be: ef: ca: fe


-1

En basit çözüm - bu yalnızca bir ethernet kartına sahip sistemlerde çalışmasına rağmen:

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

Arch Linux "öngörülebilir adlandırma" kullanır. Bu onu kapatır.


Bunu çoktan denedim, hepsini mahvetti ve adaptörlerim kayboldu.
Steen Schütt 6:13
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.