Могу ли я каким-то образом настроить зеркало (это лучшее слово, которое я получил) сервера, доступного в Интернете, на определенный порт моего маршрутизатора?
Вот что у меня есть:
- Интернет-провайдер предоставляет мне статический IP-адрес (я смог настроить переадресацию портов на моем маршрутизаторе, чтобы разрешить доступ к веб-серверу в моей локальной сети из Интернета).
- У меня есть роутер D-LINK DIR-628 с оригинальной прошивкой, если это поможет.
- Есть интернет-сервер, который я хочу отразить. В частности, это сервер Ventrilo, который я арендую.
Чего я хочу достичь: подключение к маршрутизатору с использованием его общедоступного IP-адреса должно перенаправить подключение к серверу Ventrilo. Мне не нужен какой-либо дополнительный защищенный слой, как, например, никакая авторизация для использования этого прокси.
Причина, по которой мне это нужно: один парень не может подключиться к серверу Ventrilo (у всех остальных нет проблем с подключением). Я не знаю точную причину этого, но его провайдер не сотрудничает и не помогает ему. Поэтому я хочу настроить какое-либо зеркало / прокси на моем маршрутизаторе, чтобы он подключался с использованием IP-адреса моего маршрутизатора, и это подключение будет перенаправлено на сервер Ventrilo.
Я попытался настроить переадресацию портов, но это не позволяет перенаправлять соединения на внешние IP-адреса. Только для IP-адресов в моей локальной сети.
Основываясь на информации, предоставленной @fdmillion, я смог решить свою проблему.
Общий ответ (на случай, если вам нужно переслать только TCP):
- Я создал правило переадресации портов в моем маршрутизаторе, как было предложено.
- Я добавил маршрут в Windows с помощью команды netsh:
netsh interface portproxy add v4tov4 listenport=PORT listenaddress=LAN_IP_of_Windows_Machine connectport=PORT connectaddress=Internet_IP_of_Server
Однако оказалось, что Ventrilo использует как TCP, так и UDP. К сожалению, netsh не поддерживает UDP, поддерживается только TCP. Я использовал отдельный инструмент для пересылки UDP (http://sourceforge.net/projects/pjs-passport/) и netsh для пересылки TCP. Pjs-паспорт не может пересылать TCP и UDP одновременно. Вы можете создать только одно правило для одного и того же адреса и порта для TCP или UDP.