Как получить доступ к хосту с известным именем хоста с устройства, поддерживающего только IP-номера?

359
tutejszy

Проблема: на сервере есть служба с изменяющимся IP-адресом, но с постоянным именем хоста (Dyndns или аналогичным). Но клиентское устройство, которое хочет использовать сервис, может получить к нему доступ только по IP, а не по имени хоста. Как решить проблему?

Самым простым является то, что устройство находится в локальной сети с сервером Windows (постоянный IP-адрес) и маршрутизатором Mikrotik (также постоянный IP-адрес). Поэтому я думаю о двух возможных решениях: перенаправление волшебного порта Mikrotik на внешний хост (есть что-нибудь подобное?) Или небольшое приложение на машине с Windows, которое перенаправляет порт на известный хост (существует ли он?). Пожалуйста, порекомендуйте.

2
Что это за устройство, которое не может использовать имя хоста? Duncan X Simpson 6 лет назад 0
Кроме того, почему сервер не может иметь постоянный IP? Это пахнет XY. Duncan X Simpson 6 лет назад 0
Реализовать руководство днс. Если приложение может подключиться к ip, то оно может подключиться к dns по ip и получить по имени. Приложения для переадресации портов существуют в Windows. Robert Andrzejuk 6 лет назад 0
@DuncanXSimpson это плеер Logitech Squeezebox. Смотрите здесь: https://tomstek.us/logitech-squeezebox-boom-network-music-player-picture-gallery/. Сервер не может иметь статический IP-адрес, потому что это мой дом, а за статический IP-адрес мне придется доплачивать tutejszy 6 лет назад 0
О, я совершенно не понял топологию сети. Duncan X Simpson 6 лет назад 0
Согласно инструкции он может использовать имя хоста. Duncan X Simpson 6 лет назад 0
@DuncanXSimpson Я так не думаю. Я прочитал https://www.logitech.com/assets/32375/squeezeboxboom-userguide.pdf и не вижу опции tutejszy 6 лет назад 0
Это другой продукт, чем я смотрел. Выдержка из этого: «Если Squeezebox Boom и ваш компьютер не находятся в одном сегменте сети, вам необходимо настроить беспроводную сеть так, чтобы оба были в одном сегменте и подключались к одному и тому же DHCP-серверу для своих IP-адресов». Duncan X Simpson 6 лет назад 0

1 ответ на вопрос

0
tutejszy

После нескольких вечеров копания это кажется легче, чем я думал: good'ol socatна машине Windows - ответ. Таким образом, Windows-машина становится перенаправителем портов (и его IP-адрес может использоваться в устройстве):

socat tcp-l:local-port,fork,reuseaddr tcp:remote-host:remote-port 

например:

socat tcp-l:80,fork,reuseaddr tcp:google.com:80 

Socat в tcp-listenрежиме устанавливает соединение по требованию, по-видимому, каждый раз, разрешая имя хоста в адрес (проверено изменение файла hosts). forkИ reuseaddrварианта tcp-listenхардкора не требуется, сделать команду более гладкоствольной работу в случае возникновения проблем.

Сокат для окон здесь