The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Прошу помощи с NAT + IPFW под FreeBSD"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от jkreet Искать по авторуВ закладки(ok) on 23-Мрт-05, 20:26  (MSK)
Прежде чем спросить, основательно порылся на opennet. Опыта достаточно не имею, выводов сделать не смог.

Необходимо вывести в инет локалку 10.40.0.0/24.
Сервер на FreeBSD 4.10
Наружу смотрит интерфейс rl1, внутрь - rl0.
rl1 - 212.x.x.x
rl0 - 10.40.0.1

***rc.firewall***
ipfw add 100 check-state
ipfw add 200 allow all from me to any keep-state
# после этих двух правил сервер шлет все пакеты куда нужно и не виден ни из одной сети

ipfw add 300 divert natd all from 10.40.0.0/24 to any via rl1

ipfw add 400 allow all from 10.40.0.0/24 to any
ipfw add 410 allow all from any to 10.40.0.0/24

В счетчиках вижу, что пакеты заворачиваются в nat, а обратных пакетов не получаю. Локалка интернет не видит.
В то же время сам сервер исправно ходит по сайтам и т.д.

Как сделать без правил check-state разобрался, но хотелось бы их сохранить, т.к. надежнее, на мой взгляд.
Вообще идея такая, чтобы сервер не был виден ни из одной сети.

Извиняюсь, за сбивчивое повествование
Надеюсь на помощь

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от denn emailИскать по авторуВ закладки(??) on 23-Мрт-05, 21:18  (MSK)
>Прежде чем спросить, основательно порылся на opennet. Опыта достаточно не имею, выводов
>сделать не смог.
>
>Необходимо вывести в инет локалку 10.40.0.0/24.
>Сервер на FreeBSD 4.10
>Наружу смотрит интерфейс rl1, внутрь - rl0.
>rl1 - 212.x.x.x
>rl0 - 10.40.0.1

rc.conf:
natd_enable="YES"
natd_interface="rl1"

ipfw:
ipfw add 300 divert natd all from any to any via rl1

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от jkreet Искать по авторуВ закладки(??) on 24-Мрт-05, 00:13  (MSK)
Виноват. Это конечно же есть:
rc.conf:
natd_enable="YES"
natd_interface="rl1"

Ядро сконфигурировано с поддержкой firewall
И from any to any тоже пробовал.
Видимо, проблема не в этом, а в настройках natd, т.к. вижу, что пакеты уходят, а входящие режутся последним правилом ipfw (которое deny all from any to any)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от the ex Искать по авторуВ закладки on 24-Мрт-05, 06:55  (MSK)
>Прежде чем спросить, основательно порылся на opennet. Опыта достаточно не имею, выводов
>сделать не смог.
>
>Необходимо вывести в инет локалку 10.40.0.0/24.
>Сервер на FreeBSD 4.10
>Наружу смотрит интерфейс rl1, внутрь - rl0.
>rl1 - 212.x.x.x
>rl0 - 10.40.0.1
>
>***rc.firewall***
>ipfw add 100 check-state
>ipfw add 200 allow all from me to any keep-state
># после этих двух правил сервер шлет все пакеты куда нужно и
>не виден ни из одной сети
>
>ipfw add 300 divert natd all from 10.40.0.0/24 to any via rl1
>
>
>ipfw add 400 allow all from 10.40.0.0/24 to any
>ipfw add 410 allow all from any to 10.40.0.0/24
>
>В счетчиках вижу, что пакеты заворачиваются в nat, а обратных пакетов не
>получаю. Локалка интернет не видит.
>В то же время сам сервер исправно ходит по сайтам и т.д.
>
>
>Как сделать без правил check-state разобрался, но хотелось бы их сохранить, т.к.
>надежнее, на мой взгляд.
>Вообще идея такая, чтобы сервер не был виден ни из одной сети.
>
>
>Извиняюсь, за сбивчивое повествование
>Надеюсь на помощь

ipfw add 250 allow all from any to any via rl0

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от Dorlas Искать по авторуВ закладки(??) on 24-Мрт-05, 07:40  (MSK)
1. Ядро необходимо собирать внеся как минимум 2 строчки:
IPFIREWALL
IPDIVERT

2. Конфигурационный файл rc.conf:
natd_program="/sbin/natd"
natd_enable="YES"
natd_interface="rl1" - внешний
natd_flags="-f /etc/natd.conf"

3. Создаешь в каталоге /etc файл natd.conf.
Минимум, что необходимо прописать для работы:
same_ports yes
use_sockets yes

4. Правила firewall-а:
4.1 После всех изменений правило:
/sbin/ipfw add divert natd all from any to any via rl1 - работать конечно будет, но при таком правиле считай, что у тебя кривой NAT-так как он пропускает divert в обе стороны - сам проверял - можно прописать маршрут и видеть локалку.

