Ubuntu 12.04 で静的 IP に問題があります。
DHCP では問題ありませんが/etc/network/interfaces
、静的アドレス、ゲートウェイ、サブネットマスク、および dns-nameservers を (下に) 設定すると、サーバーが外部世界に接続できなくなります。
ローカル IP ホストにのみ接続できます。
にネームサーバーを挿入しようとしました/etc/resolv.conf
が、マシンを再起動するたびに変更がキャンセルされます。
何が問題なのですか?
Ubuntu 12.04 では、resolv.conf の代わりに resolvconf (スクリプトとフックのセット) を使用して DNS サーバーを管理します。ユーザーにとって最も顕著な違いは、/etc/resolv.conf に対して手動で行われた変更は、次に何かが resolvconf をトリガーするときに上書きされるため、失われることです。
resolv.conf ファイルに静的 dns エントリを追加するには、次のように編集します/etc/resolvconf/resolv.conf.d/base
。
次の行を追加します (以下の例は、OpenDNS のパブリック ネーム サーバーです)。
nameserver 208.67.222.222
nameserver 208.67.220.220
次のコマンドを実行して、resolvconf 設定を更新します。
sudo service resolvconf restart
DNS サーバーのアドレスを表示するには、次のコマンドを使用します。
cat /etc/resolv.conf
まず最初に:適切な構成があるかどうかを確認します:-ゲートウェイにpingを実行してみてください。機能していますか?いいえの場合は、ゲートウェイIPを確認してください。-8.8.8.8(GoogleのDNS)にpingを実行してみてください-動作しますか?いいえの場合は、次のいずれかを使用してルーティングを確認します。
mtr 8.8.8.8
また
tracepath -n 8.8.8.8
ルーティングが停止するホップを確認します。
DNS名について:/ etc / network/interfaces行に追加してください。
dns-nameservers Your_DNS_IP_address
私はあなたのことを知りませんが、resolv.conf
ファイルを使うのは好きではありません。ルーターを読み取るようにネームサーバーを設定することを好みます。通常は、Googleの8.8.8.8または8.8.4.4ネームサーバーを使用します。
誰かが興味を持っているなら、これが私が見つけた小さなガイドです。
さまざまなプロセスが /etc/resolv.conf を上書きします (dhcpd、networkmanager など)。それがあなたが見ている問題だと思います。いくつかのオプションを提案します:
ネームサーバーを「/etc/resolv.conf」に追加する代わりに、「/etc/resolv.conf.head」に追加します。「/etc/resolv.conf.head」の内容は、自動的に生成されるものの前に自動的に追加されます。オプションによっては、「/etc/resolv.conf.tail」を使用して、ファイルの最後に設定を追加したい場合があります。いずれにせよ、これにより、自動生成された設定が固定された設定で上書きされます。
/etc/resolv.conf を書き込み保護して、変更が別のデーモンによって上書きされないようにします (変更を行った後):
$ sudo chattr +i /etc/resolv.conf
ほとんどの場合、/etc/resolv.conf を変更しているのは dhcpd であり、それを無効にするのを忘れています。/etc/resolv.conf が変更されないように、dhcpd を削除 (または無効化) します。削除する:
$ sudo apt-get remove isc-dhcp-client
auditd を使用して、/etc/resolv.conf を変更しているデーモンを特定します。
$ sudo auditctl -w /etc/resolv.conf -p w
ログは /var/log/audit/audit.log にあります。ファイルが変更された日付/時刻と、それを変更したプログラムを確認できます (修正手順を実行するため)。
古い HP ターミナルと Ubuntu 12.04 で同じ問題が発生し、静的 IP を使用するには、/etc/network/interfaces. で「手動」フラグを使用し、ifconfig-input をシミュレートする必要がありました。
auto eth1
iface eth1 inet manual
up ifconfig eth1 <IP> netmask <IP> broadcast <IP> up
up route add default gw <IP>
奇妙な解決策ですが、この問題を解決するためのブードゥー教の量は最小限です。
これを試して:
sudo vim /etc/NetworkManager/NetworkManager.conf
行をコメントしてから、次のdns=dnsmasq
ようにします。
sudo restart network-manager
ここにこの問題のスレッドがあります:
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/989900