Моя ситуация:
У меня есть приложение (Minecraft), размещенное на выделенном сервере, который использует записи SRV для направления трафика конкретного приложения на этот сервер. Сервер был размещен как на сайте (у меня дома), так и на облачном VPS, причем в обоих местах возникли одинаковые проблемы с конкретным клиентским маршрутизатором. Кстати, это все личное хобби.
Записи DNS настроены таким образом, чтобы существовала запись CNAME, определяющая поддомен subdom1, запись A, определяющая поддомен subdom2, и запись SRV, которая указывает мое приложение (на subdom1) на определенный порт на subdom2. В принципе:
subdom1.example.com -> subdom1.example.com
_minecraft._tcp.subdom1.example.com -> subdom2.example.com:portxyz
Эта настройка работает для каждого клиента, который подключен к широкому диапазону различных сетевых настроек (как жилых, так и коммерческих), за исключением одного клиента, который подключен через домашний маршрутизатор (который является Netgear WPN824N, подключенным через Ethernet или WiFi).
Я сузил проблему до этого конкретного маршрутизатора, используя три метода.
- Клиент может следить за записью SRV и подключаться к серверу, когда компьютер подключен к другой сети, поэтому это не проблема с компьютерным оборудованием, ОС или клиентским программным обеспечением.
- Клиент может проследить запись SRV и подключиться к серверу, минуя определенный маршрутизатор и подключаясь напрямую к модему, поэтому это не проблема с его модемом или провайдером
- Было протестировано более одного компьютера с известными работающими клиентами, и ни один из них не смог оценить запись SRV при подключении к этому конкретному маршрутизатору.
Эта проблема существует уже более года.
Вопрос:
Я хотел бы лучше понять, как работают записи SRV и как нечто вроде бытового маршрутизатора может привести к тому, что запись SRV не будет выполняться. И если не сказать клиенту, чтобы он подключался напрямую к subdom2.example.com:portxyz, какие конкретные настройки на типичном жилом маршрутизаторе могут исправить это поведение?
ТЛ; др Какие настройки на бытовом маршрутизаторе могут привести к несоблюдению записи SRV? (И как вообще работают записи SRV?) Эта проблема видна только с одним маршрутизатором.
subdom1
имеет CNAME, а также некоторые другие вещи. Это не законно. CNAME означает, что одно имя только указатель на другое имя и ничего такого остальное.8.8.8.8
а также8.8.4.4
на клиенте? Таким образом, он будет обходить DNS-прокси в маршрутизаторе.