%20%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%BE%D0%B2.png)
Система правильно разрешает внешние имена хостов (например, bbc.co.uk), но не разрешает внутренние (LAN).
Вопрос здесь в том, как автоматизировать поиск в локальной сети без необходимости внесения изменений hosts
и т. п. Платы, о которых идет речь, скорее всего, будут установлены в сетях с совершенно разными DHCP/DNS-серверами.
Ниже указано, какой сервер предоставляет DHCP и т. д. Есть ли механизм получения этого адреса resolvf.conf
или что-то подобное?
$ sudo grep -R "DHCPOFFER" /var/log/syslog
Jan 17 14:32:14 dev-k1s dhclient[1438]: DHCPOFFER of 192.168.1.19 from 192.168.1.1
ТАЙЯ.
[Редактировать 1]
Добавлен IP-адрес маршрутизатора, который является как DHCP-, так и DNS-сервером.
$ sudo cat /etc/resolv.conf
nameserver 192.168.1.1
nameserver 1.1.1.1
$ ping beeb4
PING beeb4 (192.168.1.72) 56(84) bytes of data.
64 bytes from BEEB4 (192.168.1.72): icmp_seq=1 ttl=128 time=10.3 ms
64 bytes from BEEB4 (192.168.1.72): icmp_seq=2 ttl=128 time=2.49 ms
[Изменить 0]
~$ ping dev-k1s
PING dev-k1s (127.0.1.1) 56(84) bytes of data.
64 bytes from dev-k1s (127.0.1.1): icmp_seq=1 ttl=64 time=0.083 ms
Попытка пинговать другую машину в той же сети:
$ ping beeb4
ping: beeb4: Name or service not known
Различные детали конфигурации:
$ ip route
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.19
$ sudo cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 1.1.1.1
nameserver 8.8.8.8
nameserver 8.8.8.4
$ sudo cat /etc/nsswitch.conf
passwd: compat
group: compat
shadow: compat
gshadow: files
hosts: dns files
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
решение1
Вы путаете службу DNS и разрешение имени хоста, которые не объявлены в DNS-сервере. Вы можете пинговать dev-k1s, потому что это имя хоста вашей собственной машины, на которой вы открыли терминал. Список имен и IP-адресов должен быть в файле /etc/hosts. На сервере dev-k1s должно быть что-то вроде этого:
~# more /etc/hosts
127.0.0.1 localhost
127.0.1.1 dev-k1s
Итак, ping на dev-k1s отвечает адресом localhost (127.0.0.1).
Если вы хотите, чтобы ваш локальный сервер отвечал на команду ping своим именем хоста, вам следует добавить IP-адрес и связанное с ним имя хоста в конец файла /etc/hosts, как в этом примере:
127.0.0.1 localhost
127.0.1.1 dev-k1s
xxx.xxx.xxx.xxx beeb4
Дополнительная информация Нажмите здесь
Я рекомендую вам в любом случае сначала проверить его IP-адрес.