Страница 1 из 1

IPFW минимум правил

Добавлено: 2006-05-06 8:00:58
3t0n
Собран тестовый srv для шлюза организации FBSD5.4, обновленны порты, перестроенна система, перекомпилино ядро с опциями для работы файера, по дефолту deny any to any
соответственно не могу ставить из портов сквиды итд (хочу всё поставить для начала а потом настраивать). Нужно минимум правил которые бы позволяли серверу смотреть в инет, чтобы только в локалку был открыт 22 порт на мой ип к примеру 192.168.1.100/24,

Далее столкнулся с проблемами:

1. Настраивал /etc/rc.firewall перезапускал машину, ipfw его не читает, прописал путь в rc.conf к нему, перегружаем такая же байда, ipfw -list кажет только дени на всё и всё,
запускаю ручками его sh rc.firewall, ipfw -list вижу свои правила, там есть файл rc.firewall6 его тоже менял не хочит он при загрузки автоматом их видеть, где грабли?

2. делал как у Лисяры в доках, поймал грабли в этом месте

Код: Выделить всё

FwCMD="/sbin/ipfw" # собственно где лежит бинарник ipfw
LanOut="xl0"            # внешний интерфейс
LanIn="sis0"            # внутренний интерфейс
IpOut="222.222.222.222" # внешний IP адрес машины
IpIn="192.168.20.254"   # внутренний IP машины
NetMask="24"            # маска сети (если она разная для внешней 
                        # и внутренней сети - придётся вводить ещё 
                        # одну переменную, но самое забавное, что 
                        # можно и забить - оставить 24 - всё будет 
                        # работать, по крайней мере я пробовал - 
                        # работаало на 4-х машинах, в разных сетях, 
                        # с разными масками - настоящими разными! но - 
                        # это неправильно.)
NetIn="192.168.20.0"    # Внутренняя сеть

пишу в правиле переменную IpIn а он вроде её видет но как будто игнорирует
оказалсь нужно при описании переменной добавить маску, т.е. IpIn="192.168.20.254/24"
незнаю как у вас, но у меня без маски не работает, так же и для всей сети NetIn="192.168.20.0/24"

и ещё одного не пойму для чего писать два правила к примеру для доступа локального траффика 2 раза? т.е для out и in, достаточно опустить в одном правиле out к примеру и будет одним правилом и out и in

дальше ещё не понимаю, для чего мне чтобы открыть порт в локаль нужно ещё и траффик разрешать весь? пишу я только одно к примеру прваило 22 порт на меня а остальное и нафиг не нужно, не хочу я весь трафик пропускать на локалку, только определённые порты, вроде всё просто с одной стороны, но с другой сплошные грабли.
Подскажите где и что!

Re: IPFW минимум правил

Добавлено: 2006-05-06 8:10:18
Alex Keda
3t0n писал(а): 1. Настраивал /etc/rc.firewall перезапускал машину, ipfw его не читает, прописал путь в rc.conf к нему, перегружаем такая же байда, ipfw -list кажет только дени на всё и всё,
запускаю ручками его sh rc.firewall, ipfw -list вижу свои правила, там есть файл rc.firewall6 его тоже менял не хочит он при загрузки автоматом их видеть, где грабли?
если не читает - надо смотреть /etc/rc.conf - там он как прописан? я давал для 4.11 в статье, говорят в 5.x было по другому (потому как в шохе у меня точно также оказалось)
3t0n писал(а): 2. делал как у Лисяры в доках, поймал грабли в этом месте

Код: Выделить всё

FwCMD="/sbin/ipfw" # собственно где лежит бинарник ipfw
LanOut="xl0"            # внешний интерфейс
LanIn="sis0"            # внутренний интерфейс
IpOut="222.222.222.222" # внешний IP адрес машины
IpIn="192.168.20.254"   # внутренний IP машины
NetMask="24"            # маска сети (если она разная для внешней 
                        # и внутренней сети - придётся вводить ещё 
                        # одну переменную, но самое забавное, что 
                        # можно и забить - оставить 24 - всё будет 
                        # работать, по крайней мере я пробовал - 
                        # работаало на 4-х машинах, в разных сетях, 
                        # с разными масками - настоящими разными! но - 
                        # это неправильно.)
NetIn="192.168.20.0"    # Внутренняя сеть
пишу в правиле переменную IpIn а он вроде её видет но как будто игнорирует
оказалсь нужно при описании переменной добавить маску, т.е. IpIn="192.168.20.254/24"
незнаю как у вас, но у меня без маски не работает, так же и для всей сети NetIn="192.168.20.0/24"
Для всей сети маска нужна, а вот это - IpIn="192.168.20.254/24" - перебор... цифра 24 - это маска сети. как ты себе представляешь такую маску для одного хоста? :) писал бы уж 32 тогда...
3t0n писал(а): и ещё одного не пойму для чего писать два правила к примеру для доступа локального траффика 2 раза? т.е для out и in, достаточно опустить в одном правиле out к примеру и будет одним правилом и out и in
а так при отладке удобней. видно куда пакеты прошли, а куда нет... плюс правила более жёсткие. на всякий случай...
3t0n писал(а): дальше ещё не понимаю, для чего мне чтобы открыть порт в локаль нужно ещё и траффик разрешать весь? пишу я только одно к примеру прваило 22 порт на меня а остальное и нафиг не нужно, не хочу я весь трафик пропускать на локалку, только определённые порты, вроде всё просто с одной стороны, но с другой сплошные грабли.
а про это непонял...

