ipfw+mpd

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

ipfw+mpd

Непрочитанное сообщение CTOPMbI4 » 2008-06-29 1:00:21

Собственно сабж.
Нужно пропустит gre на порт 1723 через вирт. интерфейс ng0 в фаере ipfw

rl0 - локалка до провайдера
ng0 - Вирт. интерфейс который поднимается через mpd. ИП выдается динамический с пула провайдера.

Вот набрасал конфиг, но не канает)
Может кто уже мутил с этим делом, как реализовать сие сабж?

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

cat /etc/test2.firewall
FwCMD="/sbin/ipfw"

LanOut="rl0"
LanVPN="ng0"

LanIn="nfe0"
IpIn="192.168.1.1"
NetIn="192.168.1.0/24"

#Разрешаем трафик внутри сети
${FwCMD} add allow ip from any to ${NetIn} in via ${LanIn}
${FwCMD} add allow ip from ${NetIn} to any out via ${LanIn}

${FwCMD} add allow ip from any to ${LanVPN} in via ${LanOut}
${FwCMD} add allow ip from ${LanVPN} in via ${LanOut}


#разрешаем по уже установленным соединениям
${FwCMD} add allow tcp from any to any established

#разрешаем доступ по ssh
${FwCMD} add allow tcp from any to ${IpIn} 22 via ${LanIn}
${FwCMD} add allow icmp from ${IpIn} to any frag
#${FwCMD} add deny icmp from any to ${IpIn} frag

#${FwCMD} add allow gre from any to any 1723 via ${LanVPN} 
Последний раз редактировалось CTOPMbI4 2008-06-29 1:05:01, всего редактировалось 1 раз.
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: ipfw+mpd

Непрочитанное сообщение paradox » 2008-06-29 1:03:57

1723 это tcp
а gre это уже типа тунеля
поэтому пропускаешь tcp 1723
а gre allow from any to any

Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

Re: ipfw+mpd

Непрочитанное сообщение CTOPMbI4 » 2008-06-29 1:11:01

Добавил. Та же тема.

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

${FwCMD} add allow tcp from any to 1723 any
${FwCMD} add allow gre from any to any
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

Re: ipfw+mpd

Непрочитанное сообщение CTOPMbI4 » 2008-06-29 1:36:24

собственно дописал

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

${FwCMD} add allow tcp from any to 10.8.0.1 1723
${FwCMD} add allow gre from any to 10.8.0.1
${FwCMD} add allow gre from 10.8.0.1 to any
ВПН поднялся. но траффик не гуляет.
Вопрос как прописать чтобы траффик гулял через вирт. интерфейс ng0 если он на момент запуска фаера еще не поднялся?
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw+mpd

Непрочитанное сообщение dikens3 » 2008-06-29 8:13:53

${FwCMD} add allow tcp from any to me 1723 keep-state
me - это все IP сервера.
${FwCMD} add allow gre from any to any
Ну нужно интерфейсов и т.п. пока не работает ничего.
Вопрос как прописать чтобы траффик гулял через вирт. интерфейс ng0 если он на момент запуска фаера еще не поднялся?
${FwCMD} add allow gre from any to any via "ng*"
ng* разрешить траф через ng0, ng1 и т.д.

Ещё можно добавлять правила в фаер при подъёме туннеля ng0, ng1 и т.п. с помощью скрипта up-script или что-то в этом духе.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

paradox_
проходил мимо

Re: ipfw+mpd

Непрочитанное сообщение paradox_ » 2008-06-29 10:18:12

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

${FwCMD} add allow tcp from any to 1723 any
${FwCMD} add allow gre from any to any
а где разрешение траффика в тунелях?

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

pass all from any to пулл_тунеля
pass all from пулл_тунеля to any

paradox_
проходил мимо

Re: ipfw+mpd

Непрочитанное сообщение paradox_ » 2008-06-29 10:21:31

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

${FwCMD} add allow tcp from any to 1723 any
расшифруйте мне это правило

прохожий
рядовой
Сообщения: 25
Зарегистрирован: 2008-07-01 20:55:29

Re: ipfw+mpd

Непрочитанное сообщение прохожий » 2008-07-01 21:16:30

CTOPMbI4 писал(а):собственно дописал

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

${FwCMD} add allow tcp from any to 10.8.0.1 1723
${FwCMD} add allow gre from any to 10.8.0.1
${FwCMD} add allow gre from 10.8.0.1 to any
ВПН поднялся. но траффик не гуляет.
Вопрос как прописать чтобы траффик гулял через вирт. интерфейс ng0 если он на момент запуска фаера еще не поднялся?
В "поднимающий" mpd4 скрипт up-script.sh в последней строчке добавь правило для ipfw что-то типа:
ipfw add 170 allow log all from any to any out via ng0

