Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FreeBSD + ipfw rules

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9

Открыть новую тему     Написать ответ в эту тему

Pukite



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет, коллеги!
 
Имеем сервер с ип адресом a.b.c.сервер и компьютер-клиент с ип адресом a.b.c.клиент - необходимо, чтобы к 21-му порту мог подключаться только компьютер клиент.
 
ipfw add 400 reset tcp from any to a.b.c.сервер 21 in via rl0
ipfw add 410 allow tcp from a.b.c.клиент to a.b.c.сервер 21 in via rl0
 
К сожалению, не работает - что делаю не так?
 
 


 
ipfw - файервол FreeBSD
(постим полезную информацию)

Сравнение 3 Пакетных фильтров FreeBSD 5.3 (IPFW, PF, IPFILTER)
Настройка FireWall (ipfw) в FreeBSD
Пара готовых примеров
Подробный пример с коментами
http://www.bsdportal.ru/kb.php?mode=article&k=76 - Настройка ipfw для шлюза под управлением FreeBSD
http://www.asmodeus.com.ua/library/os/freebsd/ipfw.htm man ipfw на русском
 
 
Отдельно обсуждается:
FreeBSD + ipfw + port mapping
IPFW + Squid + перенаправление трафика
ipfw rules не сохраняются после reboot-a
PING - как корректно запретить (FreeBSD+ipfw)
FreeBSD 4.8 + DNS + ipfw + named.conf = режем  
трафик

FreeBSD + bridge + pppoe + ipfw

Всего записей: 1731 | Зарегистр. 21-09-2002 | Отправлено: 16:25 30-06-2003 | Исправлено: allein, 16:40 21-01-2009
Cacka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеется правило ограничения трафика:
 
add allow tcp from any to me 80 limit src-addr 10 -- ограничение максимального кол-ва коннектов на 80 порт с 1 IP.
pipe 1 config bw 8192Kbits queue 100 -- создание пайпа с ограничением ширины канала в 8Мбит.
pipe 2 config bw 0Kbits -- создание пайпа без ограничений.
...далее идут правила по подсетям - каким подсетям использовать 1й пайп, а каким - 2й.
 
Всё это используется для раздачи файлов различных размеров (от 10 кбайт до 1 гигабайта).
 
Подскажите пожалуйста, какое значение у queue будет оптимальным? Мануалы по ipfw читал, но не совсем понял, зачем оно нужно...

Всего записей: 115 | Зарегистр. 12-07-2005 | Отправлено: 00:11 04-02-2007
AlexeiUttinov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята большая просьба о помощи.  
 
Имеем FreeBsd 6.2 2 сетевухи, одна к провайдеру другая в локалку.
 
Задача сделать шлюз с нат, и выпускать через него пользователей локальной сети в инет + поставить фаервол, дабы из внешней сети не повадно было делать все что хочешь.  
 
Дописал в конфиге ядра  
 
options         DUMMYNET
 
options         TCP_DROP_SYNFIN
 
options         SC_DISABLE_REBOOT
 
options         IPFIREWALL
 
options         IPFIREWALL_VERBOSE
 
options         IPFIREWALL_VERBOSE_LIMIT=100
 
options         IPFIREWALL_FORWARD
 
options         IPDIVERT
 
options         BRIDGE
 
и скомпилил с новыми параметрами. Здесь все ок.
 
в rc.conf дописал:
 
firewall_enable="YES"
 
firewall_script="/etc/rc.firewall"
 
firewall_type="open"
 
firewall_quiet="YES"
 
firewall_logging="YES"
 
natd_enable="YES"
 
natd_interface="xl1"
 
natd_flags=""
 
tcp_drop_synfin="YES"
 
clear_tmp_enable="YES"
 
inetd_enable="NO"
 
если выбираю правило open, то инет работает у всех и все ок. У клиентов ip адреса раздаются по dhcp, также dhcp прописывает днс локального доменного сервака и шлюз к вряхе.
 
если выбираю правило simple в скрипте rc.firewall, то инет перестает работать.
 
[Ss][Ii][Mm][Pp][Ll][Ee])
      ############
      # This is a prototype setup for a simple firewall.  Configure this
      # machine as a DNS and NTP server, and point all the machines
      # on the inside at this machine for those services.
      ############
 
      # set these to your outside interface network and netmask and ip
      oif="xl1"
      onet="10.28.2.0"
      omask="255.255.255.0"
      oip="10.28.2.126"
 
      # set these to your inside interface network and netmask and ip
      iif="xl0"
      inet="192.168.10.0"
      imask="255.255.255.0"
      iip="192.168.10.250"
 
      setup_loopback
   
      # Stop spoofing
      ${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif}
      ${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif}
 
      # Stop RFC1918 nets on the outside interface
      #${fwcmd} add deny all from any to 10.0.0.0/8 via ${oif}
      ${fwcmd} add deny all from any to 172.16.0.0/12 via ${oif}
      ${fwcmd} add deny all from any to 192.168.0.0/16 via ${oif}
 
      # Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,
      # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)
      # on the outside interface
      ${fwcmd} add deny all from any to 0.0.0.0/8 via ${oif}
      ${fwcmd} add deny all from any to 169.254.0.0/16 via ${oif}
      ${fwcmd} add deny all from any to 192.0.2.0/24 via ${oif}
      ${fwcmd} add deny all from any to 224.0.0.0/4 via ${oif}
      ${fwcmd} add deny all from any to 240.0.0.0/4 via ${oif}
 
      # Network Address Translation.  This rule is placed here deliberately
      # so that it does not interfere with the surrounding address-checking
      # rules.  If for example one of your internal LAN machines had its IP
      # address set to 192.0.2.1 then an incoming packet for it after being
      # translated by natd(8) would match the `deny' rule above.  Similarly
      # an outgoing packet originated from it before being translated would
      # match the `deny' rule below.
      case ${natd_enable} in
      [Yy][Ee][Ss])
           if [ -n "${natd_interface}" ]; then
                 ${fwcmd} add divert natd all from any to any via ${natd_interface}
           fi
           ;;
      esac
 
      # Stop RFC1918 nets on the outside interface
      #${fwcmd} add deny all from 10.0.0.0/8 to any via ${oif}
      ${fwcmd} add deny all from 172.16.0.0/12 to any via ${oif}
      ${fwcmd} add deny all from 192.168.0.0/16 to any via ${oif}
 
      # Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,
      # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)
      # on the outside interface
      ${fwcmd} add deny all from 0.0.0.0/8 to any via ${oif}
      ${fwcmd} add deny all from 169.254.0.0/16 to any via ${oif}
      ${fwcmd} add deny all from 192.0.2.0/24 to any via ${oif}
      ${fwcmd} add deny all from 224.0.0.0/4 to any via ${oif}
      ${fwcmd} add deny all from 240.0.0.0/4 to any via ${oif}
 
      # Allow TCP through if setup succeeded
      ${fwcmd} add pass tcp from any to any established
 
      # Allow IP fragments to pass through
      ${fwcmd} add pass all from any to any frag
 
      # Allow setup of incoming email
      ${fwcmd} add pass tcp from any to ${oip} 25 setup
 
      # Allow setup of SSH
      ${fwcmd} add pass tcp from any to ${oip} 22 setup
      ${fwcmd} add pass tcp from any to ${iip} 22 setup
       
 
      # Allow access to our DNS
      ${fwcmd} add pass tcp from any to ${oip} 53 setup
      ${fwcmd} add pass udp from any to ${oip} 53
      ${fwcmd} add pass udp from ${oip} 53 to any
 
      # Allow access to our WWW
      ${fwcmd} add pass tcp from any to ${oip} 80 setup
      ${fwcmd} add pass tcp from any to ${iip} 80 setup
       
      # Reject&Log all setup of incoming connections from the outside
      ${fwcmd} add deny log tcp from any to any in via ${oif} setup
 
      # Allow setup of any other TCP connection
      ${fwcmd} add pass tcp from any to any setup
 
      # Allow DNS queries out in the world
      ${fwcmd} add pass udp from ${oip} to any 53 keep-state
 
      # Allow NTP queries out in the world
      ${fwcmd} add pass udp from ${oip} to any 123 keep-state
 
      ${fwcmd} add pass icmp from any to any icmptypes 0,8,11
       
      # Everything else is denied by default, unless the
      # IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel
      # config file.
      ;;
 
