18.12.5. 自動 IP アドレス検出と DHCP スヌーピング
本セクションでは、自動 IP アドレス検出および DHCP スヌーピングに関する情報を提供します。
18.12.5.1. はじめに
仮想マシンのインターフェイスで使用される IP アドレスの検出は、変数 IP が参照されているにもかかわらず、その変数に値が割り当てられていない場合に、自動的にアクティブになります。変数
CTRL_IP_LEARNING
を使用して、使用する IP アドレスの学習方法を指定できます。有効な値は、any、dhcp、または none です。
any 値は、仮想マシンが使用しているアドレスを判断するために、libvirt にパケットを使用するように指示します。これは、変数
TRL_IP_LEARNING
が設定されていない場合のデフォルト設定です。この方法では、インターフェイスごとに 1 つの IP アドレスのみが検出されます。ゲスト仮想マシンの IP アドレスが検出されると、IP アドレススプーフィングがフィルターのいずれかで阻止された場合などに、そのアドレスへの IP ネットワークトラフィックがロックされます。この場合、仮想マシンのユーザーはゲスト仮想マシン内のインターフェイスで IP アドレスを変更できません。このインターフェイスは、IP アドレスのスプーフィングと見なされます。ゲスト仮想マシンが別のホスト物理マシンに移行されるか、サスペンド操作後に再開されると、ゲスト仮想マシンによって送信される最初のパケットによって、ゲスト仮想マシンが特定のインターフェイスで使用できる IP アドレスが再度決定されます。
dhcp の値は、有効なリースを持つ DHCP サーバーが割り当てられたアドレスのみを有効にするように libvirt に指示します。この方法は、インターフェイスごとに複数の IP アドレスの検出と使用をサポートします。一時停止の操作後にゲスト仮想マシンが再開すると、有効な IP アドレスリースがそのフィルターに適用されます。これを行わないと、ゲスト仮想マシンは DHCP を使用して新しい IP アドレスを取得することが期待されます。ゲスト仮想マシンを別の物理ホストの物理マシンに移行する場合は、ゲスト仮想マシンが DHCP プロトコルを再実行する必要があります。
CTRL_IP_LEARNING を none に設定すると、libvirt は、明示的な値を割り当てずに IP アドレスの学習および参照を行いません。これはエラーになります。