The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"ipfw и natd"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Информационная безопасность (BSD ipfw, ipf, ip-filter / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"ipfw и natd"  +/
Сообщение от omar22email (ok), 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 то перестает все работать.
можно ли такое сделать?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Сергей (??), 22-Июл-21, 17:13   +/
есть такая фигня как forward

Ответить | Правка | Наверх | Cообщить модератору

2. Сообщение от Денис (??), 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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3

3. Сообщение от omar22email (ok), 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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #4, #6

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #5

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #7

7. Сообщение от omar22email (ok), 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 и пересылается на внутренний. я так понимаю что почему то без подмены?
или я завис и что то не догоняю?
Помогите кто в теме ... никак въехать не могу

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

8. Сообщение от Аноньимъ (ok), 05-Авг-21, 11:08   +/
В 9 фре разве нет ядерного ната для ipfw?
Или у вас специфическая причина natd использовать?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9

9. Сообщение от omar22email (ok), 05-Авг-21, 11:21   +/
> В 9 фре разве нет ядерного ната для ipfw?
> Или у вас специфическая причина natd использовать?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #10

10. Сообщение от Аноньимъ (ok), 05-Авг-21, 11:25   +/
> дело в том что сервак достался без собранного ядерного. а пересобирать ядро
> затем переделывать все правила очень геморно выйдет.
> попытки установить прочие софтины вываливаются с ошибкой

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

kldload ipfw_nat ?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #11

11. Сообщение от omar22email (ok), 05-Авг-21, 12:24   +/
>> дело в том что сервак достался без собранного ядерного. а пересобирать ядро
>> затем переделывать все правила очень геморно выйдет.
>> попытки установить прочие софтины вываливаются с ошибкой
> А модулем он не подгружается?
> kldload ipfw_nat ?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру