最近家里的電腦除了個怪問題.家里用的是東方有線的網絡,系統是ubuntu 6 server,系統開機后一段時間,網絡就自動斷了.ifconfig查看網卡信息,ip地址是對的.但ping不通外面的網絡.然后再過一段時間,網絡又重新回復,查看syslog,message等日志,只發現這樣的日志:
Apr 20 22:26:10 localhost dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
Apr 20 22:26:10 localhost dhclient: DHCPOFFER from 10.119.16.1
Apr 20 22:26:10 localhost dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Apr 20 22:26:10 localhost dhclient: DHCPACK from 10.119.16.1
Apr 20 22:26:10 localhost dhclient: bound to xxx.xxx.xxx.xxxx(我的ip地址) -- renewal in 1595 seconds.
初步分析應該是ubuntu的dhclient有問題,暫時解決不了.
先寫個腳本解決下問題吧.(bash不怎么熟悉,只好用perl了)
fixnetwork.pl:
#/usr/bin/perl
use Net::Ping;
my $ip = "xxx.xxx.xxx.xxx";#隨便寫個公網上能ping通的ip地址
my $p = Net::Ping->new("tcp", 4);
while (1) {
if ($p->ping($ip)) {
print "$ip answered\n";
} else {
print "$ip did not answer\n";
system("ifdown eth0");
system("ifup eth0");
}
sleep(1);
}
然后執行:sudo fixnetwork.pl > fixnetwork.log &
現在暫時網絡是能用了,但不知道這個dhclient的問題什么時候能解決:(