Bisakah saya membuat antarmuka ethernet virtual bernama eth0?

24

Saya menjalankan Arch berdasarkan kernel Linux 3.10.5-1. Sistem ini menggunakan konvensi penamaan de-facto baru dari antarmuka ethernet enp * s * dan wlp * dll. Namun ini adalah masalah, karena lembaga pendidikan saya menggunakan program yang disebut Maple 17 . Sistem lisensi Maple bergantung pada keberadaan antarmuka bernama eth0 karena harus mengambil alamat MAC untuk memverifikasi lisensi. Ini solusi yang buruk, tetapi saya harus mengatasinya.

Ini berarti saya akan memerlukan antarmuka eth0 dengan alamat MAC apa saja (Karena saya dapat mengambil file lisensi baru untuk alamat MAC baru) yang tidak harus bekerja. Bahkan, seharusnya turun setiap saat. Saya rasa ada beberapa cara untuk mencoba menyelesaikan masalah ini, tetapi saya belum dapat menemukan ide apa pun.

  • Membuat adaptor tanpa konektivitas
  • Membuat alias untuk enp3s0 bernama eth0
  • Mengganti nama enp3s0 atau antarmuka loopback.

Hal-hal yang saya dapat temukan hanya mencakup perubahan ke konvensi yang lebih baru dan pada versi udev yang lebih lama. Mereka hanya bekerja pada RHEL dan SuSe. Saya mencobanya tanpa keberuntungan. (persistent-net-names.rules dan net-name-slot.rules, keduanya baru saja membuat antarmuka saya yang sebenarnya berhenti berfungsi dan antarmuka wlan saya menghilang)

Steen Schütt
sumber

Jawaban:

28

Yakin. Anda dapat membuat tapperangkat dengan cukup mudah, baik dengan tunctl(dari uml-utilities, setidaknya di Debian):

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

Atau dengan 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

Mungkin Anda harus memilih metode kedua, seperti ipalat jaringan yang disukai di Linux, dan Anda mungkin sudah menginstalnya.

Selain itu, keduanya menciptakan perangkat keran dengan MAC lokal acak — saya kira — Anda dapat mengatur MAC ke nilai tetap dengan cara normal apa pun.

derobert
sumber
1
Tepat! Solusi tepat yang saya harapkan, terima kasih banyak :) Ini bekerja seperti mimpi.
Steen Schütt
1
Saya punya masalah. Ketika mencoba mengubah MAC dengan ip link set dev eth0 address 01:23:45:67:89:ab(Sementara adaptor tentu saja) katanya RTNETLINK answers: Cannot assign requested address. Saya juga mencoba menginstal macchanger, tetapi mengembalikan kesalahan yang sama. Semuanya mencoba sebagai root.
Steen Schütt
3
@ TimeSheep Itu bukan alamat MAC yang valid. Secara khusus, itu adalah alamat multicast. Coba 00: 23: 45: 67: 89: ab. Itu akan berhasil. Tetapi 02: 23: 45: 67: 89: ab akan lebih baik. Lihat, misalnya, en.wikipedia.org/wiki/MAC_address#Address_details
derobert
Ah terima kasih. Saya benar-benar lupa bahwa ada persyaratan untuk hal-hal itu berfungsi. Saya hanya akan mengambil yang berikutnya itu secara acak menghasilkan dan menggunakannya. Apakah ada cara untuk menjaga perangkat tetap persidangan saat reboot daripada membuatnya kembali dan mengatur alamatnya kembali saat boot dengan skrip?
Steen Schütt
@ Timeime, Tidak juga. Ini adalah antarmuka virtual, tidak ada di mana pun kecuali pikiran kernel ... jadi ketika Anda reboot, itu hilang.
derobert
4

Anda juga dapat menetapkan aturan udev untuk memberikan kartu jaringan Anda nama yang Anda inginkan:

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

Tentu saja, Anda TIDAK boleh memberi tahu udev untuk memanggil mereka eth0, eth1, dll. Apa yang dilakukan Maple jika Anda hanya memiliki kartu wifi?

rainbowgoblin
sumber
Saya tidak tahu tentang Maple, tetapi saya telah melihat perangkat lunak "yang dilindungi copy" lainnya yang memeriksa MAC Anda dan hanya melihat antarmuka jaringan yang dipanggil eth0dan eth1. Jika milik Anda dipanggil wlan0, terlalu buruk (kecuali Anda tahu cara mengganti nama atau membuat antarmuka virtual).
Gilles 'SANGAT berhenti menjadi jahat'
Jika Anda hanya memiliki kartu wifi saya hanya berpikir Anda tidak beruntung. Saya berbicara dengan perwakilan tentang hal itu, tetapi mereka tampaknya bukan orang yang menulis sistem lisensi. Saya memang memberi tahu mereka bahwa konvensi penamaan kemungkinan besar berubah dan bahwa mereka harus melihat menambal semuanya untuk dukungan yang lebih baik. 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
Adakah peluang Anda bisa menggunakan aturan udev untuk sementara mengubah nama NIC Anda menjadi eth0, lalu menghapus aturan itu dan reboot setelah aktivasi? Saya tidak benar-benar tahu apakah selalu benar-benar buruk untuk mengganti nama etX kartu Anda, atau hanya kadang-kadang.
rainbowgoblin
@rainbowgoblin Tidak, ini memeriksa dengan server setiap kali dihidupkan, jadi itu hanya akan mulai memberi saya kesalahan "Tidak bisa mendapatkan host ID" lagi nanti. Apa pun solusi derobert yang sempurna, dan bahkan tidak merasa seperti itu banyak solusi.
Steen Schütt
2

Saya melihat masalah yang sangat mirip dengan komputer tanpa kartu jaringan kabel sama sekali. Solusi ini sepertinya bagus: http://jms.id.au/wiki/FakeEth0

Pada dasarnya, idenya adalah membuat / memodifikasi beberapa file untuk membuat antarmuka tiruan:

Di /etc/modules-load.d/dummy.conftambahkan:

# load dummy interface module
dummy

Di /etc/udev/rules.d/70-persistent-net.rulestambahkan:

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

Kemudian di /etc/network/interfacestambahkan:

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

Anda harus dapat melakukan modprobe dummyhal ini pada saat ini dan memeriksa untuk memastikan antarmuka telah diatur dengan benar. Ini mungkin tidak mengatur alamat mac jika Anda menggunakan modprobe alih-alih me-reboot; dalam hal ini lakukan tautan ip atur dev eth0 address de: ad: be: ef: ca: fe.

alex.forencich
sumber
-1

Solusi paling sederhana - meskipun ini hanya bekerja pada sistem dengan satu kartu ethernet:

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

Arch Linux menggunakan "penamaan yang dapat diprediksi." Ini mematikan itu.

Nick ODell
sumber
Saya sudah mencobanya, itu hanya mengacaukan semuanya dan adaptor saya hilang.
Steen Schütt