
dnsmasqというDNSサーバーもインストールされているDHCPサーバーがあります。私の現在のdnsmasq.confは次のとおりです。
domain-needed
bogus-priv
filterwin2k
address=/gateway.gw/192.168.10.1
interface=eth1
bind-interfaces
次の構成では、systemdをネットワーク管理者として使用します。
[Match]
Name=eth1
[Network]
DHCPServer=yes
DNS=192.168.10.1
DNS=8.8.8.8
[Address]
Address=192.168.10.1/24
Broadcast=192.168.10.255
[DHCPServer]
PoolOffset=110
PoolSize=20
EmitDNS=yes
gateway.gw
dhcpサーバーと同じシステムで実行されているWebサーバーがあり、dhcpクライアントが構成を変更せずにこのWebサーバーにアクセスするように照会できるようにしたいです。問題は、DHCPサーバーがDNSリストに自分のIPを送信せずに8.8.8.8を送信することです。したがって、クライアントは、ゲートウェイをDNSサーバーとして明示的に設定しない限り、ドメイン名を使用できませんgateway.gw
。
8.8.8.8
この質問を準備しながら試してみましたが、時にはDNSリストも送信せず、ネットワーキングについて何も知らないので、ここで何が起こっているのか、なぜそうなのかわからないことに気づきました。
bonus question ->
DHCPサーバーの設定ファイルは、実際にgateway.gw
IPアドレスを変更するように設定できます(理由を尋ねないでください!:)。一致gateway.gw
をハードコーディングする代わりにeth1のIPアドレス(動的検索)を使用するようにdnsmasqに指示する方法はありますか?
注:dnsmasqに組み込まれているdhcpサーバーは使用できません。私のWebサーバーには実際に他のすべてのネットワークインターフェイスも設定されており、1つのインターフェイスに追加のコードを書きたくありません。
答え1
私はsystemdのdhcpサーバー構成を見つけ、それを書いた人は[DhcpServer]
DNSサーバーを追加する部分を使いました。[Network]
それ以来、その部分を使っています。これこのマニュアルには該当するセクションの下に記載されています。ただし、DhcpServerセクションの下にDNSサーバーを一覧表示すると、問題が解決することがわかりました。
注:リンクのマニュアルも正確です。よく読んでみると、その部分にDNSサーバーをクライアントに配布するために書く必要があることがわかります。