Перенаправить порт на другой Ip/ порт
Недавно я узнал, что мой провайдер отключает порт 135. У меня есть сервер и персональный компьютер за маршрутизатором. Мы с другом работаем над программным проектом и сталкиваемся с некоторыми проблемами с SQL из-за этого заблокированного порта. Чтобы он мог получить доступ ко всему, я настроил dynadns
Персональный компьютер: 192.168.1.100 Серверный компьютер: 192.168.1.110
Есть ли способ для меня перенаправить трафик localhost с порта 135 на порт 8081, а затем заставить мой сервер принимать входящие запросы с порта 8081 на 135? Я немного слышал о туннелировании ssh, но кажется странным использовать Putty для входа на мою локальную машину, где ssh-сервер работает для переадресации портов.
Любой совет будет очень полезным.
Спасибо
РЕДАКТИРОВАТЬ: я использую маршрутизатор с установленным dd-wrt и установил дополнение vpn. Я пытался заставить VPN работать на моем компьютере с Windows 2003, но у меня были проблемы с неконфигурированным протоколом GRE. Я попробую вариант vpn с моим маршрутизатором и опубликую результаты позже сегодня.
10 ответов
Вы хотите настроить VPN на одном из ваших компьютеров, а другой подключиться к нему. Таким образом, они окажутся в одной подсети и будут иметь полный доступ друг к другу, не открывая уязвимые порты миру.
Действительно хороший Open Source VPN - это OpenVPN. Я только использовал сервер под Linux, поэтому я не могу комментировать, как легко настроить Windows.
Другой вариант - прошить роутер прошивкой dd-wrt. Существует версия, которая включает в себя сервер OpenVPN и будет подключать всю вашу сеть к нему.
Я использовал PortMapper от AnalogX, чтобы сделать это точно. Это очень легко настроить и запустить.
Ваш провайдер блокирует 135 по уважительной причине. Этот порт и порт 445 являются двумя основными векторами для продолжающихся атак вредоносных программ и червей на компьютеры Windows.
Если вам нужен доступ к этим портам, могу ли я предложить пересылку по ssh или использование VPN?
Порт 135 используется активным каталогом и другими службами Microsoft. Маловероятно, что вы найдете хороший метод для перенаправления этого порта на клиент или сервер. Вы бы лучше предоставили вашему другу удаленный доступ к виртуальному ПК в вашей сети, используя какой-либо тип VPN, или иным образом подключите его к вашей сети, где эти назначения портов не нужно менять.
Попробуйте Rinetd.
Это перенаправляет трафик TCP с одного порта на компьютере на другой.
На самом деле, мы не знаем, какой маршрутизатор / шлюз вы используете, поэтому вам будет сложно помочь.
НО, большинство маршрутизаторов / шлюзов имеют возможность перенаправить порт на другой.
Переадресация портов в DD-Wrt, вероятно, может делать то, что вы хотите, если я правильно вас понимаю и использую NA.
Скажем, у меня был httpd, работающий на порте 80, работающем внутри моей сети, но он был заблокирован моим провайдером, я использовал переадресацию портов в DD-Wrt, чтобы сопоставить другой внешний порт для направления на 80.
Таким образом, из-за пределов сети я мог подключиться к mydomain.dynalias.net:8081, и мой сервер оставался бы на порту 80.
Прошло несколько лет с тех пор, как я использовал DD-Wrt, поэтому я укажу здесь точную документацию: http://www.dd-wrt.com/wiki/index.php/Port_Forwarding
Другие решения могут работать для этого, но имейте в виду, что Windows довольно сильно привязывается к порту 135 для обмена файлами, и использование порта может затруднить его перенаправление. В Windows есть хорошее руководство по перенаправлению портов по SSH по адресу http://www.bitvise.com/port-forwarding а BitVise, на мой взгляд, делает хорошие SSH-клиенты и серверные продукты для Windows. Их клиент делает переадресацию портов легкой и графической, хотя то же самое можно сделать с PuTTY бесплатно на стороне клиента. Я бы настоятельно рекомендовал шифровать перенаправленный трафик с помощью SSH, если вы управляете обеими конечными точками, вместо того, чтобы запускать общедоступный сервер для любого, к кому можно подключиться (который может быть не таким закрытым). Я бы хотел зашифровать порт 135, если бы открыл его в Интернете, даже на другом порту!
Я бы всерьез подумал о настройке VPN-соединения между сайтами, а не ошарашивании с портами. Большинство домашних маршрутизаторов на рынке поддерживают это сейчас.
tcpproxy должен делать то, что вам нужно. Я предполагаю, что ваш сервер прослушивает TCP/135, и вы хотите пробить дыру в брандмауэре и выставить TCP/8081 на своей рабочей станции для внешнего мира. В этом случае вы должны запустить tcpproxy на своей рабочей станции с файлом конфигурации, который выглядит примерно так:
port 8081
interface eth0
server xyz:135
Конечно, замените 'eth0' на имя вашего интерфейса, а 'xyz' на фактическое имя хоста вашего сервера.