Помогите написать конфиг IPFW

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Николай.
проходил мимо

Помогите написать конфиг IPFW

Непрочитанное сообщение Николай. » 2011-11-28 21:19:51

ДД господа. Я поставил перед собой задачу установить и настроить Freebsd server с функциями NAT, IPFW, DHCP.
Имеем машину:
Процессор 1,8 Ггц
Память 2гб DDR III
Жесткий SATA2 80 ГБ
Сетевые интерфейсы:

STE0 - смотрит в сторону провайдера. Ip присваивается по DHCP.

STE1 - смотрит в сеть и раздает IP адреса клиентам. имеет адрес 192.168.1.254.

DNS сервера я бы хотел получать снаружи...тоесть от провайдера.

На данный момент у меня установлена:

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

FreeBSD# uname -a
FreeBSD FreeBSD 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
Стоит задача: Пробросить интернет внутрь сети и раздавать его людям при этом выделить пользователям по 4 Mb/S скорости... (в будущем возможно больше) Так же в сети есть ряд пк которым ограничение скорости не нужно. Еще в сети есть станция на WinXP на которой крутится сервер CSS. Я планирую При помощи RINETD сделать проброс портов из интернета в локалку на эту станцию, чтобы пользователи могли удаленно заходить и играться с друзьями в сети.

Есть ряд вопросов:
1 С какими параметрами мне необходимо пере собрать ядро? (В примере с сайта ясно указаны параметры для ветки 4 поколения систем.... Работоспособны ли они на 8 поколении?)
2 Каким образом мне составить конфиг фаервола? Я читал что можно присвоить некоторым значениям переменные, что есть возможность использовать таблицы. как это сделать правильнее?
Мне очень хотелось бы получить практические советы. расширять функционал сервера я не планирую. Кто поможет?

Хостинговая компания 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/

snorlov
подполковник
Сообщения: 3844
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение snorlov » 2011-11-28 23:09:02

Николай. писал(а): Есть ряд вопросов:
1 С какими параметрами мне необходимо пере собрать ядро? (В примере с сайта ясно указаны параметры для ветки 4 поколения систем.... Работоспособны ли они на 8 поколении?)
2 Каким образом мне составить конфиг фаервола? Я читал что можно присвоить некоторым значениям переменные, что есть возможность использовать таблицы. как это сделать правильнее?
Мне очень хотелось бы получить практические советы. расширять функционал сервера я не планирую. Кто поможет?
Ядро пересобирать не надо, просто подгрузите необходимые модули, файер для зашиты вам наверное тоже не надо, используйте его только в качестве прозрачного ната, начните со стандартного скрипта с выбором OPEN, прокидывать порты тоже можно файером, а вообще-то читайте доки, они рулез...

Николай
проходил мимо

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение Николай » 2011-11-28 23:18:29

Фаервол хочу включить именно в ядро...Для этого его придется пере собрать. Почему? Потому что так правильнее. С точки зрения защиты: возможно потребуется ряд правил....тот же антиспуфинг...
Так что я считаю что правильнее все таки включить IPFW в ядро.

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

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение mak_v_ » 2011-11-29 0:50:57

Правильно, комрад, включайте и делайте правильно
FreeBSD FreeBSD 8.2-RELEASE FreeBSD 8.2-RELEASE #0
а ну ка обновите до #p4! не кошерно иметь #0 на правильных серверах!
на 8 поколении
На этом поколении работоспособно всьо. В том числе маны и хелпы. Главное понимать, ЧТО же должно быть работоспособным и как оно должно работоспособить в принципе.

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

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение mak_v_ » 2011-11-29 0:56:52

Каким образом мне составить конфиг фаервола? Я читал что можно присвоить некоторым значениям переменные, что есть возможность использовать таблицы. как это сделать правильнее?
Не поверите, можно даже со своими переменными окружения присваиваться. Конфиг какого из фаерволов вы желаете отконфижить. Наработки какие-то есть?
Пробросить интернет внутрь сети и раздавать его людям при этом выделить пользователям
Вот не надо им бросаться, не надо. Раздать можете просто и пошейпить.

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

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение mak_v_ » 2011-11-29 1:00:46

