コンピュータを起動するたびに、DNSが機能しません。 /etc/resolv.conf
では
# Generated by Connection Manager
nameserver ::1
nameserver 127.0.0.1
/etc/resolv.conf
は/run/connman/resolv.conf
へのソフトリンクです
この構成では、DNSが機能しません(例:Chrome/FirefoxでWebを閲覧できず、Dig google.comからIPが提供されず、pingによって「名前またはサービスが不明」と表示されます)。したがって、ネームサーバー::1
を有効なIP(1.1.1.1や8.8.8.8など)で手動で変更します。コンピュータの電源を入れるたびにこれを行う必要があります。
Ubuntu 17.10にconnman(Intel Connection Managerデーモン)がプリインストールされているのか、VPNクライアントをインストールしようとしたときにインストールされているのかわかりません。 Webで検索すると、標準的な設定がないようです。そのため、サービスを停止しようとしましたが、接続が失われ、(NetworkManager?)アプレットに使用可能なネットワークが表示されません。
Connmandがポート53でリッスンしている(しかし、うまく解決されない)ことがわかります。systemd-resolveもポート53でリッスンしています(ただし、127.0.0.53に接続されています)。
Sudo netstat -tulpn | grep ":53 "
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 21159/connmand
tcp6 0 0 ::1:53 :::* LISTEN 21159/connmand
udp 0 0 127.0.0.1:53 0.0.0.0:* 21159/connmand
udp 0 0 127.0.0.53:53 0.0.0.0:* 1451/systemd-resolv
udp6 0 0 ::1:53 :::* 21159/connmand
systemd-resolve --status
を実行すると、正しいDNSが得られます。
/etc/resolv.conf
を/run/systemd/resolve/resolv.conf
に再リンクすると、問題が解決します。
では、どうすればconnmanを無効にして(少なくともDNSプロキシとして)、systemd-resolve
を再度有効にできますか? Ubuntu 17.10にconnmanはデフォルトでインストールされますか?
すみません、次のように簡単でした。
connmanの削除:
Sudo apt remove connman
resolv.confの削除:
Sudo rm /etc/resolv.conf
/run/systemd/resolve/resolv.confへの再リンク
Sudo ln -s /run/systemd/resolve/resolv.conf /etc/resol.conf
最後の2つの手順が必要だったのは、connmanが管理する/etc/resolv.conf
がないため、NetworkManagerがそれを管理し、「127.0.1.1」をDNSサーバーとして配置したためです(そして、そこにリッスンしているサーバーがありませんでした)。
NetworkManagerのmanページには、systemd-resolve
がresolve.conf
を管理できるようにするために必要なのは、systemdディレクトリのいずれかの下にあるresolv.conf
ファイルへのソフトリンクを作成することだけです。