ヘッドレスUbuntu 14.04バニラマシンでは、次の設定を使用してdnsmasqをDNSプロキシに設定しました。/etc/dnsmasq.conf
no-resolv
nameserver=<some working custom dns ip>
port=5555 #to circumvent my ISP's DNS hijacking
dnsmasqサービスが開始されるたびに、ホストはホスト名を解決する機能を失いますが、dnsmasqは外部クエリを正常に解決します。 /etc/resolv.confをチェックすると、1行だけ表示されます。
nameserver 127.0.0.1
そのため、ネームサーバーを追加してコンピュータ/etc/resolvconf/resolv.conf.d/base
を再起動しました。追加されたネームサーバー/etc/resolv.conf
答え1
質問がいくつかあると思います。
まず第一に -port=5555
これは、dnsmasq
プロセスがUDP(TCPかもしれません)ポート5555でDNSクエリをリッスンすることを意味します。すべてのDNSクライアントはdnsmasq
このポートで照会する必要があり、そうしないと応答を受け取ることができません。 ISPのDNSハイジャックはここでは重要ではありません。次の質問のため、非標準ポートを設定したくないようです。
第二に、これは/etc/resolv.conf
libcソルバーを使用してDNSを実行するプロセスがプロセスを見つけるために読み取るファイルですdnsmasq
。これは「Headless Ubuntu 14.04」システムのプロセス用です。このnameserver 127.0.0.1
行はこのファイルに適しています。すでにポート5555でリッスンしているため、dnsmaq
他のプロセスがクエリに使用するポート番号をそのファイルに割り当てることができますdnsmasq
。 Googleの後OpenBSDのlibresolvは非標準ポートを指定できます/etc/resolv.conf
しかし、通常のパーサーがこれを読むことができるかどうかはわかりません。一度試してみてください。使用:nameserver 127.0.0.1:5555
違いがあることを確認してください。次のようなものを使用しますping www.google.com
- libcパーサーを使用して「www.google.com」という名前のIPアドレスを取得します。
第三に、一部のISPのDNSハイジャックを解決したい場合は、53以外のポートでリッスンする世界中のどこかのDNSサーバーを探す必要があります。この構成は存在しないようです。DNSハイジャックバイパスに関するブログ投稿これを主な障害物としてリストします。ここでは何を推奨すべきかわからないが、最終的にdnsmaq
そのようなサーバをどこで見つけることができるかを教えなければならず、ファイルは通常/etc/dnsmasq.resolv
。
答え2
functionを除くreturn 0
すべての項目を削除します。start_resolvconf()
/etc/init.d/dnsmasq