DHCP 応答は要求側インターフェースの MAC アドレスに基づいているため、物理インターフェースが 1 つの場合、答えは「できません」です。これを行う唯一の方法は、スクリプトを使用することです。
おそらく次のようなものです (プライマリで定義されたサブインターフェースを使用):
<オール>dhcp クライアントを強制終了して、後で自動的に実行されないようにします。与えられた IP アドレスのリース時間を計算し、リースが期限切れになる前にこのスクリプトを再度実行するようにスケジュールしてください。
更新
このためには、iproute2 をインストールする必要があります。次のコマンドは、既存の eth0 インターフェイスにバインドされた仮想インターフェイスを追加します:
ip link add link eth0 address 00:11:22:33:44:55 virtual0 type macvlan
インターフェイスの mac と「virtual0」名を好きな名前に置き換えます。オンにします:
ip link set virtual0 up
次に、必要に応じて dhcpd または dhclient または ifconfig を使用して構成します。私はこれを Debian スクイーズでテストしました - あなたのディストリビューションはカーネルで必要なものすべてを有効にしていないかもしれません (特に macvlan)。
@JesseChisholm が示唆したように、複雑なネットワーク設定を行うよりも、DHCP サーバーに正しいことを要求する方がはるかに簡単です。
OpenWRT の場合、以下を実行するだけです:
# udhcpc -i eth0:1 -x 0x3d:0100BEEFC0FFEE
その結果、同じ dhcp サーバーから 2 つの IP アドレスが取得されました。
0x36 は、クライアント ID オプションであるオプション 61 です。 :の後には、16 進バイト オプションがあります。これは 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)