VMインスタンスがサブネットの仮想ゲートウェイからIPアドレスを取得するように、サブネットでCentOS 6.6イメージを起動できる状況にあります。これで、このゲートウェイは不安定になり、私はそれを修正するアクセス権がないので、このサブネット上に自分のDHCPサーバーをセットアップしました。
したがって、このサブネットには2つのDHCPサーバーがあり、VMはランダムなIPアドレスを取得しています。1つのDHCPサーバーから、別のDHCPサーバーから取得することもあります。私の質問は、VMでDHCPクライアントを構成して、障害のあるDHCPサーバーではなく自分のDHCPサーバーのみにDHCP要求を送信する方法を教えてください。 man dhcp.conf
はあまり役に立ちませんでした。
CentOS 7では、/etc/dhcp/dhclient.conf
ファイルを作成し、次のような行を追加することでこれを実現できます。
reject 192.168.56.0/24;
いずれかのサーバー(またはこの例では、特定のサブネット上のすべてのDHCPサーバー)からのDHCPオファーを拒否します。
特定のインターフェイスでのみDHCPオファーをフィルタリングするには、reject
ディレクティブをinterface
ブロック内に配置します。
interface "eth0" {
reject 192.168.56.0/24;
}
eth0
のマニュアルページに示されている例とは異なり、インターフェイス名(ここではdhclient.conf
)は引用符で囲む必要があることに注意してください。
すべての場合において、変更を有効にするには、スーパーユーザーとしてsystemctl restart network.service
を実行します。
CentOS 6.7では同じ手順が機能しますが、
reject
ルールが追加されるファイルは/etc/dhcp/dhclient-eth0.conf
です(そして、interface
ブロックを使用する必要がないことは明らかです)。service network restart
で、これもスーパーユーザーとして呼び出す必要があります。DHCPは、IPアドレスのマルチキャスト要求を介して機能します。応答する最初のDHCPサーバーからIPアドレスを取得します。クライアントに特定のサーバーからDHCPアドレスを強制的に取得させる方法はありません。
実際、お互いを認識していない2つのDHCPサーバーを実行すると、発生している問題の種類が問われます。障害のあるものをシャットダウンまたは修正する必要があります。