Что можно сделать? Только пожалуйста подробно. Что добавить, а что удалить в правилах. Заранее спасибо

Всего записей: 2 | Зарегистр. 08-12-2006 | Отправлено: 15:02 27-02-2007
hosterr



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У меня стоит FreeBSD 6.1-RELEASE в качестве роутера
Конфиг фаервола:
cmd="/sbin/ipfw"
lan_ip="192.168.100.10"              #-IP-шлюза
lan_if="192.168.100.0/24"            
our_lan="192.168.0.0/16"            
out_ip="66.66.66.66"                  #-внешний IP-адрес
out_if="rl0"                                #-внешний интерфейс.
 
#---------------------------------------------------------------------
$cmd add 15 fwd 127.0.0.1:3128 tcp from $our_lan to any 80   #форвард под прозрачный прокси
#---------------------------------------------------------------------
 
Нат подбрасываю отдельно, через rc.conf и natd.con
natd_program="/sbin/natd"       # path to natd, if you want a different one.
natd_enable="YES"               # Enable natd (if firewall_enable == YES).
natd_interface="rl0"            # Public interface or IPaddress to use.
natd_flags="-f /etc/natd.conf"  # Additional flags for natd.
 
Трафик я режу такими правилами:
# Config for 192.168.100.120 [XXX]
$cmd add 60107 pipe 60107 all from 192.168.100.120 to any 25,80,110,443 via $out_if
$cmd add 60107 pipe 60107 all from any 25,80,110,443 to 192.168.100.120 via $out_if
$cmd pipe 60107 config bw 32Kbit/s
 
Так вот у меня проблемка вылезла - трафик не режется на 80 порту, на всех остальных портах отлично...
В принципе можно и SQUIDом резать, через delay_pools, но хочеться разобраться почему...

Всего записей: 45 | Зарегистр. 21-02-2007 | Отправлено: 16:06 21-06-2007 | Исправлено: hosterr, 16:16 21-06-2007
savnick



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите, плиз!
Есть шлюз на FreeBSD 6.2 с двумя сетевухами. vr0 (192.168.1.1) смотрит в локалку, к rl0 (192.168.0.2) подключен ADSL модем (192.168.0.1) в режиме роутера (nat  - SUA only). на шлюзе крутится apache, squid, ftp. Возникла необходимость пускать некоторые компы по http в обход squid...  
 
в ipfw добавляю такое правило:
 
${fwcmd} add fwd 192.168.0.1 tcp from (ip из локалки) to any http  
 
до него разрешается DNS и локальный www, все работает
 
после него -  разрешение для шлюза посылать пакеты куда угодно и все..
 
пробую с локального ip зайти по http мимо прокси - не пускает...  
Что я еще не указал??

Всего записей: 5 | Зарегистр. 22-08-2006 | Отправлено: 16:39 24-09-2007
YuroN



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Возникла необходимость пускать некоторые компы по http в обход squid...


Цитата:
${fwcmd} add fwd 192.168.0.1 tcp from (ip из локалки) to any http  

в этой строке ты пересылаешь запросы 80-х портов на IP модема что врядли будет нормально работать..
как у тебя сделано непонятно - скорее всего у тебя 80 портом локального IP и стоит прокси
и у клиентов он указан в броузере.
 
вот рабочий конфиг форварда на прокси (прозрачный прокси):
Все что адресует <адрес клиента> на 80 порт то все форвардит на <адрес прокси> на порт 3128  
 

Код:
ipfw add 10 fwd <адрес прокси>,3128 tcp from <адрес клиента> to any 80

 
 

Цитата:
пробую с локального ip зайти по http мимо прокси - не пускает...
Что я еще не указал??

 
Пинги, ICQ... работают ?  гетвей указал какой у клиента? какая таблица маршрутизации на серваке?
конфиги в студию  
   

