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

Исходное сообщение
"ipfw и natd"

Отправлено omar22 , 22-Июл-21 14:52 
Добрый день всем.
Прошу помощи в настройке ipf и natd.
есть такие настройки

FreeBSD GW01 9.3-RELEASE-p42 FreeBSD 9.3-RELEASE-p42

fwcmd="/sbin/ipfw -q add"
nat="/sbin/natd -f /etc/natd.conf"
intIf="em0" #локальная сеть
extIf="em1" #Внешний мир
extIP2="IP2"
intIP1="IP1"
intIP1="IPo1"

$nat -p 8666 log -s -m -redirect_port tcp $IPo1:7654 7654 -a $extIP2
$fwcmd 1746 divert 8666 log tcp from any to $extIP2 7654 in via $extIf
$fwcmd 1746 divert 8666 log tcp from $IPo1 7654 to any out via $extIf

суть какая. при коннекте из внешнего мира на $extIP2 на порт 7654 пробрасывает на $IPo1:7654.
С этим вроде бы хорошо. Но необходимо чтобы была подмена $extIP2 на адрес $intIf
и что то с этим никак. если в строке NAt заменить -а $extIP2 на -а $intIf то перестает все работать.
можно ли такое сделать?


Содержание

Сообщения в этом обсуждении
"ipfw и natd"
Отправлено Сергей , 22-Июл-21 17:13 
есть такая фигня как forward


"ipfw и natd"
Отправлено Денис , 23-Июл-21 02:38 
>[оверквотинг удален]
> via $extIf
> $fwcmd 1746 divert 8666 log tcp from $IPo1 7654 to any out
> via $extIf
> суть какая. при коннекте из внешнего мира на $extIP2 на порт 7654
> пробрасывает на $IPo1:7654.
> С этим вроде бы хорошо. Но необходимо чтобы была подмена $extIP2 на
> адрес $intIf
> и что то с этим никак. если в строке NAt заменить -а
> $extIP2 на -а $intIf то перестает все работать.
> можно ли такое сделать?

запусти второй natd


"ipfw и natd"
Отправлено omar22 , 23-Июл-21 08:00 
>[оверквотинг удален]
>> $fwcmd 1746 divert 8666 log tcp from $IPo1 7654 to any out
>> via $extIf
>> суть какая. при коннекте из внешнего мира на $extIP2 на порт 7654
>> пробрасывает на $IPo1:7654.
>> С этим вроде бы хорошо. Но необходимо чтобы была подмена $extIP2 на
>> адрес $intIf
>> и что то с этим никак. если в строке NAt заменить -а
>> $extIP2 на -а $intIf то перестает все работать.
>> можно ли такое сделать?
> запусти второй natd

поясните, что вторым натом натить? можно с примером?


"ipfw и natd"
Отправлено universite , 23-Июл-21 13:34 
>[оверквотинг удален]
>>> via $extIf
>>> суть какая. при коннекте из внешнего мира на $extIP2 на порт 7654
>>> пробрасывает на $IPo1:7654.
>>> С этим вроде бы хорошо. Но необходимо чтобы была подмена $extIP2 на
>>> адрес $intIf
>>> и что то с этим никак. если в строке NAt заменить -а
>>> $extIP2 на -а $intIf то перестает все работать.
>>> можно ли такое сделать?
>> запусти второй natd
> поясните, что вторым натом натить? можно с примером?

Я подобное на pf делал. Получился то ли 2-ой, то ли 3-ой NAT.


"ipfw и natd"
Отправлено omar22 , 23-Июл-21 13:39 
>[оверквотинг удален]
>>>> пробрасывает на $IPo1:7654.
>>>> С этим вроде бы хорошо. Но необходимо чтобы была подмена $extIP2 на
>>>> адрес $intIf
>>>> и что то с этим никак. если в строке NAt заменить -а
>>>> $extIP2 на -а $intIf то перестает все работать.
>>>> можно ли такое сделать?
>>> запусти второй natd
>> поясните, что вторым натом натить? можно с примером?
> Я подобное на pf делал. Получился то ли 2-ой, то ли 3-ой
> NAT.

