проверьте с помощью ping-запросов повторения для неответа на узлы, который добавляет к задержке в сообщении доступности узлов к консольному выводу, в то время как об узлах онлайн, которым отвечают, сообщают сразу назад. ping имеет этот недостаток, что необходимо выполнить его для каждого хоста.
Используйте fping, лучшую альтернативу ping, который может сделать, параллельный ping на хостах, источник доступен в SourceForge http://fping.sourceforge.net/. Загрузите fping и установите его под/usr/local/sbin и сделайте его suid.
Вот пример жемчуга, который может сообщить о недостижимых узлах в конце, в то время как об узлах, которые онлайн, сообщают с их названиями DNS, можно передать вывод этого сценария к инструментам такой как grep
или awk
снова работать над желаемым выводом.
#!/usr/bin/perl
require 'open2.pl';
use Net::IP;
$pid = &open2("OUTPUT","INPUT","/usr/local/sbin/fping -d");
@check=();
my $ip = new Net::IP ('98.137.149.56 - 98.137.149.100') || die "Unable to generate range\n";
do {
push (@check, $ip->ip());
} while (++$ip);
foreach(@check) { print INPUT "$_\n"; }
close(INPUT);
while(
Проблема иногда - это dhcpcd
или другие процессы перезаписывают содержание resolv.conf
файл, который является, где конфигурация сопоставителя библиотеки DNS хранится, вставляя серверы DNS от Вашего интернет-провайдера, который не может работать в некоторых случаях.
В случае проблем это может быть хорошая идея изменить содержание resolv.conf
для указания для Открытия серверов DNS (который должен работать лучше, чем серверы поставщика услуг):
# OpenDNS servers
nameserver 208.67.222.222
nameserver 208.67.220.220
или
# Google nameservers
nameserver 8.8.8.8
nameserver 8.8.4.4
и затем защитите содержание resolv.conf от dhcpcd
добавление строки nohook resolv.conf
кому: /etc/dhcpcd.conf
Посмотрите могущественного Arch Wiki для получения дополнительной информации