Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Сетевые технологии (http://forum.oszone.net/forumdisplay.php?f=31)
-   -   [решено] Windows XP Pro (netsh routing ip nat portmapping) для проброски портов (http://forum.oszone.net/showthread.php?t=220242)

RUVATA 11-11-2011 19:50 1793220

Windows XP Pro (netsh routing ip nat portmapping) для проброски портов
 
Всем доброго времени суток...
Первый раз сталкиваюсь с реализацией подобного по Windows XP... но чуется аки я где-то рядом.
И так:
Главный герой - Windows XP Pro с двумя сетевыми адаптерами один глядит в циску провайдера и ест оттудова интернет(назовем его InternetConnection), второй глядит в локалку населенную "Маздаями" всех мастей:(XP Pro, XP Home, Vista, Win 7 Pro, назовем его CorpNetworkConnection) у локалочки имеется свой контроллер домена w2k3 R2, но его аки шлюз использовать категорически не хотят (забудем о его существовании), так что тяжелое бремя шлюза легло на плечи нашего главного героя.
Так вот, работало у них все следующим образом (ICS это называется насколько я понимаю) : InternetConnection прописан статический IP выданный провайдером, его шлюз, DNS и т.д. , "Сделать это подключение доступным..." для CorpNetworkConnection, сам CorpNetworkConnection естественно обратился в 192.168.0.1 / 255.255.255.0 и смотрит в коммутатор.
И все в общем то работало. Но однажды им понадобилось пробросить порт н/п 8000 на 8000 порт одного из участников локальной сети,
те кто все это затеял, им возьми да и скажи, что проблемм не будет, заходите мол в свойства InternetConnection, на вкладке "Дополнительно", клацаете по "Параметры"
откроется окошечко в котором будет предложено настроить службы локальной сети для пользователей интернета (DNS, DHCP и т.д.) там клацаете "Добавить", IP-шник той самой машины
куда требуется провести 8000 порт, сам порт соответственно 8000 в полях "Внешний порт..." и "Внутренний порт"... И ...
Баста !!! ничего не заработало... при обращении из интернета на статический-ip:8000 ничего не происходит.
И так, и так они прыгали вокруг этих параметров... ну и собственно проблема досталась мне по знакомству, я долго пытался убедить их ИТшника, что мол давай FreeBSD, или Ubuntu Serv. на этот комп... но тот ни в какую.
И я собственно подумал, что надо просто разобраться, ведь уж такую, казалось бы, простую операцию Windows XP должна уметь...
Вот разбираюсь я уже... м-м-м-м стыдно.
Что уже сделано... во первых интернет пущен через NAT из консоли при помощи netsh
Код:

netsh routing ip nat install
ребутимся, локалка от интернета отваливается, несмотря на то что настройки адаптеров и ICS все остались без изменений (Сделать подключение доступным... и т.д.) настораживает ну да ладно.
Код:

netsh routing ip nat add interface "InternetConnection" full
netsh routing ip nat add interface "CorpNetworkConnection" private
netsh routing ip dnsproxy install
netsh routing ip dnsproxy set interface name="InternetConnection" mode=enable

ребутимся, и локалка снова радостно ест интернет, NAT и dnsproxy поднялись, все кажется замечательным и близким к завершению, т.к. я уже вычитал в "мане по netsh" про nat portmapping
и его рефф говорит что именно то что нам нужно:
Цитата:

add portmapping [InterfaceName=]имя_интерфейса [proto=]{tcp | udp} [publicip=]{IP-адрес | 0.0.0.0} [publicport=]целое [privateip=]IP-адрес [privateport=]целое
поехали (пусть для примера наш внешний ip будет 11.111.11.111, а пробросить надо на 192.168.0.100).
Код:

netsh routing ip nat portmapping InterfaceName="InternetConnection" proto=tcp
publicip=11.111.111.11 publicport=8000 privateip=192.168.0.100 privateport=8000

ни хрена, пишет:
Цитата:

Статическое сопоставление портов с 11.111.11.111 / 8000 по 192.168.0.100 / 8000 требует чтобы 11.111.11.111 было частью настраиваемого адресного диапазона...
бла-бла-бла установите значение publicip в 0.0.0.0
лады (хотя интересно как будет разрешаться 0.0.0.0 для двух интерфейсов, ну да пробуем)
Код:

netsh routing ip nat portmapping InterfaceName="InternetConnection" proto=tcp
publicip=0.0.0.0 publicport=8000 privateip=192.168.0.100 privateport=8000

и тишина... обращение "извне" к 11.111.11.111:8000 по прежнему результата не дают
ребутимся
и... Всё пропало - страна в опасности !!! в локалке нет интернета, да и редиректа "извне" тоже нет.
И тут руки начинают опускаться.
Обращаюсь к коллективному сознанию за помощью.
PS: пытался еще что-то сделать через portproxy v4tov4 ... такая же безуспешно, да и вообще не понял что это.

RUVATA 14-11-2011 13:06 1794760

Цитата:

Цитата RUVATA
PS: пытался еще что-то сделать через portproxy v4tov4... так же безуспешно, да и вообще не понял что это. »

И зря...
Именно portproxy и есть то что нужно... А вот portmapping - это строгое определение маршрута, т.е. если ты задаешь проброс, то должен описать ВСЕ!!!, по всем используемым портам н/п 8080 и т.д. надо крутить на localhost (костыли)... не знаю зачем такой функционал, но это явно не то что нужно.
А вот portproxy v4tov4 как раз проброс указанного порта через шлюз... и самое интересное, что весь функционал не ругается, но и не работает пока не:
Код:

netsh interface ipv6 install
ребутимся... и пробрасывай себе
(Все же интересно, момент с предварительной установкой ipv6 затрагивается на форумах, но ни слова об этом нет в доках, а ведь без него portproxy действительно не пашет, причем не только в XP, проверил на W2k3 R2 - тоже самое :) )


Время: 18:20.

Время: 18:20.
© OSzone.net 2001-