Всего записей: 114 | Зарегистр. 13-05-2003 | Отправлено: 18:03 24-09-2007 | Исправлено: YuroN, 18:03 24-09-2007
savnick



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Клиенты настроены следующим образом:
адрес по dhcp
в качестве шлюза - машина с freebsd
в инет все ходят через прокси на шлюзе (squid, авторизация из домена), ICQ через прокси тоже без проблем работает
 
вот rc.conf с шлюза (оставил тока то, что имеет отношение к сети)
defaultrouter="192.168.0.1"
hostname="bla.bla.local"
gateway_enable="YES"
 
# сетевуха, к которой подключен adsl модем(роутер)
ifconfig_rl0="inet 192.168.0.2  netmask 255.255.255.0"
# сетевуха, смотрящая в локалку  
ifconfig_vr0="inet 192.168.1.1  netmask 255.255.255.0"
 
linux_enable="YES"
sshd_enable="YES"
usbd_enable="YES"
 
dhcpd_enable="YES"
dhcpd_ifaces="vr0"
 
named_enable="YES"
 
winbindd_enable="YES"
winbindd_flags="-d 3"
 
squid_enable="YES"
 
apache_enable="YES"
 
vsftpd_enable="YES"
 
tcp_extension="NO"
tcp_drop_synfin="YES"
 
firewall_enable="YES"
firewall_type="bla"
 
 
а вот rc.firewall (только начал настраивать, так что еще на все что нужно разрешено)
 
    oif="rl0"
    onet="192.168.0.0"
    omask="255.255.255.0"
    oip="192.168.0.2"
 
    iif="vr0"
    inet="192.168.1.0"
    imask="255.255.255.0"
    iip="192.168.1.1"
 
    ${fwcmd} add pass all from any to any via lo0
 
    ${fwcmd} add deny icmp from any to any frag
 
    ${fwcmd} add pass icmp from any to any
 
    ${fwcmd} add pass udp from any to any 53
    ${fwcmd} add pass udp from any 53 to any
 
    ${fwcmd} add pass tcp from ${inet}:${imask} to ${iip} 80 via ${iif}
    ${fwcmd} add pass tcp from ${iip} 80 to ${inet}:${imask} via ${iif}
    ${fwcmd} add deny tcp from any to ${oip} 80 in via ${oif}
 
    ${fwcmd} add pass tcp from ${inet}:${imask} to ${iip} 22 via ${iif}
 
    ${fwcmd} add forward 192.168.0.1 tcp from 192.168.1.2 to any http
 
    ${fwcmd} add pass ip from me to any
 
пинги при таком конфиге ходят отовсюду на ура, dns резолвиться ... вот задачка - как мимо проксика пустить ICQ и веб трафик с некоторых компов... ну еще и smtp и pop3
 

Всего записей: 5 | Зарегистр. 22-08-2006 | Отправлено: 12:06 26-09-2007
Coffeinik

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не могли бы вы пояснить, почему без правила
 
# разрешаем весь исходящий траффик (серверу-то в инет можно? )
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
 
доступ по ftp отсутствует
 
 
${FwCMD} add allow tcp from any to ${IpOut} 21 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
 
# разрешаем весь исходящий траффик (серверу-то в инет можно? )
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
 
