RRAS и диапазон портов для служб и портов

История о том какой плохой RRAS и как пробросить группу портов через NAT.

Задался я как то задачкой пробросить через свой Windows 2008 R2 порты для Астериска который стоит за НАТом, что бы НАТ этот самый мне не мешал.

Зашёл как обычно в маршрутизацию и удалённый доступ потыкал как водится мышкой и обнаружил интересную штуку с которой раньше не сталкивался, оказывается в RRAS'e на каждый порт одно правило, и нельзя создать одно правило на диапазон портов, как водитя для SIP'a нужен 5060 порт UDP это не беда, но для RTP потока нужен диапазон портов (в моём случае от 10000 до 20000), мне конечно совсем не хотелось вручную заносить все 10 тысяч правил, совсем не весёлое занятие. Покопавшись по интернетам стало понятно что задачку эту решать никто не хотел (видимо что-то другое придумывали, или уходили от RRAS, в моём случае TI+RRAS уходить некуда).

Подумав ещё немножко наткнулся на описание комманд для netsh и портмаппинга.

Вооружившись ртфм по ссылке понял как в RRAS прокинуть диапозон портов. Набрал сначала netsh routing ip nat dump > c:\nat.txt
открыл файлик увидел что есть такие строчки:

add interface name="Inet_iface_1" mode=FULL
add portmapping name="Inet_iface_1" proto=UDP publicip=0.0.0.0 publicport=5060 privateip=192.168.0.6 privateport=5060

Eсли у вас нет интерфейсов, то добавьте на нужном ваи интерефейсе любое правило проброса, а затем снова дамп
В моём случае "Inet_iface_1" - имя интерфейса интернет соединения, этот интерфейс имеет такоеже имя в RRAS'e.
Чтобы проверить работу комманд сначала выполнил netsh exec c:\nat.txt. Всё успешно выполнилось ничего не сломалось, продолжаем эксперименты? следуя логике понятно что надо добавить строчки в наш файл такого рода:

 add portmapping name="Inet_iface_1" proto=UDP publicip=0.0.0.0 publicport=5060 privateip=192.168.0.6 privateport=5060 

где вместо 5060 подставляем нужный нам порт, а вместо 192.168.0.6 подставляете адрес в сети на который хотите порты прокидывать, я скопировал строчку эту в эксель разбил на 4 столбца и растянул порты до нужного мне кол-ва, затем скопировал получившиеся в обычный блокнот убрал лишние табы\пробелы через Правка-заменить, вернул обратно в файл и снова повторил netsh exec c:\nat.txt.
Сразу скажу комманда выполнялась долго, порядка 20 минут, в это время у меня не работал второй интернет интерфейс который по файлу шёл вторым. 
После этого зашёл проверил в RRAS - всё добавилось, правила обозвались "пользовательская служба 1, пользовательская служба 2" итд до 10001. При открытии вкладки Службы и порты мой квадкор загружается процентов на 80, также при перезагрузке очент долго эта служба стартует. Видно RRAS совсем для такого не задумывался, а жаль.  Хотя если вам надо будет прокинуть не 10 тысяч портов, а например сотню другую этот способ подойдёт.

P.S. Вот такой вот оказывается не гибкий RRAS, такие фишки можно в самом дешёвом роутере типа D-link dir-300 сделать не напрягаясь, а сервер за денежку и с поддержкой не может/не хочет.

Zo2 Framework Settings

Select one of sample color schemes

Google Font

Menu Font
Body Font
Heading Font

Body

Background Color
Text Color
Link Color
Background Image

Header Wrapper

Background Color
Modules Title
Text Color
Link Color
Background Image
Background Color
Modules Title
Text Color
Link Color
Background Image
 
Top of Page