ヘッドレスCentOS6.3マシンを再起動した後、アウトバウンドインターネット接続が失われました。つまり、SSH(ssh root@**.126.18.56
)経由でサーバーに接続できますが、ping google.com
などはgoogle.com: unknown Host
、yum list some_package
は多くのネットワークエラーを出します。
これはifconfigが与えるものです:
eth0 Link encap:Ethernet HWaddr 00:25:90:78:2D:5D
inet addr:**.126.18.56 Bcast:**.126.18.255 Mask:255.255.255.0
inet6 addr: fe80::225:90ff:fe78:2d5d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:75594 errors:0 dropped:0 overruns:0 frame:0
TX packets:787 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7074741 (6.7 MiB) TX bytes:144391 (141.0 KiB)
Interrupt:20 Memory:f7a00000-f7a20000
eth1 Link encap:Ethernet HWaddr 00:25:90:78:2D:5C
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:16 Memory:f7900000-f7920000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:504 (504.0 b) TX bytes:504 (504.0 b)
これをデバッグする方法がまったくわかりません。ssh経由で接続できるので、非常に奇妙だと思います。
EDIT:奇妙なことに、/etc/resolv.conf
にはエントリが含まれていないか、私が理解できるエントリが含まれていません。
# Generated by NetworkManager
search sui-inter.net
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
それで、サーバーを再起動するとそのファイルが消去された可能性はありますか?少なくとも以前はうまくいきました!そして、どうすればこれを解決できますか?
ちなみに、IPアドレスへのpingは機能します。
以下のファイルを編集して、resolv.confが上書きされないようにすることができます
ファイル名は/etc/sysconfig/network-scripts/ifcfg-eth0
値設定するのはPEERDNS=no
あなたのファイル/etc/resolv.confが存在しないか、その中にエントリがないと思います。通常、DNSサーバーアドレスに他ならないネームサーバーアドレスが含まれます。 google.comなどのすべてのドメイン名は、そのDNSサーバーを使用して解決されます。
Ssh root @ **。126.18.56の場合、ここでは名前の代わりに直接IPアドレスを指定しているため、機能しています。
CentOSは、/ etc/sysconfig/network-scriptsのスクリプトにある値を使用して、起動時に/etc/resolv.confを再構築するようです。それらはおそらく欠落しているか、単に設定されていないか、おそらく破損しています。
それで、サーバーを再起動するとそのファイルが消去された可能性はありますか?少なくとも以前はうまくいきました!
新しい最新の値で再作成しました。何かがうまくいかなかったことを除いて。 (例:設定する値がなかったため)
そして、どうすればこれを解決できますか?
簡単な回避策:echo "nameservers 8.8.8.8" > /etc/resolv.conf
適切な解決策:ネットワークを適切に構成します。 Networkmanagerを確認することから始めます。 (CentOSの経験がないため、ここでは詳しく説明できません。)
NetworkManagerにサーバーのNICの管理を許可しないでください。
編集/etc/sysconfig/network-scripts/ifcfg-eth0
。次の行を見つけます。
NM_CONTROLLED=yes
次のように変更します。
NM_CONTROLLED=no
行が存在しない場合は、追加するだけです。