Что-то явно не так с разрешением DNS на моём USG. Думаю, именно эта проблема лежит в основе цепочки сбоев при переключении WAN1/WAN2. Вот пример взаимодействия:
ubnt@usg:/etc$ info
Model: UniFi-Gateway-3
Version: 4.4.12.5032482
MAC Address: f0:9f:c2:05:d2:b7
IP Address: 192.168.200.201
Hostname: usg
Uptime: 13125 секунд
Status: Connected ()
ubnt@usg:/etc$ host ping.ubnt.com
ping.ubnt.com — это псевдоним для dl.ubnt.com.
dl.ubnt.com — это псевдоним для d2cnv2pop2xy4v.cloudfront.net.
d2cnv2pop2xy4v.cloudfront.net имеет адрес 13.33.248.211
ubnt@usg:/etc$ getent hosts ping.ubnt.com
^C
ubnt@usg:/etc$ ping ping.ubnt.com
^C
ubnt@usg:/etc$ ping 13.33.248.211
PING 13.33.248.211 (13.33.248.211) 56(84) байт данных.
64 байта от 13.33.248.211: icmp_req=1 ttl=237 время=231 мс
64 байта от 13.33.248.211: icmp_req=2 ttl=237 время=104 мс
^C
--- Статистика ping 13.33.248.211 ---
2 пакета отправлено, 2 получено, потерь пакетов 0%, время 1001 мс
rtt min/avg/max/mdev = 104.709/168.228/231.747/63.519 мс
Мой файл /etc/resolv.conf показывает:
#line generated by /opt/vyatta/sbin/vyatta_update_resolv.pl
domain localdomain
nameserver 8.8.4.4
nameserver 9.9.9.9
А в /etc/nsswitch.conf:
# /etc/nsswitch.conf
#
# Пример конфигурации функциональности GNU Name Service Switch.
# Если у вас установлены пакеты `glibc-doc-reference` и `info`, попробуйте:
# `info libc "Name Service Switch"` для информации об этом файле.
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Кроме того, с другой машины DNS-кэш на USG возвращает правильную запись:
~ : abe@albus 21:56:47 Thu Dec 07 $ host ping.ubnt.com 192.168.1.1
Используется доменный сервер:
Имя: 192.168.1.1
Адрес: 192.168.1.1#53
Псевдонимы:
ping.ubnt.com — это псевдоним для dl.ubnt.com.
dl.ubnt.com — это псевдоним для d2cnv2pop2xy4v.cloudfront.net.
d2cnv2pop2xy4v.cloudfront.net имеет адрес 13.33.248.211
Почему же тогда собственно на USG запросы libc (через `getent` или `ping`, например) не работают?
ubnt@usg:/etc$ info
Model: UniFi-Gateway-3
Version: 4.4.12.5032482
MAC Address: f0:9f:c2:05:d2:b7
IP Address: 192.168.200.201
Hostname: usg
Uptime: 13125 секунд
Status: Connected ()
ubnt@usg:/etc$ host ping.ubnt.com
ping.ubnt.com — это псевдоним для dl.ubnt.com.
dl.ubnt.com — это псевдоним для d2cnv2pop2xy4v.cloudfront.net.
d2cnv2pop2xy4v.cloudfront.net имеет адрес 13.33.248.211
ubnt@usg:/etc$ getent hosts ping.ubnt.com
^C
ubnt@usg:/etc$ ping ping.ubnt.com
^C
ubnt@usg:/etc$ ping 13.33.248.211
PING 13.33.248.211 (13.33.248.211) 56(84) байт данных.
64 байта от 13.33.248.211: icmp_req=1 ttl=237 время=231 мс
64 байта от 13.33.248.211: icmp_req=2 ttl=237 время=104 мс
^C
--- Статистика ping 13.33.248.211 ---
2 пакета отправлено, 2 получено, потерь пакетов 0%, время 1001 мс
rtt min/avg/max/mdev = 104.709/168.228/231.747/63.519 мс
Мой файл /etc/resolv.conf показывает:
#line generated by /opt/vyatta/sbin/vyatta_update_resolv.pl
domain localdomain
nameserver 8.8.4.4
nameserver 9.9.9.9
А в /etc/nsswitch.conf:
# /etc/nsswitch.conf
#
# Пример конфигурации функциональности GNU Name Service Switch.
# Если у вас установлены пакеты `glibc-doc-reference` и `info`, попробуйте:
# `info libc "Name Service Switch"` для информации об этом файле.
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Кроме того, с другой машины DNS-кэш на USG возвращает правильную запись:
~ : abe@albus 21:56:47 Thu Dec 07 $ host ping.ubnt.com 192.168.1.1
Используется доменный сервер:
Имя: 192.168.1.1
Адрес: 192.168.1.1#53
Псевдонимы:
ping.ubnt.com — это псевдоним для dl.ubnt.com.
dl.ubnt.com — это псевдоним для d2cnv2pop2xy4v.cloudfront.net.
d2cnv2pop2xy4v.cloudfront.net имеет адрес 13.33.248.211
Почему же тогда собственно на USG запросы libc (через `getent` или `ping`, например) не работают?