И хватит планировать и ставить себе задачи:
Грабли в руки и гребём, если есть какие-то конкретные вопросы-проблемы, то велкам,...а так вы только занимаетесь попрошайством сценария выполнения поставленной вами же задачи"

snorlov
подполковник
Сообщения: 3844
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение snorlov » 2011-11-29 12:10:54

Николай писал(а):Фаервол хочу включить именно в ядро...Для этого его придется пере собрать. Почему? Потому что так правильнее. С точки зрения защиты: возможно потребуется ряд правил....тот же антиспуфинг...
Так что я считаю что правильнее все таки включить IPFW в ядро.
У вас версия 8.2, ядро там не монолитное, а модульное, если будете собирать свое, то отличие будет только в том, что ipfw будет автоматически грузиться, потом при обновлении гемора сможете поиметь, квалификаиции судя по вопросам еще нет, а на тему правил, для начала смотрите скрипт по умолчанию /etc/rc.firewall, там ведь кроме конфигурации OPEN есть и другие конфигурации...

Николай
проходил мимо

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение Николай » 2011-11-29 21:01:40

Ну раз к делу...
Я обновил древо портов, и сейчас планирую пере собирать ядро.
Планирую добавить в конфиг вот такой вот блок:

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

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         IPFIREWALL_DEFAULT_TO_ACCEPT  
options         IPFIREWALL_NAT
options         IPDIVERT
options         DUMMYNET
options         LIBALIAS
options         ROUTETABLES=2 # Вообще тблици штука интересная думаю потом с ними будет интересно поигратцо. А может и сейчас задействовать...
options         HZ="1000"


Если правильно понял то опция HZ = 1000 обязательна так?

Николай
проходил мимо

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение Николай » 2011-11-29 21:07:36

snorlov писал(а):
Николай писал(а):Фаервол хочу включить именно в ядро...Для этого его придется пере собрать. Почему? Потому что так правильнее. С точки зрения защиты: возможно потребуется ряд правил....тот же антиспуфинг...
Так что я считаю что правильнее все таки включить IPFW в ядро.
У вас версия 8.2, ядро там не монолитное, а модульное, если будете собирать свое, то отличие будет только в том, что ipfw будет автоматически грузиться, потом при обновлении гемора сможете поиметь, квалификаиции судя по вопросам еще нет, а на тему правил, для начала смотрите скрипт по умолчанию /etc/rc.firewall, там ведь кроме конфигурации OPEN есть и другие конфигурации...
Согласен, про опыт вы правильно сказали, поэтому и пишу в раздел для новичков. Я читал что ядро модульное и что проще конечно подгружать все что необходимо, я не спорю что это возможно лучше и удобнее в моем случае. Но как гласит народная мудрость "Научите правильно а как не правильно я сам разберусь." Да и как что не по мне это наворачивать модули на уже готовое ядро...Не хорошо это. Системе точно от этого проще не будет. Я кстати распечатал rc.firewall (Скинул себе на машину через FTP) сижу изучаю...спасибо...

Николай
проходил мимо

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение Николай » 2011-12-03 21:21:46

Таки братци, я добрался и пересобрал ядро. Поставил DHCP из портов. Теперь перехожу плавно к настройке IPFW...
Как и было описано выше:
Раздавать интернет и ограничить скорость на один ip по 4 мегабита на входящий трафик и по 6 на исходящий
ste1- Локальная сеть
ste0 - интернет
есть вот такой вариант:

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

#!/bin/sh

fwcmd="/sbin/ipfw -q -f "
${fwcmd} flush
${fwcmd} pipe flush
${fwcmd} queue flush
${fwcmd} table 1 flush

#####################################################

${fwcmd} add 100 allow ip from any to any via lo0
${fwcmd} add 101 deny ip from 127.0.0.0/8 to any
${fwcmd} add 102 deny ip from any to 127.0.0.0/8

${fwcmd} add 500 skipto 1000 ip from any to any via ste1
${fwcmd} add 501 skipto 2000 ip from any to any via ste0

${fwcmd} add 999 skipto 65534 ip from any to any

#####################################################

${fwcmd} add 1000 allow ip from me to any out

${fwcmd} add 1100 allow ip from any to me 22 in