Добавлено: 2006-05-06 8:17:00
3t0n
про маску 24 именно так и заработало, без неё никак

всё писал по вчерашней памяти, сейчас нет возможности глянуть т.к стоит другой винт с исой и организ работает, прописывал вроде так файл с правилами firewall_type="/etc/rc.firewall" но помню была поравка с firewall_script="/etc/rc.firewall"
этот вариант не пробывал, хотелось бы увидеть минимум правил, ещё бы жедательно добавить чтобы только моя машина могла юзать инет временно, чтобы доки искать и читать по настройкам

Добавлено: 2006-05-06 9:44:18
Alex Keda
минимум?
дени внутренняя сеть на внешнем интерфейсе
диверт
аллов эстаблишед
аллов твой_ип фром ани ту аню.

Добавлено: 2006-05-06 10:25:24
3t0n
наверное из-за того что маску всей сети не указал это и были мои грабли, но прошу заметить в доке она не указанна, верней указанна в др. переменной, а мы эту переменную где объявляем сеть не указываем, по этому и не работало как я понял

сделал выводы глянув один из рабочих конфигов


if_inet="fxp0" # внешний сетевой интерфейс
ip_inet="aaa.aaa.aaa.aaa" # ip внешнего сетового интерфейса
net="bbb.bbb.b.b/24" # ваша подсетка

Добавлено: 2006-05-06 10:28:32
Alex Keda
блин... конфиги - оба - мои, рабочие ,с серверов. тока IP другие и всё....

Добавлено: 2006-05-06 10:36:47
northern
у lissyar'ы в доке всё указано правильно, скрипт рабочий. и

Код: Выделить всё

NetMask="24" 
он везде дальше и использует.

Добавлено: 2006-05-06 10:56:51
Alex Keda
northern писал(а):у lissyar'ы в доке всё указано правильно, скрипт рабочий. и

Код: Выделить всё

NetMask="24" 
он везде дальше и использует.
тут ещё та проблема что у ЛанОута обычно другая маска... правда проблемы на эту тему я имел один раз - когда надо было отослать письма в пределах одного прова, и маска 24 говорила что мы с тем майл-сервером в одной сети. а на самом-то деле в разных...
ну и не ходило. пришлось более плотно разбираться с масками, сетями и бродкастами :)))

Добавлено: 2006-05-06 11:31:22
northern
тут ещё та проблема что у ЛанОута обычно другая маска... правда проблемы на эту тему я имел один раз - когда надо было отослать письма в пределах одного прова, и маска 24 говорила что мы с тем майл-сервером в одной сети. а на самом-то деле в разных...
не понял. маска подсети определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла. как я понимаю. одна сеть - это , например, 192.168.11.1 и 192.168.11.2 при маске 255.255.255.0. При одной маске, но с разными сетями пакеты должны через шлюз ходить. А чё у тебя было?

Добавлено: 2006-05-06 11:35:23
Alex Keda
ну есть два диапазона IP
222.222.222.1-222.222.222.16 (маска 28, шлюз 222,222,222,2)
и
222.222.222.64-222.222.222.80 (маска 28 шлюз 222,222,222,65)
(всё с потолка ,для примеру...)
так вот если задать маску 24 то компы в этих подсетях будут думать что они в одной сети. и не через шлюз общаться а пытаться напрямую друг друга найти...
случай редкий, но возможный. потому маску надо правильно указывать.

Добавлено: 2006-05-06 11:44:10
northern
да, всё правильно, при маске 24 у тя адрес сети будет три первых октета - 222.222.222 - четвёртый октет адрес узла.

Re: IPFW минимум правил

Добавлено: 2006-11-16 11:28:37
ALTSoft
3t0n писал(а): Далее столкнулся с проблемами:

1. Настраивал /etc/rc.firewall перезапускал машину, ipfw его не читает, прописал путь в rc.conf к нему, перегружаем такая же байда, ipfw -list кажет только дени на всё и всё,
запускаю ручками его sh rc.firewall, ipfw -list вижу свои правила, там есть файл rc.firewall6 его тоже менял не хочит он при загрузки автоматом их видеть, где грабли?
Подскажите где и что!
Сам новичек и потратил на решение этого вопроса пол дня, перерыл пол инета...
А ларчик просто открывается :) неоднозначность перевода понимашь :)
в /etc/rc.conf :
firewall_enable="YES", обозначает не загрузку ipfw, а опцию запускать или нет скрипт настройки брандмауэра /etc/rc.firewall
потом показываешь где лежит скрипт
firewall_script="/etc/rc.firewall"
можно еще указать тип "заводских" правил, уже настроенных в /etc/rc.firewall
firewall_type= (OPEN| CLIENT| SIMPLE| CLOSED| UNKNOWN) или написать свою секцию...
Вуаля!
Спасиба http://www.nt.com.ua!