Каждый раз, когда я меняю сети, 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.
  • 1112 Я единственный человек с этой проблемой. Все остальные сотрудники просматривают 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 сделало бы доступ ко всему Интернету немного медленнее, поэтому я бы предпочел, если бы он ограничивался этим конкретным доменом. Я также открыт для совершенно разных решений.

3
задан 3 July 2018 в 05:30

2 ответа

Этот systemd сценарий перезапускает Администратора сети, когда возобновление от приостанавливает.

#!/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.

3
ответ дан 3 July 2018 в 05:30

Я был в основном удовлетворен решением WinEunuuchs2Unix, но каким-то образом оно все равно иногда отказывало по какой-либо причине, поэтому мне приходилось перезагружать сеть очень часто, часто 4 раза во время одного и того же заседания за столом моей компании.

В конце концов я настроил свое Wi-Fi-соединение, чтобы всегда использовать оба DNS-адреса:

enter image description here

Это, вероятно, иногда приводит к замедлению соединения, но, по крайней мере, я могу надежно подключиться к веб-сайту компании.

0
ответ дан 3 July 2018 в 05:30

Другие вопросы по тегам:

Похожие вопросы: