- Вопрос или проблема
- Ответ или решение
- Как предотвратить проблемы с разрешением DNS в systemd из-за USB-соединения с iPhone
- Введение
- Понимание проблемы
- Решения для предотвращения проблемы
- 1. Настройка systemd для игнорирования интерфейса
- 2. Регулировка настроек DHCP
- 3. Отключение мобильной точки доступа при использовании компьютера
- Заключение
Вопрос или проблема
Сегодня, на моем компьютере с Ubuntu 22.04.5, я обнаружил два неизвестных DNS-сервера в /etc/resolv.conf
(символическая ссылка на /run/systemd/resolve/resolv.conf
):
nameserver fe80::e0eb:40ff:fe79:e364%36 # Не принадлежит
nameserver 172.20.10.1 # Не принадлежит
nameserver 192.168.1.1 # Правильный DNS-сервер
search .
В результате все локальные имена хостов в моей интрасети (например, myhost) не разрешались. Повторный запуск sudo systemd restart systemd-resolved.service
ничего не изменил.
В конце концов, я выяснил, что проблема была связана с моим iPhone 8, который был подключен к компьютеру по USB-кабелю. На iPhone был активирован Личный точка доступа, и systemd считал его моим основным DNS-сервером, перезаписывая 192.168.1.1.
Как я могу предотвратить повторение этой проблемы в будущем, когда мой iPhone будет подключен к компьютеру? Есть ли способ сказать systemd, чтобы он игнорировал точку доступа iPhone? Большое спасибо.
Ответ или решение
Как предотвратить проблемы с разрешением DNS в systemd из-за USB-соединения с iPhone
Введение
Проблема, с которой вы столкнулись на вашем Ubuntu 22.04.5, связана с неправильной конфигурацией DNS-серверов из-за подключения к iPhone по USB. Это распространённая ситуация, когда системы автоматически определяют приоритетные сетевые интерфейсы, и, в данном случае, ваш iPhone, работающий в режиме мобильной точки доступа, стал главным источником для разрешения имен. В этом руководстве мы обсудим, как избежать такой проблемы в будущем, не теряя при этом функциональности вашего интернет-соединения.
Понимание проблемы
Когда вы подключаете iPhone к компьютеру и активируете функцию «Личная точка доступа», операционная система Ubuntu автоматически распознает его как новый сетевой интерфейс. Ваша система systemd
может переопределить настройки DNS, добавляя DNS-серверы, предоставленные iPhone. Это может нарушить ваше локальное разрешение имен, особенно если нужные DNS-серверы не прописаны в конфигурации.
В вашем случае DNS-серверы, появившиеся в /etc/resolv.conf
:
fe80::e0eb:40ff:fe79:e364%36
– это IPv6-адрес, вероятно, ваш iPhone.172.20.10.1
– адрес самого iPhone для связи с устройствами, подключенными к его точке доступа.192.168.1.1
– ваш правильный локальный DNS-сервер, который был затерт.
Решения для предотвращения проблемы
1. Настройка systemd
для игнорирования интерфейса
Чтобы systemd-ресолвер не учитывал настройки DNS вашего iPhone, можно задать его соответствующие правила. Вам нужно будет создать или отредактировать конфигурационный файл для сетевого интерфейса.
Пример:
-
Откройте или создайте файл конфигурации для вашего интерфейса
systemd-networkd
в/etc/systemd/network/
.sudo nano /etc/systemd/network/10-eth.network
-
Добавьте следующее содержимое, заменив
<INTERFACE>
вашим iPhone-интерфейсом (например,usb0
):[Match] Name=<INTERFACE> [Network] DNS=192.168.1.1 # Ваш правильный DNS
2. Регулировка настроек DHCP
Вы можете также настроить dhclient
, чтобы он не учитывал DNS-серверы, предоставляемые iPhone. Для этого выполните следующее:
-
Откройте файл
/etc/dhcp/dhclient.conf
.sudo nano /etc/dhcp/dhclient.conf
-
Добавьте строки, чтобы игнорировать DNS,
supersede domain-name-servers 192.168.1.1;
Таким образом, вы зададите приоритетный DNS-сервер, и systemd-ресолвер будет игнорировать другие DNS-серверы.
3. Отключение мобильной точки доступа при использовании компьютера
Если проблемы продолжают возникать, самым простым решением может быть выключение функции мобильной точки доступа на вашем iPhone, когда вы подключаете его к компьютеру. Это предотвратит автоматическое добавление нежелательных DNS-серверов в конфигурацию.
Заключение
Конфликт DNS в Ubuntu из-за подключения iPhone в режиме точки доступа может вызвать затруднения в работе локальной сети. Применив описанные выше методы, вы сможете избежать таких проблем в будущем, гарантируя, что нужные вам сетевые настройки остаются приоритетными. Если у вас остались вопросы или возникли дополнительные трудности, рекомендуется обратиться к документации Ubuntu или сообществу для получения более детальной информации и поддержки.