в "сбрасывающем" скрипте эту строчку удалишь:
ipfw delete 170

Там же (up-script.sh) можно и правила для nat'a добавить, например:
ipfw add 100 divert 8667 log ip from any to any via ng0
/sbin/natd -dynamic -s -m -u -p 8667 -P /var/run/natd2.pid -n ng0

Rita
сержант
Сообщения: 157
Зарегистрирован: 2007-12-01 23:41:45

Re: ipfw+mpd

Непрочитанное сообщение Rita » 2008-07-04 0:23:55

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

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

#!/bin/sh
fw="/sbin/ipfw"
${fw} -f flush

${fw} table 1 flush
${fw} table 1 add 10.1.0.0/24
${fw} table 1 add 192.168.1.0/24
...

${fw} add allow all from 127.0.0.1/8 to me via lo0
${fw} add allow all from 192.168.0.5 to me 22 via vlan10

${fw} add allow gre from "table(1)" to me
${fw} add allow tcp from "table(1)" to me 1723

${fw} add deny all from any to me
${fw} add allow all from any to "table(1)"
${fw} add allow ip from 172.16.64.10:255.255.255.255 to any
Соответственоо шлюз прозрачен со всех сторон, а управление только для определенного айпи. А вообще, конечно законченый конфиг в разы больше.

прохожий
рядовой
Сообщения: 25
Зарегистрирован: 2008-07-01 20:55:29

Re: ipfw+mpd

Непрочитанное сообщение прохожий » 2008-07-04 9:36:17

Rita писал(а):Считаю слушанием мпд всех интерфейсов необязательным. Да и в конфиге мпд можно указать нужный айпи с которого будут подключаться.
Самый минимальный конфиг для файервола фрибсд 6.3:

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

#!/bin/sh
fw="/sbin/ipfw"
${fw} -f flush

${fw} table 1 flush
${fw} table 1 add 10.1.0.0/24
${fw} table 1 add 192.168.1.0/24
...

${fw} add allow all from 127.0.0.1/8 to me via lo0
${fw} add allow all from 192.168.0.5 to me 22 via vlan10

${fw} add allow gre from "table(1)" to me
${fw} add allow tcp from "table(1)" to me 1723

${fw} add deny all from any to me
${fw} add allow all from any to "table(1)"
${fw} add allow ip from 172.16.64.10:255.255.255.255 to any
Соответственоо шлюз прозрачен со всех сторон, а управление только для определенного айпи. А вообще, конечно законченый конфиг в разы больше.
Сырой набор правил:
для каких интерфейсов правила ipfw?
где туннель?

Rita
сержант
Сообщения: 157
Зарегистрирован: 2007-12-01 23:41:45

Re: ipfw+mpd

Непрочитанное сообщение Rita » 2008-07-04 10:29:13

1. Я же написала что это минимальный.
2. Интерфейсы можете подставлять любые, ну в частности те что используете.
Чтобы не было пустых вопросов:
${fw} table 1 flush
${fw} table 1 add 10.1.0.0/24
${fw} table 1 add 192.168.1.0/24
здесь добавляем в таблицу нужные сегменты
${fw} add allow all from 127.0.0.1/8 to me via lo0
разрешаем внутренний трафик
${fw} add allow tcp from 192.168.0.5 to me 22 via vlan10
разрешаем доступ для определенного адреса, на определенный порт/протокол, через определенный интерфейс.
${fw} add allow gre from "table(1)" to me
${fw} add allow tcp from "table(1)" to me 1723
разрешаем подключение на порт для впн и разрешаем туннель
${fw} add deny all from any to me
запрещаем доступ на маршрутизатор, точнее он становится невидимым для интернета
и всех кто не прописан в правилах, но трафик из инета в локалку свободно ходит
${fw} add allow all from any to "table(1)"
Разрешаем интернет трафик на локальные адреса
${fw} add allow ip from 172.16.64.10:255.255.255.255 to any
разрешаем с конкретных локальных адресов трафик в интернет, под конкретными здесь выступают адреса из пула впн сервера.
можно здесь прописать иначе:
${fw} add allow all from "table(1)" to any
т.е. кому как нравится

Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

Re: ipfw+mpd

Непрочитанное сообщение CTOPMbI4 » 2008-07-05 8:50:26

Доберусь до сервера
буду тестить :roll:
Может интересные статейки набрасаете :good:
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

Re: ipfw+mpd

Непрочитанное сообщение CTOPMbI4 » 2008-07-11 21:30:37