(взято из http://www.lissyara.su/?id=1127)

Всего записей: 25 | Зарегистр. 22-10-2004 | Отправлено: 01:17 01-10-2007
YuroN



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
savnick
Тебе нужно NAT включить
 
/etc/rc.conf
natd_program="/sbin/natd"
natd_enable="YES"
natd_interface="192.168.0.2"
natd_flags="-f /etc/natd.conf"
 
/etc/natd.conf
use_sockets yes
same_ports yes
unregistered_only yes
dynamic yes
 
скомпилить ядро с параметрами  
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         DUMMYNET
 
и уже тогда IPFW рулить натом  
# natd -f /etc/natd.conf -n <внешний интерфейс>
# ipfw add divert natd all from any to any via <внешний интерфейс>

Всего записей: 114 | Зарегистр. 13-05-2003 | Отправлено: 09:26 01-10-2007 | Исправлено: YuroN, 09:49 01-10-2007
savnick



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

YuroN

Цитата:
Тебе нужно NAT включить  

NAT работает на ADSL роутере ZyXEL P-660RU EE (192.168.0.1) ... вот до меня и не доходит как их состыковать .... может вырубить его на роутере и действительно рулить на шлюзе?? или модно какнить подружить??
 

Цитата:
скомпилить ядро с параметрами  
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         DUMMYNET  

 
все скомпилено за исключением   options IPFIREWALL_DEFAULT_TO_ACCEPT
 
NAT на роутере настроен по умолчанию...  
All ports      All ports      0.0.0.0
 

Всего записей: 5 | Зарегистр. 22-08-2006 | Отправлено: 11:00 01-10-2007
YuroN



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
вообщем так можно построить:
Клиент --- NAT маршрутизатор  --- NAT маршрутизатор --- internet
Клиент --- маршрутизатор  --- NAT маршрутизатор --- internet
 
тебе выбирать как строить и где рулить. зайди на сайт www.opennet.ru там много инфы на эту тему.
 
а по поводу твоих настроек IPFW могу только гадать:

Цитата:
${fwcmd} add pass all from any to any via lo0
 
    ${fwcmd} add deny icmp from any to any frag
 
    ${fwcmd} add pass icmp from any to any
 
    ${fwcmd} add pass udp from any to any 53
    ${fwcmd} add pass udp from any 53 to any
 
    ${fwcmd} add pass tcp from ${inet}:${imask} to ${iip} 80 via ${iif}
    ${fwcmd} add pass tcp from ${iip} 80 to ${inet}:${imask} via ${iif}
    ${fwcmd} add deny tcp from any to ${oip} 80 in via ${oif}
 
    ${fwcmd} add pass tcp from ${inet}:${imask} to ${iip} 22 via ${iif}
 
    ${fwcmd} add forward 192.168.0.1 tcp from 192.168.1.2 to any http
 
    ${fwcmd} add pass ip from me to any  

 
попробуй поиграться добавляя порты для POP3, SMTP, ICQ....
каждый порт - 4 правила где Xport тот порт кторый ты хочешь форвардить.
 
 
    ${fwcmd} add pass tcp from ${inet}:${imask} to ${iip} Xport  via ${iif}
    ${fwcmd} add pass tcp from ${iip} Xport  to ${inet}:${imask} via ${iif}
    ${fwcmd} add deny tcp from any to ${oip} Xport  in via ${oif}
    ${fwcmd} add forward 192.168.0.1 tcp from 192.168.1.2 to any Xport
 

Всего записей: 114 | Зарегистр. 13-05-2003 | Отправлено: 11:28 01-10-2007
klimusu



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
имеется nat на freebsd, стоит ipfw
2 сетевухи в бридже
net.link.ether.bridge.enable=1
net.link.ether.bridge.ipfw=1
net.link.ether.bridge.config=rl0,xl0
 
rl0 внутренний
xl0 внешний (на этом интерфейсе демон висит)
 
правила:
00001 allow all from any to any
01601 divert 8668 ip from 192.168.0.0/24 to any out xmit xl0
01602 divert 8668 ip from any to INETIP
 
сида по ssh на нате пингую все нужные мне адреса, а вот комп в сети 192.168.0.0/24 не пингует почему то.  
что может быть?

Всего записей: 931 | Зарегистр. 23-01-2006 | Отправлено: 17:23 28-02-2008 | Исправлено: klimusu, 14:36 29-02-2008
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
klimusu
allow после дивертов надо ставить, а не до. Иначе до ната дело не дойдёт.
 
savnick
Если шлюзом по-умолчанию назначен ADSL-роутер, умеющий делать NAT своими силами, то, по-идее, можно обойтись без ната на фре. Поскольку defaultrouter="192.168.0.1"  уже и так ADSL-роутер, то никакой форвард тут нафиг не нужен, нужно просто пропустить пакет и ответ на него. Как-то так:
 
${fwcmd} add allow tcp from 192.168.1.2 to any 80 out xmit ${oif} keep-state
Если нужны ещё и udp, придётся городить комплект из двух правил, на выход и на вход пакета.  
Если нужно будет много рулить, то лучше действительно поднять нат на фре.
 
 


Вопрос по новому ядерному нату из 7-ки. (FreeBSD 7.0-STABLE #2: Wed Jul  9 15:00:07)

Код:
 
ipfw nat 1 config if rl0 same_ports\
        redirect_port tcp a.b.c.10:3389 3387\
        redirect_port tcp a.b.c.7:3389 3390\
        redirect_port tcp a.b.c.192:3389 3391\
        redirect_port tcp a.b.c.188:3389 3398\
        redirect_port tcp a.b.c.4:3389 3304\
        redirect_port tcp a.b.c.76:3389 3376\
        redirect_port tcp a.b.c.191:3389 3395\
        redirect_port tcp a.b.c.146:3389 3394\
        redirect_port tcp a.b.c.92:3389 3397\
        redirect_port tcp a.b.c.188:40300-40303 40300-40303\
        redirect_port tcp a.b.c.146:40100-40120 40100-40120\
        redirect_port tcp a.b.c.76:40400-40410 40400-40410\
        redirect_port tcp a.b.c.92:40200-40210 40200-40210\
        redirect_port tcp a.b.c.191:40500-40502 40500-40502\
        redirect_port tcp a.b.c.187:40900-40910 40900-40910\
        redirect_port tcp a.b.c.176:40604 40604\
        redirect_port tcp a.b.c.202:40620 40620\
        redirect_port tcp a.b.c.143:40640 40640\
        redirect_port tcp a.b.c.80:40660 40660\
        redirect_port tcp a.b.c.177:40680 40680
 

даёт  
ipfw: redirect_port: buf is too small
Если сократить на одну строчку, то  
ipfw: getsockopt(IP_FW_GET_CONFIG): No space left on device
Убираю ещё одну строчку — всё работает. Порядок строк и какие именно убираются значения не имеет, размеры диапазонов портов — тоже. Гугл ничего приличного на первую строку ошибки не выдаёт. На вторую не выдаёт даже неприличного.
Пока пришлось откатываться до использования natd, но желательно бы всё-таки допилить правильный нат.

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 20:43 22-08-2008
tankistua

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в ipfw в 7-ке появился нат ? круто - а я на pf перелез чисто из-за этого :)
 
а если так ?
 
ipfw nat 1 config if rl0 same_ports redirect_port tcp a.b.c.10:3389 3387
ipfw nat 2 config if rl0 same_ports redirect_port tcp a.b.c.7:3389 3390
 
ну и т.д. или как-то так - я еще ман не читал :)
 