# пользователи без ограничения скорости
${fwcmd} table 1 add 192.168.1.221
${fwcmd} table 1 add 192.168.1.222

# остальным - 2/2 М
${fwcmd} pipe 1 config bw 4Mbit/s mask src-ip 0xffffffff
${fwcmd} pipe 2 config bw 6Mbit/s mask dst-ip 0xffffffff

${fwcmd} add 1500 pipe 1 ip from not table\(1\) to any in
${fwcmd} add 1501 pipe 2 ip from any to not table\(1\) out

${fwcmd} add 1502 allow ip from table\(1\) to any in
${fwcmd} add 1503 allow ip from any to table\(1\) out

${fwcmd} add 1999 skipto 65534 ip from any to any

#####################################################

${fwcmd} nat 1 config log if alc0 reset same_ports deny_in redirect_port udp 192.168.1.221:27015 27015 redirect_port udp 192.168.1.221:27005

${fwcmd} add 2000 nat 1 ip from any to any

${fwcmd} add 2999 skipto 65534 ip from any to any

#####################################################

${fwcmd} add 65534 deny log ip from any to any

Как вам такой вариант?

Николай
проходил мимо

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение Николай » 2011-12-03 23:22:38

Попробовал, заодно исправил пару опечаток.
В итоге машина перестала пускать по SSH с внешнего интерфейса (ste0 ) что может быть не так?

snorlov
подполковник
Сообщения: 3844
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение snorlov » 2011-12-04 13:25:13

Сделайте

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

ipfw -a list 
может поймете

Николай
проходил мимо

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение Николай » 2011-12-04 17:38:15

Я конечно понимаю ребят что вы тут все специаалисты и не спорю с этим...Но рас раздел назван для "Начинающих" то может хоть поясните?

Попробовал добавить правила:

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

${fwcmd} add 1050 allow tcp from any to any ssh
${fwcmd} add 1100 allow tcp from any ssh to any
эффекта нет ....

snorlov
подполковник
Сообщения: 3844
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение snorlov » 2011-12-04 20:05:19

Николай писал(а):Я конечно понимаю ребят что вы тут все специаалисты и не спорю с этим...Но рас раздел назван для "Начинающих" то может хоть поясните?
"Начинающий", как я понимаю, сначала читает статьи на этом сайте в свете возникших затруднений и лишь затем лезет в форум...
Николай писал(а): Попробовал добавить правила:

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

${fwcmd} add 1050 allow tcp from any to any ssh
${fwcmd} add 1100 allow tcp from any ssh to any
эффекта нет ....
Вы уверены, что пакеты, предназначенные для ssh, достигают ваших правил

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

#####################################################
${fwcmd} add 1000 allow ip from me to any out
${fwcmd} add 1100 allow ip from any to me 22 in

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

ipfw -a list
покажет вам действующие правила, по номерам и количество пакетов, которые попадают на эти правила в файере...

Николай
проходил мимо

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение Николай » 2011-12-04 21:07:40

Спасибо, я понял свою ошибку. Я как то больше смотрел на правильность составленых правил нежели на их порядок. Так что могу сослаться только на мудрость:
"Не ошибается тот кто ни*ера не делает..."
Иду дальше искать грабли)

кость
проходил мимо

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение кость » 2011-12-05 12:31:23

mak_v_ писал(а):Правильно, комрад, включайте и делайте правильно
FreeBSD FreeBSD 8.2-RELEASE FreeBSD 8.2-RELEASE #0
а ну ка обновите до #p4! не кошерно иметь #0 на правильных серверах!
на 8 поколении
На этом поколении работоспособно всьо. В том числе маны и хелпы. Главное понимать, ЧТО же должно быть работоспособным и как оно должно работоспособить в принципе.

~ >uname -a
FreeBSD route.host 8.2-RELEASE-p4 FreeBSD 8.2-RELEASE-p4 #0: Sun Nov 20 00:05:05 MSK 2011 keha@route.host:/usr/obj/usr/src/sys/ROUTE amd64
А вчём у меня косяк, не понял?

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

Re: Помогите написать конфиг IPFW

Непрочитанное сообщение mak_v_ » 2011-12-05 13:44:08

8.2-RELEASE-p4
у тебя кошерно