Каждый раз, когда я меняю сети, DNS-кеш имеет неверный IP-адрес. Как исправить автоматически каждый раз?
Веб-сайт сотрудников моей компании доступен:
- из внешнего мира через его IP-адрес 1.2.3.4 или имя
employees.corp.com - изнутри сети компании через ее IP-адрес 192.168.1.2 или имя
employees.corp.com
Проблема: после коммутирующих из дома, доступ к сайту employees.corp.com изнутри компания часто терпит неудачу.
- Когда это не удается, если я бегу
ping employees.corp.comэто говорит64 bytes from w91284.telco.com (1.2.3.4): icmp_seq=1 ttl=255 time=2.08 ms, - Я единственный человек с этой проблемой. Все остальные сотрудники просматривают
employees.corp.comвсе время, внутри и снаружи, без проблем. Я также единственный, кто использует Linux (Ubuntu 2018.04 установлен с нуля, но у меня была такая же проблема с 2016.04).
Я нашел два обходных пути, когда это произойдет:
- Обходной путь A: измените URL для замены
employees.corp.comс192.168.1.2 - Обходной путь B: Выполнить
sudo service network-manager restart
Оба эти обходных пути на мгновение решают проблему, но ни один из них не приносит удовлетворения, поскольку они тратят время каждый день. Каким было бы постоянное решение?
Отключение или сокращение кеша DNS замедлит доступ ко всему Интернету, поэтому я бы предпочел, чтобы он ограничивался этим конкретным доменом. Я тоже открыт для совершенно разных решений.
2 ответа
Этот сценарий systemd перезапускает Network Manager при выходе из режима ожидания.
#!/bin/sh
MYNAME=$0
restart_network() {
/usr/bin/logger $MYNAME 'restart_network BEGIN'
systemctl restart NetworkManager.service
/usr/bin/logger $MYNAME 'restart_network END'
}
/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
hibernate|suspend|pre*)
;;
resume|thaw|post*)
restart_network;;
esac
Вам нужно будет создать этот скрипт, называемый network-reset, с полномочиями sudo и сохраните его в каталоге /lib/systemd/system-sleep, Затем пометьте его исполняемым, используя:
chmod a+x /lib/systemd/system-sleep/network-reset
logger Приведенные выше команды позволяют проверять результаты, выполнив journalctl или глядя в /var/log/syslog,
Я был в основном удовлетворен решением WinEunuuchs2Unix, но иногда по какой-то причине оно все еще не получалось, поэтому приходилось очень часто перезагружать сеть, часто 4 раза во время одного и того же заседания за рабочим столом моей компании.
Наконец-то я настроил WiFi-соединение, чтобы всегда использовать оба DNS-адреса:
Возможно, это иногда приводит к замедлению соединения, но, по крайней мере, я могу надежно подключиться к веб-сайту компании.