Кстати - natd нонче тоже ядерный.

Всего записей: 9572 | Зарегистр. 15-01-2002 | Отправлено: 10:23 23-08-2008 | Исправлено: tankistua, 10:26 23-08-2008
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tankistua

Цитата:
в ipfw в 7-ке появился нат ?

Да,  появился, если ядро с его поддержкой перебрать.

Цитата:
а если так ?  

Так можно попробовать, и на первый взгляд оно так даже работает при простой разбивке на два экземпляра, но жить с этим будет неудобно, потому как для каждого ната нужно ещё точку входа определять:
${FwCMD} add 240 nat 1 ip from any to ${IpOut} in recv ${LanOut}

Цитата:
Кстати - natd нонче тоже ядерный.

А он об этом знает? :-)
Ну да, он использует libalias, но сам при этом остаётся в пользовательском режиме, со всеми вытекающими: переключение контекстов, необходимость гонять пакеты через divert, который теряет теги и прочие внутренние атрибуты.

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 15:01 23-08-2008
tankistua

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну такое дело - говорю ж не читал маны :)
 
но надо попробовать. в ipfw больше всего меня бесило отсутствие нат-а

Всего записей: 9572 | Зарегистр. 15-01-2002 | Отправлено: 19:44 23-08-2008
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
здравствуйте
 
хочу сделать счетчики и по считать по портам сколько человек скачал пишу правила
 
