異なるDNSサーバーを異なるネットワークインターフェイスに割り当てることはできますか?

異なるDNSサーバーを異なるネットワークインターフェイスに割り当てることはできますか?

私のeth1に10.50.1.11および10.50.1.12 DNSサーバーを使用させ、私のeth0インターフェースは8.8.8.8および8.8.4.4 DNSサーバーを使用しようとしています。私はxenserver 6.5でcentos 7仮想マシンを実行しています。 eth1 は閉回路 VLAN、eth0 はパブリックネットワークです。私が経験している問題は、私のcentosクライアントがどのインターフェイスが最初に表示されるかに応じて、使用するDNSサーバーを自動的に選択することです。 /etc/network-scripts/ifcfg-eth0または/etc/network-scripts/ifcfg-eth1にDNSサーバーを定義すると、/etc/resolv.confに印刷されますが、回避策が見つからないことがわかります。これ。別のネットワークインターフェイスに別のDNSサーバーを割り当てることができるかどうかを知っている人はいますか?

ベストアンサー1

いいえ、ジオコーディングの仕組みのため、これを行うことはできません。

マシンのプロセスが接続を希望する場合、例えば、example.comgetaddrinfo、最初または同じライブラリルーチンを呼び出しますgethostbyname。これらのルーチンの目的は、DNS名をIPアドレスに変換することです。したがって、彼らは/etc/resolv.confDNSサーバーのIPアドレスを見て読み取り、そのサーバーにDNSクエリパケットを送信し、応答を受け取り、結果のIPアドレスを呼び出し元に返します。

この時点で、プロセスは確認されたIPアドレスを取得し、システムコール(たとえば)に転送しますconnect。ここでは、カーネルが介入してルーティングテーブルを表示し、そのアドレスに接続するために使用するインターフェイスを特定します。

つまり、インターフェイス自体の選択はDNS設定によって異なり、DNS設定は通信に使用されるインターフェイスにまったく依存しません。

おすすめ記事