dnsmasq в настоящее время несколько ненадежно на моем прерывателе барьера, что приводит также к
nslookup: can't resolve 'starkill': Name or service not known
здесь, даже если имя обычно может быть решена без проблем.
сначала попробуйте a
killall -HUP dnsmasq
или даже перезапустите, если хотите быть уверенным, что dnsmasq на самом деле обслуживает запросы так, как и должно.
во-вторых, в dnsmasq есть возможность автоматически завершать FQDN'ы. Я хочу, чтобы это работало здесь со следующим конфигурационным файлом (/etc/config/dhcp):
config dnsmasq
option domainneeded '1'
option boguspriv '1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
option filterwin2k '1'
list addnhosts '/var/adblock/block.hosts'
экспандхозы предназначены только для /etc/hosts, так что в основном не применимы к вашей установке, но я думаю, что локальный И домен должен помочь вам.
мой /etc/config/network имеет
option dns '192.168.200.1'
я сейчас не знаю, действительно ли перезагрузка сети также перезагружает dnsmasq таким образом, что он перезагружает аренду dhcp, которую вам пришлось бы запускать на стороне клиента, в противном случае, чтобы директива вступила в силу.
вы пробовали tcpdump'ing на вашем DNS сервере при прямом запросе с помощью nslookup? достигает ли когда-нибудь запрос? это был бы первый указатель, чтобы убедиться, что проблема действительно в открытом окне....
если вы найдете способ заставить dnsmasq последовательно обслуживать запрос, дайте мне знать, это действительно делает вещи здесь довольно нестабильными.
Я не знаю, что вы можете редактировать /etc/dnsmasq.conf вообще, но есть много вариантов, с которыми вы можете играть. Я использовал dnsmasq на полном linux boxen несколько раз и всегда мог настроить его под свои нужды, но я думаю, что на openwrt все немного по-другому, как мне кажется...
также, вероятно, обратите внимание на соответствующий раздел (вторичные dns) по адресу http://wiki.openwrt.org/doc/howto/dhcp.dnsmasq#add_a_secondary_dns
Для печати только пользователей, у которых нет оболочки входа в систему, вы можете использовать awk только в простейшем случае:
awk -F/ '$NF != "nologin"' /etc/passwd
Здесь мы используем -F /
в качестве разделителя, а затем '$ NF =! "nologin" 'где
$ NF - последнее поле в строке / строке. Действие по умолчанию в
awk` - print, поэтому печатается вся строка.
Найти все файлы, начинающиеся с s
, можно легко выполнить с помощью find
. GnuFind в этом случае
find /etc/ -maxdepth 1 -type f -name 's*' -printf '%P\n'
Здесь мы используем GNU find
для поиска пути / etc /
, а затем проверяем один уровень (без подкаталогов).
-тип f
указывает find проверять только файлы.
-name 's *
не требует пояснений
-printf'% P \ n '
'% P'
- это формат printf. См. man find
для получения дополнительной информации.
1. grep -v '/sbin/nologin' /etc/passwd|awk -F: '{print $1}'
2. ls s*|wc -w
или лучше:
2. ls -l s*|wc -l
Чтобы избежать ошибки при имении имени файла с пространством (ыми)
Первое:
grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1
Второе:
ls -ld /etc/s* | wc -l