URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 2289
[ Назад ]

Исходное сообщение
"Как натить протоколы с разных алиасов?!"

Отправлено Vanger13 , 09-Сен-05 14:00 
имеем - FreeBSD, внутрений и внешний интерфейс, на внешнем 2 IP адреса. как при помощи ipfw и natd заставить натить протоколы с разных ip адресов? например почтовые протоколы только с первого, всё другое - только со второго. нашёл варианты чего-то подобного, но для двух внешних сетевых интерфейсов, попробовал - не получается.

Содержание

Сообщения в этом обсуждении
"Как натить протоколы с разных алиасов?!"
Отправлено butcher , 09-Сен-05 14:31 
>имеем - FreeBSD, внутрений и внешний интерфейс, на внешнем 2 IP адреса.
>как при помощи ipfw и natd заставить натить протоколы с разных
>ip адресов? например почтовые протоколы только с первого, всё другое -
>только со второго. нашёл варианты чего-то подобного, но для двух внешних
>сетевых интерфейсов, попробовал - не получается.


Запускай два natd, см. ключ -a
Делай divert нужных протоколов на порт соответсвующего nat'а.


"Как натить протоколы с разных алиасов?!"
Отправлено Vanger13 , 09-Сен-05 15:07 
>>имеем - FreeBSD, внутрений и внешний интерфейс, на внешнем 2 IP адреса.
>>как при помощи ipfw и natd заставить натить протоколы с разных
>>ip адресов? например почтовые протоколы только с первого, всё другое -
>>только со второго. нашёл варианты чего-то подобного, но для двух внешних
>>сетевых интерфейсов, попробовал - не получается.
>
>
>Запускай два natd, см. ключ -a
>Делай divert нужных протоколов на порт соответсвующего nat'а.

собственно так и делалось. вот сейчас разобрался почему не получалось.
т.е. протокол, попавший в один divert не должен попадать в другой. это как бы и понятно, но у меня так и не вышло заставить понимать ipfw слово not перед протоколом, хотя в мануале написано что можно.
в итоге сейчас имею токую работающую схему
divert 8669 tcp from any 25 to any via rl0
divert 8669 tcp from any to any 25 via rl0
divert 8668 tcp from any to any 5190 via rl0
divert 8668 tcp from any 5190 to any via rl0
по крайней мере smtp и ася идут с разных внешних IP


"Как натить протоколы с разных алиасов?!"
Отправлено Vanger13 , 12-Сен-05 10:15 
>>>имеем - FreeBSD, внутрений и внешний интерфейс, на внешнем 2 IP адреса.
>>>как при помощи ipfw и natd заставить натить протоколы с разных
>>>ip адресов? например почтовые протоколы только с первого, всё другое -
>>>только со второго. нашёл варианты чего-то подобного, но для двух внешних
>>>сетевых интерфейсов, попробовал - не получается.
>>
>>
>>Запускай два natd, см. ключ -a
>>Делай divert нужных протоколов на порт соответсвующего nat'а.
>
>собственно так и делалось. вот сейчас разобрался почему не получалось.
>т.е. протокол, попавший в один divert не должен попадать в другой. это
>как бы и понятно, но у меня так и не вышло
>заставить понимать ipfw слово not перед протоколом, хотя в мануале написано
>что можно.
>в итоге сейчас имею токую работающую схему
>divert 8669 tcp from any 25 to any via rl0
>divert 8669 tcp from any to any 25 via rl0
>divert 8668 tcp from any to any 5190 via rl0
>divert 8668 tcp from any 5190 to any via rl0
>по крайней мере smtp и ася идут с разных внешних IP

мда, схема то работающая, но неудобная до беспредела :( это мне надо диверту перечислять абсолютно все порты, которые я хочу выпускать. тут уже и остальные правила практически не нужны становяться. а что делать с программами использующими динамические порты, например тот же активный FTP? нужно что бы NOT перед протоколом работало однозначно. что бы первому диверту отдавать только 25, а второму всё КРОМЕ 25. подскажите, может это с определёных версий начинает работать, может мне стоит обновиться.