чет я не вкуриваю :st:
что это
${fw} table 1 flush
${fw} table 1 add 10.1.0.0/24
${fw} table 1 add 192.168.1.0/24
и это
${fw} add allow ip from 172.16.64.10:255.255.255.255 to any

обьясните :unknown:
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

paradox_
проходил мимо

Re: ipfw+mpd

Непрочитанное сообщение paradox_ » 2008-07-11 21:37:04

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

таблицы

${fw} table 1 flush
${fw} table 1 add 10.1.0.0/24
${fw} table 1 add 192.168.1.0/24

 
${fw} add allow ip from 172.16.64.10:255.255.255.255 to any

слишком заумно )))
проще

${fw} add allow ip from 172.16.64.10 to any

Rita
сержант
Сообщения: 157
Зарегистрирован: 2007-12-01 23:41:45

Re: ipfw+mpd

Непрочитанное сообщение Rita » 2008-07-11 23:00:18

CTOPMbI4 писал(а):чет я не вкуриваю :st:
Не то курите, курите маны и хэндбук они есть рулез. Так понятно? :oops:

Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

Re: ipfw+mpd

Непрочитанное сообщение CTOPMbI4 » 2008-08-05 10:15:27

ханбук рулит спору нет и маны)
я так понял в table прописать диапазон ипов выдаваемый сервером провайдера?
так он там приличный в стиле 81.30.0.0/24 , 89.0.0.0/24, 77.0.0.0/24, 172.0.0.0/24
кроме того часто меняется.
а сам тэбл это в стиле процедуры в программировании)
типо ставим он проверяет что есть в ней)
я правильно понял?)

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

В "поднимающий" mpd4 скрипт up-script.sh в последней строчке добавь правило для ipfw что-то типа:
ipfw add 170 allow log all from any to any out via ng0
не совсем понятно mpd же стартует после запуска ipfw
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: ipfw+mpd

Непрочитанное сообщение paradox » 2008-08-05 10:24:19

))
почитал по ipfw
теперь сходи почитай по mpd
и вопросы совсем отпадут

прохожий
рядовой
Сообщения: 25
Зарегистрирован: 2008-07-01 20:55:29

Re: ipfw+mpd

Непрочитанное сообщение прохожий » 2008-08-06 7:02:44

CTOPMbI4 писал(а):ханбук рулит спору нет и маны)
я так понял в table прописать диапазон ипов выдаваемый сервером провайдера?
...
я правильно понял?)

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

В "поднимающий" mpd4 скрипт up-script.sh в последней строчке добавь правило для ipfw что-то типа:
ipfw add 170 allow log all from any to any out via ng0
не совсем понятно mpd же стартует после запуска ipfw
"вкУрено" не тем местом:
iptable и ipfw это разные вещи, да и добавлять/удалять правила в ipfw можно "на лету" (без перезагрузки :) хоть рукам из консоли), НО

важный момент: надо добавить правила для ipfw на "ещё несуществующий" интерфейс, т.е. на ng0.
Правильно подмечено - первым стартует ipfw (ещё нет ng0), вторым пошёл mpd - инициализировался ng0 и добавляются для него правила скриптом .

Но можно и по-проще: в правилах имена интерфейсов не указывать (зачем тогда фаервол? :) )

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: ipfw+mpd

Непрочитанное сообщение schizoid » 2008-08-06 14:46:38

пусть мпд up-скриптом перечитает правила фаервола...
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
CTOPMbI4
прапорщик
Сообщения: 482
Зарегистрирован: 2008-05-02 20:20:47
Откуда: Made in Russia

Re: ipfw+mpd

Непрочитанное сообщение CTOPMbI4 » 2008-08-08 7:04:13

Все решил уже все поднимается траффик гуляет.
большая благодарность что пинаете :"":
Но пока что на тачке с фряхой. В локалку еще не совался :roll:
Но мне кажется все через одно место поднято :-D
Да еще проблема ping через имя идет (ping ya.ru) а если по айпишке то выдает что запрещен. :ROFL:
Вот еще вопрос как бы врубить логирование а то дампом не успеваю просмотреть :smile:
ipfw 10 count log а далее что можно прикрутить?
Я так понял должно сыпаться в /var/log/security
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!

прохожий
рядовой
Сообщения: 25
Зарегистрирован: 2008-07-01 20:55:29

Re: ipfw+mpd

Непрочитанное сообщение прохожий » 2008-08-08 7:47:00

Дежурный минимум чтоб посмотреть и настроить правила ipfw:
ipfw zero
ipfw -a list
ipfw .... log logamount 12345 ..... (только не перебери с размером лога или удали после настройки )
tail -n 333 /var/log/security | grep "ля-ля" | grep -v "фи-фи"
tail -f /var/log/security (выход Ctrl+c)
В манах по-больше опций будет :)