[GH-ISSUE #2006] MacOS: DNS doesn't revert defaults after disconnecting #871

Open
opened 2026-10-13 20:30:16 +00:00 by bsakaguchi · 12 comments
Owner

Originally created by @bigcanistra on GitHub (Nov 20, 2025).
Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/2006

Describe the bug
После отключения от любого туннеля не возвращается DNS, установленный до подключения, что блокирует использование браузера и большей части сетевого функционала без применения workaround

To Reproduce
Steps to reproduce the behavior:

  1. Подключить MacOS к сети через получение IP и DNS по DHCP (допустим, сеть 192.168.0.1/24
  2. В терминале получить результат cat /etc/resolv.conf - ожидается, что будет в качестве DNS будет 192.168.0.1
  3. Подключить туннель до сервера XXX.XXX.XXX.XXX, версия приложения 4.8.10.0 - предположительно воспроизводится с настроенным на сервере AmneziaDNS
  4. В терминале получить результат cat /etc/resolv.conf - ожидается, что будет в качестве DNS будет адрес сервера XXX.XXX.XXX.XXX
  5. Отключиться от туннеля
  6. В терминале получить результат cat /etc/resolv.conf - ожидается, что будет в качестве DNS будет адрес маршрутизатора 192.168.0.1, фактически - сервера XXX.XXX.XXX.XXX

Desktop (please complete the following information):

  • OS: MacOS 15.7.2
  • Version 4.8.10.0

Additional context
В качестве временного решения можно использовать команду networksetup -setdnsservers Wi-fi 192.168.0.1

Originally created by @bigcanistra on GitHub (Nov 20, 2025). Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/2006 **Describe the bug** После отключения от любого туннеля не возвращается DNS, установленный до подключения, что блокирует использование браузера и большей части сетевого функционала без применения workaround **To Reproduce** Steps to reproduce the behavior: 1. Подключить MacOS к сети через получение IP и DNS по DHCP (допустим, сеть 192.168.0.1/24 2. В терминале получить результат `cat /etc/resolv.conf` - ожидается, что будет в качестве DNS будет 192.168.0.1 3. Подключить туннель до сервера XXX.XXX.XXX.XXX, версия приложения 4.8.10.0 - предположительно воспроизводится с настроенным на сервере AmneziaDNS 4. В терминале получить результат `cat /etc/resolv.conf` - ожидается, что будет в качестве DNS будет адрес сервера XXX.XXX.XXX.XXX 5. Отключиться от туннеля 6. В терминале получить результат `cat /etc/resolv.conf` - ожидается, что будет в качестве DNS будет адрес маршрутизатора 192.168.0.1, фактически - сервера XXX.XXX.XXX.XXX **Desktop (please complete the following information):** - OS: MacOS 15.7.2 - Version 4.8.10.0 **Additional context** В качестве временного решения можно использовать команду `networksetup -setdnsservers Wi-fi 192.168.0.1`
Author
Owner

@fastrapier commented on GitHub (Nov 28, 2025):

Подтверждаю, тоже сталкиваюсь с этой проблемой постоянно.

<!-- gh-comment-id:3587846214 --> @fastrapier commented on GitHub (Nov 28, 2025): Подтверждаю, тоже сталкиваюсь с этой проблемой постоянно.
Author
Owner

@golifox commented on GitHub (Nov 28, 2025):

Подтверждаю. Нашел для себя временное решение.

После отключения VPN:

Settings -> WiFi -> Details (у подключенной сети) -> TCP/IP -> Renew DHCP Lease

Image
<!-- gh-comment-id:3588171429 --> @golifox commented on GitHub (Nov 28, 2025): Подтверждаю. Нашел для себя временное решение. После отключения VPN: Settings -> WiFi -> Details (у подключенной сети) -> TCP/IP -> Renew DHCP Lease <img width="441" height="336" alt="Image" src="https://github.com/user-attachments/assets/b901e721-764f-4cab-8761-d0df82fedcf1" />
Author
Owner

@PZapatrin commented on GitHub (Dec 6, 2025):

Попробуйте проверить настройки KillSwitch, по умолчанию опция включена.
Настройки => Соединение => KillSwitch

Image
<!-- gh-comment-id:3620720106 --> @PZapatrin commented on GitHub (Dec 6, 2025): Попробуйте проверить настройки KillSwitch, по умолчанию опция включена. Настройки => Соединение => KillSwitch <img width="374" height="570" alt="Image" src="https://github.com/user-attachments/assets/2faeb21c-ccd1-40c0-a231-a4d6de225d98" />
Author
Owner

@2Grey commented on GitHub (Dec 18, 2025):

Еще одно из костыльных решений:

networksetup -setv4off Wi-Fi
networksetup -setdhcp Wi-Fi
<!-- gh-comment-id:3668795131 --> @2Grey commented on GitHub (Dec 18, 2025): Еще одно из ~~костыльных~~ решений: ```sh networksetup -setv4off Wi-Fi ``` ```sh networksetup -setdhcp Wi-Fi ```
Author
Owner

@fastrapier commented on GitHub (Dec 20, 2025):

Еще одно из костыльных решений:

networksetup -setv4off Wi-Fi
networksetup -setdhcp Wi-Fi

Это каждый раз нужно прописывать после того как нет перестал работать? @2Grey

<!-- gh-comment-id:3677712465 --> @fastrapier commented on GitHub (Dec 20, 2025): > Еще одно из ~костыльных~ решений: > > networksetup -setv4off Wi-Fi > networksetup -setdhcp Wi-Fi Это каждый раз нужно прописывать после того как нет перестал работать? @2Grey
Author
Owner

@2Grey commented on GitHub (Dec 20, 2025):

Еще одно из костыльных решений:
networksetup -setv4off Wi-Fi
networksetup -setdhcp Wi-Fi

Это каждый раз нужно прописывать после того как нет перестал работать? @2Grey

Запускаю каждый раз когда перестает работать интернет после отключения Amnezia VPN.


Я создал alias для запуска команды в терминале:

  1. Командой echo $0 или echo $SHELL определяем используемую оболочку (например bash или zsh)
  2. Добавляем alias
  • Для ZSH оболочки
echo 'alias network_restart="networksetup -setv4off Wi-Fi && networksetup -setdhcp Wi-Fi"' >> ~/.zshrc
  • Для Bash оболочки
echo 'alias network_restart="networksetup -setv4off Wi-Fi && networksetup -setdhcp Wi-Fi"' >> ~/.bashrc
  1. Перезапускаем терминал
  2. Теперь при вводе в терминале network_restart будет перезагружаться сеть
<!-- gh-comment-id:3677859464 --> @2Grey commented on GitHub (Dec 20, 2025): > > Еще одно из ~костыльных~ решений: > > networksetup -setv4off Wi-Fi > > networksetup -setdhcp Wi-Fi > > Это каждый раз нужно прописывать после того как нет перестал работать? [@2Grey](https://github.com/2Grey) Запускаю каждый раз когда перестает работать интернет после отключения Amnezia VPN. --- Я создал alias для запуска команды в терминале: 1. Командой `echo $0` или `echo $SHELL` определяем используемую оболочку (например bash или zsh) 2. Добавляем alias * Для ZSH оболочки ```sh echo 'alias network_restart="networksetup -setv4off Wi-Fi && networksetup -setdhcp Wi-Fi"' >> ~/.zshrc ``` * Для Bash оболочки ```bash echo 'alias network_restart="networksetup -setv4off Wi-Fi && networksetup -setdhcp Wi-Fi"' >> ~/.bashrc ``` 3. Перезапускаем терминал 4. Теперь при вводе в терминале `network_restart` будет перезагружаться сеть
Author
Owner

@ejnine commented on GitHub (Dec 23, 2025):

Попровал Ваши решения, к сожалению не помогли.

Помогло удаление службы в Настройки->Сеть
Подключение было по проводу, так что и службу Ethernet стер и добавил заного, с Wi-Fi не проверял, скорее всего поможет забыть сеть и подключится заного

Так же помогала перезагрузка, но вариант не для меня

<!-- gh-comment-id:3685714598 --> @ejnine commented on GitHub (Dec 23, 2025): Попровал Ваши решения, к сожалению не помогли. Помогло удаление службы в `Настройки->Сеть` Подключение было по проводу, так что и службу Ethernet стер и добавил заного, с Wi-Fi не проверял, скорее всего поможет забыть сеть и подключится заного Так же помогала перезагрузка, но вариант не для меня
Author
Owner

@2Grey commented on GitHub (Dec 23, 2025):

Попровал Ваши решения, к сожалению не помогли.

Помогло удаление службы в Настройки->Сеть Подключение было по проводу, так что и службу Ethernet стер и добавил заного, с Wi-Fi не проверял, скорее всего поможет забыть сеть и подключится заного

Так же помогала перезагрузка, но вариант не для меня

Как вариант попробовать:

networksetup -setv4off "Ethernet" && networksetup -setdhcp "Ethernet"

Список текущих сетевых сервисов, можно посмотреть командой:

networksetup -listallnetworkservices
<!-- gh-comment-id:3687677949 --> @2Grey commented on GitHub (Dec 23, 2025): > Попровал Ваши решения, к сожалению не помогли. > > Помогло удаление службы в `Настройки->Сеть` Подключение было по проводу, так что и службу Ethernet стер и добавил заного, с Wi-Fi не проверял, скорее всего поможет забыть сеть и подключится заного > > Так же помогала перезагрузка, но вариант не для меня Как вариант попробовать: ```sh networksetup -setv4off "Ethernet" && networksetup -setdhcp "Ethernet" ``` --- Список текущих сетевых сервисов, можно посмотреть командой: ```sh networksetup -listallnetworkservices ```
Author
Owner

@fastrapier commented on GitHub (Dec 23, 2025):

У меня еще помогает перезапуск приложения AmneziaVPN, но приходится делать kill когда запускаешь потом. Интернет возвращается

<!-- gh-comment-id:3687872445 --> @fastrapier commented on GitHub (Dec 23, 2025): У меня еще помогает перезапуск приложения AmneziaVPN, но приходится делать kill когда запускаешь потом. Интернет возвращается
Author
Owner

@danyanykey commented on GitHub (Jan 25, 2026):

Коллеги, есть какие обновления по ветке? До сих пор с этой проблемой борюсь. Все костыли пробовали, да помогает, но все равно не решение

<!-- gh-comment-id:3797277036 --> @danyanykey commented on GitHub (Jan 25, 2026): Коллеги, есть какие обновления по ветке? До сих пор с этой проблемой борюсь. Все костыли пробовали, да помогает, но все равно не решение
Author
Owner

@AlexeyTsiunchik commented on GitHub (Jan 28, 2026):

Мне помогают команды:
sudo pfctl -d - выключают фильтр
sudo pfctl -e - включает его обратно

Если у вас сложные настройки файервола, то возможно стоит поискать другой способ. Проверено на MacOS.

<!-- gh-comment-id:3810337963 --> @AlexeyTsiunchik commented on GitHub (Jan 28, 2026): Мне помогают команды: sudo pfctl -d - выключают фильтр sudo pfctl -e - включает его обратно Если у вас сложные настройки файервола, то возможно стоит поискать другой способ. Проверено на MacOS.
Author
Owner

@swelf19 commented on GitHub (Feb 17, 2026):

Понятие не имею что такое KillSwitch и как он работает, но совет выше, выключить его - помог

<!-- gh-comment-id:3917237743 --> @swelf19 commented on GitHub (Feb 17, 2026): Понятие не имею что такое KillSwitch и как он работает, но совет выше, выключить его - помог
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amnezia-client#871
No description provided.