можно ли пример показать? чтобы суть понять? а то что то я туплю...


"ipfw и natd"
Отправлено Денис , 24-Июл-21 06:32 
>[оверквотинг удален]
>>> via $extIf
>>> суть какая. при коннекте из внешнего мира на $extIP2 на порт 7654
>>> пробрасывает на $IPo1:7654.
>>> С этим вроде бы хорошо. Но необходимо чтобы была подмена $extIP2 на
>>> адрес $intIf
>>> и что то с этим никак. если в строке NAt заменить -а
>>> $extIP2 на -а $intIf то перестает все работать.
>>> можно ли такое сделать?
>> запусти второй natd
> поясните, что вторым натом натить? можно с примером?

первый делает проброс портов, а второй подменяет адрес источника, если я правильно понял, что требуется
пример писать лень, но я так делал, когда нужно было постепенно с одного сервера на другой перейти


"ipfw и natd"
Отправлено omar22 , 27-Июл-21 14:32 
> первый делает проброс портов, а второй подменяет адрес источника, если я правильно
> понял, что требуется
> пример писать лень, но я так делал, когда нужно было постепенно с
> одного сервера на другой перейти

Добрый день всем.
Что то так и не получилось у меня сделать связку. Прошу еще раз помощи.
есть такие правила.
nat="/sbin/natd -f /etc/natd.conf"

intIf="em0"
extIf="em1"
#extIf2="em2"

extIP2="1.2.3.4"
intIP1="5.6.7.8"
intIPo1="1.2.9.3"

$fwcmd 1746 divert 8666 log tcp from any to $extIP2 7654 in via $extIf
$fwcmd 1746 divert 8666 log tcp from $intIPo1 7654 to any out via $extIf

$nat -a $extIP2 -p 8666 log -redirect_port tcp $intIPo1:7654 7654
$nat -a $intIP1 -p 8666

если смотреть tcpdump -n -i em1 port  7654
то запрос приходит на внешний адрес
IP ХХ.ХХ.ХХ.ХХ.45166 > extIP2.7654: Flags [S], seq 2874030667, win 65535, options [mss 1420,sackOK,TS val 8236322 ecr 0,nop,wscale 8], length 0
я так понимаю что правильно
если смотреть tcpdump -n port 7654
IP ХХ.ХХ.ХХ.ХХ.51583 > intIPo1.7654: Flags [S], seq 2679570057, win 65535, options [mss 1420,sackOK,TS val 8243881 ecr 0,nop,wscale 8], length 0
издесь вроде бы редирект ушел но без подмены

то адрес приходит с внешнего IP и пересылается на внутренний. я так понимаю что почему то без подмены?
или я завис и что то не догоняю?
Помогите кто в теме ... никак въехать не могу


"ipfw и natd"
Отправлено Аноньимъ , 05-Авг-21 11:08 
В 9 фре разве нет ядерного ната для ipfw?
Или у вас специфическая причина natd использовать?

"ipfw и natd"
Отправлено omar22 , 05-Авг-21 11:21 
> В 9 фре разве нет ядерного ната для ipfw?
> Или у вас специфическая причина natd использовать?

дело в том что сервак достался без собранного ядерного. а пересобирать ядро затем переделывать все правила очень геморно выйдет.
попытки установить прочие софтины вываливаются с ошибкой


"ipfw и natd"
Отправлено Аноньимъ , 05-Авг-21 11:25 
> дело в том что сервак достался без собранного ядерного. а пересобирать ядро
> затем переделывать все правила очень геморно выйдет.
> попытки установить прочие софтины вываливаются с ошибкой

А модулем он не подгружается?

kldload ipfw_nat ?


"ipfw и natd"
Отправлено omar22 , 05-Авг-21 12:24 
>> дело в том что сервак достался без собранного ядерного. а пересобирать ядро
>> затем переделывать все правила очень геморно выйдет.
>> попытки установить прочие софтины вываливаются с ошибкой
> А модулем он не подгружается?
> kldload ipfw_nat ?

делал но при просмотре kldstat
его не появляется