web-dev-qa-db-ja.com

仮想インターフェース(eth0:1など)でdhcpを要求する方法(dhclientを使用)

これはうまくいくようです:

dhclient eth0
ifconfig eth0:1 192.168.1.105 up

しかし、これではありません:

ifconfig eth0 192.168.1.105 up
dhclient eth0:1

仮想アドレスでDHCPを取得する方法はありますか?

15
CoolAJ86

あなたは本当にこれを行うことはできません。カードには1つのMACアドレスしかありませんが、複数のIPインターフェイスがあります。静的にアドレスを割り当てる必要があります。

DHCPサーバーがDHCPOFFERを返信すると、eth0:1ではなくeth0にどのように配信されますか? eth0:1は、ブロードキャストによってDHCPDISCOVERまたはDHCPREQUESTを送信します。 DHCPサーバーはDHCPOFFERで応答し、クライアントにIPアドレスを通知します。しかし、eth0:1にまだIPアドレスがない場合、DHCPOFFERはどのように到着しますか? DHCPサーバーはブロードキャストし、リンク層に依存して、イーサネットフレーム(他の関連する層が上にスタックされている)を正しいMACアドレスに正しく配信します。そして今あなたのデバイスはIPアドレスを持っています。

DHCPOFFERの問題は、レイヤー2の観点から2つの「デバイス」(eth0eth0:1)が区別できないため、(レイヤー3の観点から)DHCPOFFERが255.255に宛先指定されることです。 .255.255(eth0:1にはまだIPアドレスがないため)。

VLANを使用してこれを回避できます。 VLANを使用すると、同じ物理ブロードキャストドメインを取得し、それを複数の「仮想」ブロードキャストドメイン(したがって、名前)のように扱うことができます。

20
user62491