Намного безопаснее такой вариант (вместо одного 2 правила):
/sbin/ipfw add divert natd all from 10.40.0.0:255.255.255.0 to any out recv rl0 xmit rl1
/sbin/ipfw add divert natd all from not 10.40.0.0:255.255.255.0 to 197.x.x.x in recv rl1
где 197.x.x.x - внешний ip-адрес.

В форуме это описывалось много раз :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от jkreet Искать по авторуВ закладки(??) on 24-Мрт-05, 08:17  (MSK)
Спасибо, попробую.
Вот эти два правила пробовал, но с ними тоже не работало вроде.

Я так понимаю:
первое правило все пакеты из локалки заворачивает в nat.
второе все входящие снаружи пакеты заворачивает на внешний интерфейс.

А как же он поступит с ответными пакетами? Тоже на внешний?
Или как раз для этого и нужен natd.conf с параметрами
same_ports yes
use_sockets yes
Что эти параметры означают?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от denn emailИскать по авторуВ закладки(??) on 24-Мрт-05, 11:27  (MSK)
>Спасибо, попробую.
>Вот эти два правила пробовал, но с ними тоже не работало вроде.
покажи полный вывод ipfw -a l
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от jkreet Искать по авторуВ закладки(??) on 24-Мрт-05, 12:47  (MSK)
полный вывод ipfw show:

00100 check-state
00200 allow ip from any to any via lo0
00260 allow ip from me to any keep-state
00300 allow tcp from 10.40.0.0/24 to me 22,1723 via xl0
00310 allow tcp from 10.0.0.0/8 to me 135-139 via xl0
00500 divert 8668 ip from 10.40.0.0/24 to any out recv xl0 xmit xl1
00600 divert 8668 ip from not 10.40.0.0/24 to 212.16.16.231 in recv xl1
00700 allow ip from 10.40.0.0/24 to any
00700 allow ip from any to 10.40.0.0/24
65535 deny ip from any to any

повторюсь, с сервера все прекрасно работает, локалка инет не видит.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от Moralez emailИскать по авторуВ закладки(??) on 24-Мрт-05, 12:55  (MSK)
keep-state мешает... я с таким же сталкивался и просто таки разочаровался в сей конструкции :(
  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от jkreet Искать по авторуВ закладки(??) on 24-Мрт-05, 14:35  (MSK)
Я тоже так и понял.
Но может есть способ это победить?
Уж очень хороший firewall получается. Снаружи вообще ничем не виден.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от fa emailИскать по авторуВ закладки(??) on 24-Мрт-05, 13:05  (MSK)
А где правло, которое дивертит входящий трафик в нат?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от jkreet Искать по авторуВ закладки(??) on 24-Мрт-05, 14:36  (MSK)
может подскажешь пример такого правила?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от fa emailИскать по авторуВ закладки(??) on 24-Мрт-05, 17:31  (MSK)
>может подскажешь пример такого правила?

Вам ведь уже Dorlas писал:
/sbin/ipfw add divert natd all from not 10.40.0.0:255.255.255.0 to 212.x.x.x in recv rl1

Поставьте его под номером 50, например.  

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от jkreet Искать по авторуВ закладки(??) on 24-Мрт-05, 18:15  (MSK)
уже стоит под номером 600
Вы думаете, если поставить выше - заработает?
Попробую.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от jkreet Искать по авторуВ закладки(??) on 24-Мрт-05, 18:26  (MSK)
Попробовал. Не помогает.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от else emailИскать по авторуВ закладки(ok) on 25-Мрт-05, 12:45  (MSK)
>Попробовал. Не помогает.
Как вариант:
Включить в ядро options IPFILTER
Входящие пакеты завернуть
ipfw add divert 8668 ip from any to ${external_ip} in recv rl1

для исходящих пакетов
/etc/ipnat.conf
map rl1 from 10.40.0.0/24 ! to 10.40.0.0/24 -> 212.x.x.x/32

  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от jkreet Искать по авторуВ закладки(??) on 25-Мрт-05, 15:25  (MSK)
Спасибо, попробую
  Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от Lucky emailИскать по авторуВ закладки(??) on 25-Мрт-05, 15:58  (MSK)
>Спасибо, попробую


http://lucky.ymrc.ru/manas/mana.1.html

  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "Прошу помощи с NAT + IPFW под FreeBSD"
Сообщение от vlad11 emailИскать по авторуВ закладки(??) on 28-Мрт-05, 01:52  (MSK)
>уже стоит под номером 600
>Вы думаете, если поставить выше - заработает?
>Попробую.

допиши интерфейсы, на которых правила должны работать, типа (via vr0)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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