Ubuntu 12.04をインストールした小さなdediサーバーがあります。デスクトップがインストールされているので、x2go経由でアクセスします。
2日前まではすべて正常に動作し、再起動後にインターネットアクセスが失われ、「ホスト名を解決できません」というエラーが表示され始めました。
Googleにpingしようとすると、次のようになります:
ping: unknown Host google.com
いくつかのサイトにアクセスするために、それらをhostsファイルに追加しましたが、ほとんどのサイトでは機能しますが、すべてではありません。もちろん、これは単なる一時的な解決策です。
「システム設定-ネットワーク」を調べると、次のようになります。
私はあまり有能ではないので、他にどのような情報を投稿すればよいかわかりませんが、私が知りたいことは何でも聞いてください。
ありがとうございました。
問題は純粋にDNSに関連しています。 / etc/resolv.confファイルにDNSネームサーバーエントリがなかったため、/ etc/hostsエントリ外のホストにホスト名でpingを実行しているときに名前解決が失敗していました。
Ubuntu 12.04では、Network Managerパッケージは、ネットワーク関連機能を提供します(古いnetworkingプログラムではなく)resolvconf(およびdnsmasqある程度)大量のDNS機能を提供するプログラム。しかし驚くべきことに、あなたの場合はresolvconfがインストールされていないため、/ etc/resolv.confファイルを手動で更新する必要があります。
コマンドを実行することで
echo "nameserver 8.8.8.8" | Sudo tee /etc/resolv.conf
基本的に、Googleの無料DNSサーバー(8.8.8.8)をネームサーバーとして設定しています。
このコマンドは、テキスト「nameserver 8.8.8.8」を「/etc/resolv.conf」ファイルに挿入し、画面にもテキストを表示します。このようにして、ホスト名をIPアドレスに解決する作業用の名前リゾルバがあります。
ここで注意すべき非常に重要なことは、GoogleのDNSを使用していることです。これは理想的ではありません。ISPのDNSを使用する必要があります。 ISPにDNSアドレス(複数の場合もあります)を提供するよう依頼し、ネームサーバーとしてアドレスを追加します。ただし、ISPのDNSが何らかの理由で失敗した場合のバックアップとして、GoogleのDNSを保持できます。 ISPのDNSがvv.xx.yy.zzであると仮定します。したがって、次のコマンドを実行してプライマリDNSとして作成し、GoogleのDNSをバックアップとして保持する必要があります。
echo "nameserver vv.xx.yy.zz" | Sudo tee /etc/resolv.conf && echo -e "nameserver 8.8.8.8" "\nnameserver 8.8.4.4" | Sudo tee -a /etc/resolv.conf
teeコマンドの-aスイッチを参照してください。これは、上書きではなく追加に使用されます。ここで、8.8.4.4はGoogleのDNSでもあります。
/ etc/resolv.confに必要な数だけネームサーバーを追加できますが、それはやり過ぎです。シンプルでコンパクトなままにしてください。