Ubuntu 22.04LTS で dnsmasq を異ネットワークから応答出来るように設定する
以前に Ubuntu 22.04LTS へ dnsmasq をインストールする というメモを書きました。 但し、dnsmasq はデフォルト状態では「同じネットワークからの名前解決要求にしか応答しない」という設定になっているようです。 そこで今回は改めて dnsmasq のインストール手順に加え、「異なるネットワークからの名前解決要求にも応答する設定例」をメモしておきます。
インストールと初期設定¶
Ubuntu の場合、標準リポジトリからインストール可能です。 53/UDP が競合しないように標準の systemd-resolved
を停止させた後、dnsmasq をインストールします。
1 2 3 |
|
初期設定例は以下の通りです。 上位 DNS は /etc/dnsmasq_resolv.conf
に定義することにします。
1 2 3 4 5 6 7 8 |
|
上位 DNS は CloudFlare の 1.1.1.1 を参照させました。
1 2 3 4 |
|
ローカルの名前解決用には手軽なので /etc/hosts
を使います。
1 2 3 4 5 |
|
尚、/etc/hosts
の変更を含め、設定の修正内容を反映するには dnsmasq を再起動する必要があります。
異なるネットワークからの名前解決要求に応答するように設定する¶
今回試した Ubuntu 22.04LTS 環境では上述の通り、dnsmasq はデフォルトだと「同じネットワークからの名前解決要求しか応答しない」という振る舞いをしていました。 この挙動を変更し、「異なるネットワークからの名前解決要求にも応答させる」には /etc/init.d/dnsmasq
を以下のように修正します。
設定 | |
---|---|
修正前 | DNSMASQ_OPTS="${DNSMASQ_OPTS} --local-service" |
修正後 | DNSMASQ_OPTS="${DNSMASQ_OPTS}" |
ワンライナーで修正するには以下のように実行します。
1 |
|
dnsmasq の起動¶
設定が完了したら dnsmasq を起動&自動起動設定しておきます。
1 2 |
|
もし dnsmasq が起動済みであれば再起動します。
1 |
|