%20%D1%81%20%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%20ICS%3F.png)
Я хочу перенаправить некоторые порты (1666 для perforce, 8081 для Hudson) на моей машине Internet Gateway. Эта машина работает под управлением Windows 7 (64 бит, легальная, учетная запись пользователя) и подключена к Интернету через кабельный модем (это не маршрутизатор). Машина Windows делится своим подключением к Интернету через ICS, и это отлично работает на всех подключенных компьютерах.
Я могу получить доступ к службам через публичный IP шлюза (95.xxx) на указанных портах, если они запущены на самом шлюзовом компьютере. Я добавил порты и IP-адрес назначения (192.168.0.18) в диалоговом окне «Дополнительные параметры» сетевого адаптера Интернета (вкладка «Общий доступ»). Это тот же диалог, в котором у вас есть список предварительно настроенных служб, таких как HTTP, FTP и другие входящие службы. Когда я это делаю, я больше не могу подключиться к службам. По какой-то причине переадресация портов не работает.
Я удалил Bitdefender, потому что хотел проверить, не мешает ли брандмауэр. Я также отключил брандмауэр Windows и Defender, но безрезультатно. Я попробовал бесплатный инструмент, который помогает настроить переадресацию портов, но он тоже не сработал.
Целевая машина — компьютер Mac OS X, на котором отключен брандмауэр. IP-адрес статический. Я могу успешно подключиться к службам, используя локальный IP-адрес (192.168.0.18) с двух разных машин, включая шлюзовой компьютер. Поэтому мне кажется, что и внутренне, и внешне порты открыты и не заблокированы, а проблема заключается в самой переадресации портов.
Насколько я понимаю, достаточно добавить запись в диалоговое окно «Дополнительные параметры», чтобы включить переадресацию портов при отсутствии помех со стороны брандмауэров.Как мне устранить неполадки, из-за которых у меня не работает переадресация портов? Какие шаги мне следует предпринять, чтобы устранить проблему?
PS: Я с радостью приму решения с использованием командной строки.
Что еще я пробовал:
- добавление входящего правила в брандмауэр Windows для портов 1666, 8081
- попытка с включенным и выключенным брандмауэром Windows
- отключение/включение сетевого адаптера
- дважды проверил правильность IP-адресов
- сопоставление другого входящего порта с фактическим портом службы
- следовал или проверял разные советы в этой статье
Что я еще не решился попробовать (дайте знать, если стоит попробовать):
- отключить/включить ICS
- удалите все сетевые адаптеры (через Панель управления), затем переустановите и настройте их заново
решение1
Решено.
После сброса настроек брандмауэра Windows до значений по умолчанию, отключения и повторного включения ICS мне удалось заставить работать переадресацию портов, но не без использованияПаспортный инструменткоторый устанавливает переадресацию портов как службу Windows (ее необходимо запустить с правами администратора).
Хорошая вещь в Passport заключается в том, что вы можете перенаправлять DNS-адреса, а не только IP-адреса. Так что через интерфейс Passport возможно что-то вроде этого:
myserver.no-ip.org:8081 --> 192.168.0.18:8081
решение2
В Windows 7 вы можете вручную настроить переадресацию портов из командной строки следующим образом:
netsh interface portproxy add v4tov4 listenport=1666 listenaddress=95.x.x.x connectport=1666 connectaddress=192.168.0.18 protocol=tcp
- даже если вы используете только IPv4, для работы вам необходимо убедиться, что установлен IPv6.
- если вам нужно также пересылать UDP, то я бы использовалэта замечательная небольшая утилита с открытым исходным кодом, так как
netsh int portproxy
работает только с TCP
решение3
Переадресация портов в Windows 7 очень проста. На вкладке «Общий доступ к подключению» после всех флажков есть одна кнопка [Настройки]. Нажмите на эту кнопку, затем появятся уже перечисленные службы. Вы можете их редактировать или добавить новую. Вы можете ввести имя службы, например http.
адрес/имя компьютера, на котором размещена служба, например, 192.168.1.100, затем порт 80 и протокол [tcp/udp]
таким образом вы можете добавить любое количество служб и перенаправить любое количество портов, это очень просто, не используйте netsh или некоторые программы переадресации портов, представленные на других сайтах