Karena balasan DHCP didasarkan pada alamat MAC dari antarmuka yang meminta, dengan satu antarmuka fisik, jawabannya adalah "Anda tidak bisa". Satu-satunya cara untuk melakukannya adalah dengan skrip.
Mungkin sesuatu seperti (dengan subinterface yang ditentukan pada primer):
- Antarmuka utama mengeluarkan DHCP dan mendapatkan alamat IP
- macchanger mengubah alamat MAC antarmuka
- Sub antarmuka mengeluarkan DHCP dan mendapatkan alamat IP
- Kembalikan alamat mac dengan macchanger
Bunuh klien dhcp, agar tidak berjalan otomatis nanti. Tentukan waktu sewa alamat IP yang Anda berikan, dan jadwalkan skrip ini untuk dijalankan kembali sebelum masa sewa berakhir.
Perbarui
Untuk ini, Anda perlu menginstal iproute2. Perintah berikut menambahkan antarmuka virtual yang terikat ke antarmuka eth0 yang sudah ada:
ip link add link eth0 address 00:11:22:33:44:55 virtual0 type macvlan
Ganti nama mac dan "virtual0" dari antarmuka ke apa pun yang Anda suka. Aktifkan:
ip link set virtual0 up
Kemudian konfigurasikan menggunakan dhcpd atau dhclient atau ifconfig sesuai kebutuhan. Saya telah menguji ini pada pemerasan Debian - distro Anda mungkin tidak memiliki semua yang diperlukan diaktifkan di kernel (khususnya macvlan).
Seperti yang disarankan @JesseChisholm, jauh lebih mudah untuk menanyakan hal yang benar ke server DHCP daripada membuat penyiapan jaringan yang rumit.
Untuk OpenWRT saya cukup menjalankan:
# udhcpc -i eth0:1 -x 0x3d:0100BEEFC0FFEE
Yang menghasilkan dua alamat ip dari server dhcp yang sama.
0x36 adalah opsi 61 yang merupakan opsi id klien. Setelah :ada opsi hex byte. Ini berasal dari opsi bantuan udhcpc:
# udhcp --help
BusyBox v1.22.1 (2014-10-08 16:34:50 HKT) multi-call binary.
Usage: udhcpc [-fbqRB] [-t N] [-T SEC] [-A SEC/-n]
[-i IFACE] [-s PROG] [-p PIDFILE]
[-oC] [-r IP] [-V VENDOR] [-F NAME] [-x OPT:VAL]... [-O OPT]...
...
-x OPT:VAL Include option OPT in sent packets (cumulative)
Examples of string, numeric, and hex byte opts:
-x hostname:bbox - option 12
-x lease:3600 - option 51 (lease time)
-x 0x3d:0100BEEFC0FFEE - option 61 (client id)