#общий
count tcp from 10.0.0.31 to any in recv fxp0
count tcp from any to 10.0.0.31 out xmit fxp0
#фтп
count tcp from 10.0.0.31 to any 21 in recv fxp0
count tcp from any 21 to 10.0.0.31 out xmit fxp0
#телнет
count tcp from 10.0.0.31 to any 23 in recv fxp0
count tcp from any 23 to 10.0.0.31 out xmit fxp0
#почта
count tcp from 10.0.0.31 to any 25 in recv fxp0
count tcp from 10.0.0.31 to any 110 out xmit fxp0
#новости
count tcp from 10.0.0.31 to any 119 in recv fxp0
count tcp from any 119 to 10.0.0.31 out xmit fxp0
#прокси
count tcp from 10.0.0.31 to any 3128 in recv fxp0
count tcp from any 3128 to 10.0.0.31 out xmit fxp0
#базы
count tcp from 10.0.0.31 to any 3306 in recv fxp0
count tcp from any 3306 to 10.0.0.31 out xmit fxp0
#апач
count tcp from 10.0.0.31 to any 8101 in recv fxp0
count tcp from any 8101 to 10.0.0.31 out xmit fxp0
 
ну что то мне не нравиться как считает, может кто может помочь, в частности почта совсем не такие значения
я хочу замеры от сервера до клиента и обратно.
заранее благодарен

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 12:19 17-09-2008
demon1981



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ не подскажете в общих чертах как трафик считать общий?
какой-то конкретный набор правил. чтобы потом логи уже чем-то парсить можно было

Всего записей: 189 | Зарегистр. 28-03-2007 | Отправлено: 12:48 24-09-2008 | Исправлено: demon1981, 17:19 25-09-2008
YuroN



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tolyn77

Цитата:
ну что то мне не нравиться как считает, может кто может помочь, в частности почта совсем не такие значения
я хочу замеры от сервера до клиента и обратно.
заранее благодарен


Цитата:
count tcp from 10.0.0.31 to any 8101 in recv fxp0
count tcp from any 8101 to 10.0.0.31 out xmit fxp0  

вот у тебя два значения будет. делаешь скрипт на AWK чтоб оно только выдавало в результате:
 
57432
345656
proxy
 
и потом с помощью MRTG рисовать графики указав как тагрет на файл скрипта
 
это не подсчёт, но уже что-то можно увидеть

Всего записей: 114 | Зарегистр. 13-05-2003 | Отправлено: 16:51 17-10-2008
lkrotish

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
 
Необходима помощь в составлении правил для IPFW.
 
Схема: 30 машин,
необходимо:
1) Кто-то не имеет доступа к инету, может только принимать и отправлять почту (сервак свой) и свободно пользоваться локалкой.
 
2) У кого-то инет только через проксю. Скорость ограниченная.
 
3) У кого-то неограниченный доступ ко всем сетевым сервисам.

Всего записей: 219 | Зарегистр. 26-09-2007 | Отправлено: 10:27 05-11-2008
klimusu



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lkrotish
я бы создал несколько таблиц и добавил в них адреса
ipfw table 1 add 192.168.1.1-10 - адреса пункта 1
ipfw table 2 add 192.168.1.11-20 - адреса пункта 2
ipfw table 3 add 192.168.1.21-30 - адреса пункта 3
 
а потом уже создавал правила
разрешить только локальную сеть
ipfw add allow tcp from table\(1\) to 192.168.1.x
ipfw add allow tcp from 192.168.1.x to table\(1\)
по поводу почты если порты smtp и pop3, то что-то вроде
ipfw add allow tcp from table\(1\) to mailserver 25,110
ipfw add allow tcp from mailserver 25,110 to table\(1\)
запретить все адресам из таблицы 1
ipfw add deny all from table\(1\) to any
 
ну и конечно чтобы после перезагрузки все сохранялось либо поправить /etc/rc.firewall, либо написать скрипт.

Всего записей: 931 | Зарегистр. 23-01-2006 | Отправлено: 11:06 05-11-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FreeBSD + ipfw rules


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru