The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Вопрос по настройке ipfw2,kernel nat"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Вопрос по настройке ipfw2,kernel nat"  
Сообщение от andryu email(ok) on 04-Апр-08, 18:28 
Добрый день всем!

Имеется ПС с двумя сетевухами, fxp0 ( внешняя) и rl0(внутренняя)

Настроил нат по статье https://www.opennet.ru/tips/info/1618.shtml. Из локалки можно ходить в интернет, но это не главная задача. Надо переправить некоторые порты с fxp0 на сервера размещённые в локалке. Если бы нат сделал через natd , то нужно было бы использовать redirect_port(как везде пишут). А как быть в случае использования kernel nat ? Подозреваю что в этом случае надо в ipfw правила прописывать devert или fwd. Не подскажите как быть? В нете не нашёл описания для ната, который через ядро работает..

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

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


1. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от hate email on 04-Апр-08, 18:54 

>быть? В нете не нашёл описания для ната, который через ядро
>работает..

  man ipfw

В самом конце:

--------------------

   NAT, REDIRECT AND LSNAT
     First redirect all the traffic to nat instance 123:

           ipfw add nat 123 all from any to any

     Then to configure nat instance 123 to alias all the outgoing traffic with
     ip 192.168.0.123, blocking all incoming connections, trying to keep same
     ports on both sides, clearing aliasing table on address change and keep-
     ing a log of traffic/link statistics:

           ipfw nat 123 config ip 192.168.0.123 log deny_in reset same_ports

     Or to change address of instance 123, aliasing table will be cleared (see
     reset option):

           ipfw nat 123 config ip 10.0.0.1

     To see configuration of nat instance 123:

           ipfw nat 123 show config

     To show logs of all the instances in range 111-999:

           ipfw nat 111-999 show

     To see configurations of all instances:

           ipfw nat show config

     Or a redirect rule with mixed modes could looks like:

           ipfw nat 123 config redirect_addr 10.0.0.1 10.0.0.66
                           redirect_port tcp 192.168.0.1:80 500
                           redirect_proto udp 192.168.1.43 192.168.1.1
                           redirect_addr 192.168.0.10,192.168.0.11
                                   10.0.0.100 # LSNAT
                           redirect_port tcp 192.168.0.1:80,192.168.0.10:22
                                   500        # LSNAT

     or it could be splitted in:

           ipfw nat 1 config redirect_addr 10.0.0.1 10.0.0.66
           ipfw nat 2 config redirect_port tcp 192.168.0.1:80 500
           ipfw nat 3 config redirect_proto udp 192.168.1.43 192.168.1.1
           ipfw nat 4 config redirect_addr
           192.168.0.10,192.168.0.11,192.168.0.12
                                        10.0.0.100
           ipfw nat 5 config redirect_port tcp
                          192.168.0.1:80,192.168.0.10:22,192.168.0.20:25 500

-----------------------

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

3. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от andryu email(ok) on 04-Апр-08, 19:17 
То есть в правилах для ipfw после строчки
${fwcmd} nat 123 config ip ${oif} log
надо поставить
${fwcmd} nat 123 config redirect_port tcp 192.168.10.200:80 80

Где ${oif} внешний ип , а 192.168.10.200 ип вебсервера в локалке.
Или я не так понял.

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

5. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от hate email on 04-Апр-08, 19:28 
>То есть в правилах для ipfw после строчки
>${fwcmd} nat 123 config ip ${oif} log
>надо поставить
>${fwcmd} nat 123 config redirect_port tcp 192.168.10.200:80 80
>
>Где ${oif} внешний ип , а 192.168.10.200 ип вебсервера в локалке.
>Или я не так понял.

/usr/share/example/etc/rc.firewall   - Для ленивых


Есть пример двух натов.

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

6. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от andryu email(ok) on 04-Апр-08, 19:40 
>/usr/share/example/etc/rc.firewall   - Для ленивых
>
>
>Есть пример двух натов.

############
# Network Address Translation.  All packets are passed to natd(8)
# before they encounter your remaining rules.  The firewall rules
# will then be run again on each packet after translation by natd
# starting at the rule number following the divert rule.
#
# For ``simple'' firewall type the divert rule should be put to a
# different place to not interfere with address-checking rules.
#
case ${firewall_type} in
[Oo][Pp][Ee][Nn]|[Cc][Ll][Ii][Ee][Nn][Tt])
        case ${natd_enable} in
        [Yy][Ee][Ss])
                if [ -n "${natd_interface}" ]; then
                        ${fwcmd} add 50 divert natd ip4 from any to any via ${natd_interface}
                fi
                ;;
        esac
        case ${firewall_nat_enable} in
        [Yy][Ee][Ss])
                if [ -n "${firewall_nat_interface}" ]; then
                        ${fwcmd} nat 123 config if ${firewall_nat_interface} log
                        ${fwcmd} add 50 nat 123 ip4 from any to any via ${firewall_nat_interface}
                fi
                ;;
        esac
esac


Вы это имели в виду? Больше ничего связанного с натом там не нашёл. И на счёт редиректа портов так и не понятно...

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

7. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от hate email on 04-Апр-08, 19:58 
>[оверквотинг удален]
>>
>>
>>Есть пример двух натов.
>
>############
># Network Address Translation.  All packets are passed to natd(8)
># before they encounter your remaining rules.  The firewall rules
># will then be run again on each packet after translation by
>Вы это имели в виду? Больше ничего связанного с натом там не
>нашёл. И на счёт редиректа портов так и не понятно...

Все там понятно. Мозг включи. :)

-----------   Вставляешь в свой rc.firewall

# IP Firewall NAT from kernel

        case ${firewall_nat_enable} in
        [Yy][Ee][Ss])
                if [ -n "${firewall_nat_interface}" ]; then
                        if echo "${firewall_nat_interface}" | \
                                grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then
                                firewall_nat_flags="ip ${firewall_nat_interface} ${firewall_nat_flags}"
                        else
                                firewall_nat_flags="if ${firewall_nat_interface} ${firewall_nat_flags}"
                        fi
                        ${fwcmd} nat 123 config log ${firewall_nat_flags}
                        ${fwcmd} add nat 123 ip4 from any to any via ${firewall_nat_interface}
                fi
                ;;
        esac
------------------------------------


---------  Вставляешь в rc.conf ---------------

firewall_nat_enable="YES"
firewall_nat_interface="rl0" <---- тут можно использовать IP адрес или имя интерфейса
firewall_nat_flags="unreg_only same_ports redirect_port tcp 10.10.10.16:12232 12323"

-----------------------------------------

   Что изменить ты додумаешься сам. :)


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

8. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от andryu email(ok) on 07-Апр-08, 17:11 
>   Что изменить ты додумаешься сам. :)

Ну.. могу сказать , что ничего не получилось с 7 версией,..

Так как мы пока тестируем это дело, то решили далее не углублятся и воспользоваться готовым продуктом https://www.opennet.ru/opennews/art.shtml?num=12931
Да простят меня поклонники командной строки :)

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

9. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от hate email on 07-Апр-08, 18:27 
>>   Что изменить ты додумаешься сам. :)
>Ну.. могу сказать , что ничего не получилось с 7 версией,..

  Значит не было желания и нужной настойчивости.

>Так как мы пока тестируем это дело, то решили далее не углублятся
>и воспользоваться готовым продуктом https://www.opennet.ru/opennews/art.shtml?num=12931

Ню-ню...


>Да простят меня поклонники командной строки :)

Да нам то что, вам работать. :)

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

10. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от andryu email(ok) on 07-Апр-08, 19:38 
>[оверквотинг удален]
>
>>Так как мы пока тестируем это дело, то решили далее не углублятся
>>и воспользоваться готовым продуктом https://www.opennet.ru/opennews/art.shtml?num=12931
>
> Ню-ню...
>
>
>>Да простят меня поклонники командной строки :)
>
> Да нам то что, вам работать. :)

порты не перенаправляются никак, инфы и примеров нигде не найти(только то что вы написали)
да, ещё паралельно пытался ipsec запустить... то-же самое с ним на 7 бсд что и с натом :) может надо было всётаки на 6.3 настраивать... или руки не от туда растут или в freebsd 7 многое переделали  

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

2. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от Leo (??) on 04-Апр-08, 19:16 
>Имеется ПС с двумя сетевухами, fxp0 ( внешняя) и rl0(внутренняя)

Почему-то из года в год люди наружу (для видимости?) ставят хорошие карточки, а внутрь (для своих) - дерьмо... Хотя как раз изнутри трафика и пр. менеджмента обычно больше, а ширина канала в инет хорошо если исчисляется мегабитами.

>Настроил нат по статье https://www.opennet.ru/tips/info/1618.shtml. Из локалки можно

Есть ли смысл в продакшн ставить 7.0?

>это не главная задача. Надо переправить некоторые порты с fxp0 на
>сервера размещённые в локалке. Если бы нат сделал через natd ,
>то нужно было бы использовать redirect_port(как везде пишут). А как быть
>в случае использования kernel nat ? Подозреваю что в этом случае
>надо в ipfw правила прописывать devert или fwd. Не подскажите как
>быть? В нете не нашёл описания для ната, который через ядро
>работает..

Уже давно в портированном pf есть "kernel nat", работает прекрасно на 6-ке, прочесть доку про правила nat и rdr - 10-20 минут
inet_if="rl0"
lan_if="fxp0"
nat on $inet_if from {$lan_if:network} to any -> ($inet_if)
rdr on $inet_if proto tcp from any to ($inet_if) port 80 -> wwwserver port 80
Вот и весь конфиг для начала (только сетевые шнуры таки переставь)

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

4. "Вопрос по настройке ipfw2,kernel nat"  
Сообщение от andryu email(ok) on 04-Апр-08, 19:25 
>Почему-то из года в год люди наружу (для видимости?) ставят хорошие карточки,
>а внутрь (для своих) - дерьмо... Хотя как раз изнутри трафика
>и пр. менеджмента обычно больше, а ширина канала в инет хорошо
>если исчисляется мегабитами.

Просто fxp0 встроенная, а реалтек счас поменяем гигабитную реалтек :) позже купим нормальную сетевую.

>Есть ли смысл в продакшн ставить 7.0?

Решили потестировать новую версию, офис перебирается на новое место и там пока никого нет тестируем.

>Уже давно в портированном pf есть "kernel nat", работает прекрасно на 6-ке,
>прочесть доку про правила nat и rdr - 10-20 минут
>inet_if="rl0"
>lan_if="fxp0"
>nat on $inet_if from {$lan_if:network} to any -> ($inet_if)
>rdr on $inet_if proto tcp from any to ($inet_if) port 80 -> wwwserver port 80
>Вот и весь конфиг для начала (только сетевые шнуры таки переставь)

ipfw использовал так как только им и пользовался раньше. Возможно надо расширять кругозор :)

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

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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