Death OF Freebsd
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
Я попробую с IPF, но не знаю, у кого еще предложения? чтоб не использовать 35 фаерволов
galaxer
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
net.link.bridge.ipfw: 0 -> 1
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
Я поробовал, но ниче не изменилось.
Код: Выделить всё
galaxer# sysctl net.link.bridge.ipfw=1
net.link.bridge.ipfw: 0 -> 1
galaxer
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
Я попробовал IPFilter, но получается вот такая веселуха:
Код: Выделить всё
galaxer# cat /etc/ipfmine
#block in quick from 192.168.5.55 to any
#block in quick proto icmp from any to any
block in quick proto tcp/udp from 192.168.5.55 to any port = 23
#rdr rl2 0.0.0.0/0 port 80 -> 127.0.0.1 port 3128
#rdr rl0 0.0.0.0/0 port 21 -> 127.0.0.1 port 21
rdr rl0 0.0.0.0/0 port ftp -> 127.0.0.1 port ftp
pass in all
pass out all
Код: Выделить всё
galaxer# sh ipfilter restart
Saving firewall state tables
Disabling ipfilter.
Enabling ipfilter.
syntax error error at "rl0", line 6
galaxer#
galaxer
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
ipf -V
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
Код: Выделить всё
stat@gw:/home/stat# ipf -V
ipf: IP Filter: v4.1.28 (404)
Kernel: IP Filter: v4.1.28
Running: yes
Log Flags: 0 = none set
Default: pass all, Logging: available
Active list: 0
Feature mask: 0x10a
galaxer
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
осталься езе PF )))
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
PF :
Запрос вроде как на форворд идут, но на интерфейсе или на локалхосте тисипидамп ниче не слышит, только запросы на входящем интерфейсе. Браузер тупо ждет загрузки и ничего не дает. 
Код: Выделить всё
galaxer# cat /etc/pfmine
scrub in all
#rdr on $ext_if_expensive proto { tcp, udp } from $untrusted_lan to $ext_if_expensive port $game_ports -> $game_server port $game_ports
#block all
#pass out on $ext_if_cheap from $ext_if_cheap to any keep state
set skip on lo0 #otrubaet faervolling na interfejse lo0
#nat on 192.168.5.0/24 from rl0 to any -> rl1
rdr proto tcp from 192.168.5.55 to any port 80 -> 127.0.0.1 port 3128
block in quick proto tcp from any to any port 23
pass in all
pass out all

galaxer
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
Нашел вот это:
http://osdir.com/ml/freebsd.devel.ipfw/ ... 00083.html
http://osdir.com/ml/freebsd.devel.ipfw/ ... 00083.html
Quantcast
[PATCH FOR REVIEW] layer2 ipfw 'fwd' support: msg#00083
Subject: [PATCH FOR REVIEW] layer2 ipfw 'fwd' support
hi,
for those interested in using ipfw 'fwd' instructions in a bridge
(e.g. to create a transparent proxy with a bridge) here is a patch
to try for ip_fw2.c (and a trivial one-line change in ip_input.c)
The change to ip_input.c matches more closely what the comment says:
if the packet is tagged by the firewall as 'PACKET_TAG_IPFORWARD'
than you skip the pass through the firewall, but still check to see
where the packet goes.
The ip_fw2.c change does the following: when the bridge detects a
layer2 packet, it passes it to ip_input() [!!!layering violation!!!]
with a proper tag so that the packet is subject to the same processing
it would have in a router.
[BTW i believe the same approach could be used to implement 'divert'
within a bridge if we only care for IP packets -- i.e. we tag the
packet and pass it to the upper layer]
The usual restrictions apply -- if you 'forward' to another box
then it must be on the same subnet as one of the interfaces of the
middlebox, because IP addresses are unchanged. Also, despite the
fact you are doing the forwarding on a bridge, if the packet must
go out you need to set net.inet.ip.forwarding=1 because the forwarding
is done at layer 3.
-------------------------------
So, QUICK USAGE INSTRUCTIONS:
sample topology:
rl0 rl1
[clients]------[bridge]--+----[rest of the world]]
|
+----[proxy]
on clients:
no configuration necessary, as the proxy is transparent!
on bridge:on proxy:Код: Выделить всё
sysctl net.link.ether.bridge_cfg="rl0 rl1" sysctl net.link.ether.bridge_ipfw=1 sysctl net.link.ether.bridge=1 sysctl net.inet.ip.forwarding=1 ipfw add forward proxy proto tcp from any to any 80
-------------------------------Код: Выделить всё
ipfw add forward localhost,8080 tcp from not me to any 80
cheers
luigi
Index: ip_fw2.cКод: Выделить всё
=================================================================== RCS file: /home/ncvs/src/sys/netinet/ip_fw2.c,v retrieving revision 1.6.2.16 diff -u -r1.6.2.16 ip_fw2.c --- ip_fw2.c 17 Jul 2003 06:03:39 -0000 1.6.2.16 +++ ip_fw2.c 22 Sep 2003 22:21:38 -0000 @@ -1977,12 +2022,33 @@ goto done; case O_FORWARD_IP: +#if 0 if (args->eh) /* not valid on layer2 pkts */ break; +#endif if (!q || dyn_dir == MATCH_FORWARD) args->next_hop = &((ipfw_insn_sa *)cmd)->sa; retval = 0; + if (args->eh) { + struct m_hdr tag; + + if (hlen == 0) /* non IP */ + break; + /* + * tag with PACKET_TAG_IPFORWARD + * call ip_input() (need ip_forwarding=1 + * if this has to go out) + * mark packet as comsumed by the firewall + */ + tag.mh_type = MT_TAG; + tag.mh_flags = PACKET_TAG_IPFORWARD; + tag.mh_data = (caddr_t)args->next_hop; + tag.mh_next = m; + args->m = NULL; + retval = IP_FW_PORT_DENY_FLAG; + ip_input((struct mbuf *)&tag); + } goto done; default: Index: ip_input.c ===================================================================
_______________________________________________Код: Выделить всё
RCS file: /home/ncvs/src/sys/netinet/ip_input.c,v retrieving revision 1.130.2.53 diff -u -r1.130.2.53 ip_input.c --- ip_input.c 23 Jun 2003 17:53:50 -0000 1.130.2.53 +++ ip_input.c 22 Sep 2003 22:23:23 -0000 @@ -462,7 +462,7 @@ * skip the firewall a second time */ if (args.next_hop) - goto ours; + goto pass; /* XXX was 'ours' */ args.m = m; i = ip_fw_chk_ptr(&args);
freebsd-ipfw@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe@xxxxxxxxxxx"
galaxer
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
я этот патч видел
он 2003 года
посему хочеться верить что уже как то внесли тот код
насчет pf
нужно опять в sysctl смотреть
там тоже есть флаги на включение фильтрации на бридже по PF
он 2003 года
посему хочеться верить что уже как то внесли тот код
насчет pf
нужно опять в sysctl смотреть
там тоже есть флаги на включение фильтрации на бридже по PF
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
Я еще поиграюсь с PF
Но смутно верится уже. Создателю патча я письмо написал уже.
Я уже собрался что-то сам вот делать. Жость. Коды там по 6000 строк
И еще: Если патч не включили, значит была причина, значит нат переставал работать, или еще что-нибудь, или бридж становился не как бридж
Но смутно верится уже. Создателю патча я письмо написал уже.
Я уже собрался что-то сам вот делать. Жость. Коды там по 6000 строк
И еще: Если патч не включили, значит была причина, значит нат переставал работать, или еще что-нибудь, или бридж становился не как бридж
galaxer
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
ну если надумаешь патчить то вот место где надо патчить
а вообще
попробуй в ipfw вместо fwd
divert
ну и насчет pf думаю он помощнее
искать надо его опции
Код: Выделить всё
case O_FORWARD_IP: {
struct sockaddr_in *sa;
sa = &(((ipfw_insn_sa *)cmd)->sa);
if (args->eh) /* not valid on layer2 pkts */
break;
if (!q || dyn_dir == MATCH_FORWARD) {
if (sa->sin_addr.s_addr == INADDR_ANY) {
bcopy(sa, &args->hopstore,
sizeof(*sa));
args->hopstore.sin_addr.s_addr =
htonl(tablearg);
args->next_hop =
&args->hopstore;
} else {
args->next_hop = sa;
}
}
retval = IP_FW_PASS;
}
goto done;
case O_NETGRAPH:
попробуй в ipfw вместо fwd
divert
ну и насчет pf думаю он помощнее
искать надо его опции
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
forward дописывает в заголовок дестинайшн, например 127.0.0.1
а диверт не прописывает ничего и посылает пакеты в неизмененном виде в порт или куда там (низкоуровневая хрень)
А рерирект там ваще кучу всяких таблиц пишет
Это 3 разные вещи
а диверт не прописывает ничего и посылает пакеты в неизмененном виде в порт или куда там (низкоуровневая хрень)
А рерирект там ваще кучу всяких таблиц пишет
Это 3 разные вещи
galaxer
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
вобщем то да
диверт переписывает пакет полностью
насчет редиректа я ничего не говорил)
диверт переписывает пакет полностью
насчет редиректа я ничего не говорил)
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
диверт ниче не переписывает а отправляет его тупо в том же виде, например в нат, а нат уже сам разбирается с ним
galaxer
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
судя по этой части кода
с ipfw + fwd на бридже можно не играться
а только патчить
насчет pf еще можно думать
в код лень к нему лезть
в 7 стаибл так точноif (args->eh) /* not valid on layer2 pkts */
break;
с ipfw + fwd на бридже можно не играться
а только патчить
насчет pf еще можно думать
в код лень к нему лезть
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
я это и имел ввидуgalaxer писал(а):диверт ниче не переписывает а отправляет его тупо в том же виде, например в нат, а нат уже сам разбирается с ним
токо это в моем понимании что переписывает - перенаправляет
а тупо копирует это tee
а вот fwd дописывает и перенаправляет
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
по сути ты предлагаешь рубить только PF?
redirect мне не подойдет точно, Это прерогатива ната
redirect мне не подойдет точно, Это прерогатива ната
galaxer
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
я предлагаю попробовать патч
место куда поставить я показал
если не сработает
значит крутить PF - тоесть разбираться в нем
неверится мне что то то он этого не умеет
ipfw точно неумеет
коммент ятебе показал))
место куда поставить я показал
если не сработает
значит крутить PF - тоесть разбираться в нем
неверится мне что то то он этого не умеет
ipfw точно неумеет
коммент ятебе показал))
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Death OF Freebsd
ты хочешь сказать что pf неумеет заворачивать пакет на прокси - когда тот в режиме транспарент?
умеет
точно также как это делает Ipfw+fwd
просто это возможно не rdr делаеться
почитать надо
на openbsd.org
хорошо о нем рассписано
умеет
точно также как это делает Ipfw+fwd
просто это возможно не rdr делаеться
почитать надо
на openbsd.org
хорошо о нем рассписано
- Grishun_U_S
- сержант
- Сообщения: 221
- Зарегистрирован: 2008-04-12 18:26:54
- Откуда: Samara
- Контактная информация:
Re: Death OF Freebsd
делается это именно с помощью rdrparadox писал(а):ты хочешь сказать что pf неумеет заворачивать пакет на прокси - когда тот в режиме транспарент?
умеет
точно также как это делает Ipfw+fwd
просто это возможно не rdr делаеться
почитать надо
на openbsd.org
хорошо о нем рассписано
например :
Код: Выделить всё
rdr on 192.168.0.1 proto { tcp, udp } from 192.168.0.0/24 to 192.168.0.1 port 80 -> $192.168.0.1 port 3128

-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
Re: Death OF Freebsd
У меня БРИДЖ!!!
Нету шлюзов

Нету шлюзов
Код: Выделить всё
galaxer# cat /etc/pfmine
scrub in all
#rdr on $ext_if_expensive proto { tcp, udp } from $untrusted_lan to $ext_if_expensive port $game_ports -> $game_server port $game_ports
#block all
#pass out on $ext_if_cheap from $ext_if_cheap to any keep state
set skip on lo0
#rdr on 192.168.5.25 proto tcp from 192.168.5.55 to any port 80 -> 192.168.2.2 port 3128
#rdr proto tcp from 192.168.5.55 to any port 80 -> 192.168.5.25 port 3128
#nat on 192.168.5.0/24 from rl0 to any -> rl1
#rdr proto tcp from 192.168.5.55 to any port 80 -> 192.168.2.2 port 80
#block in quick proto tcp from any to any port 23
pass in all
pass out all

galaxer
-
- рядовой
- Сообщения: 29
- Зарегистрирован: 2008-06-21 18:43:13
- Откуда: Moscow
- Контактная информация:
- Grishun_U_S
- сержант
- Сообщения: 221
- Зарегистрирован: 2008-04-12 18:26:54
- Откуда: Samara
- Контактная информация:
Re: Death OF Freebsd
и что ты вывалил список закомменченных правил?galaxer писал(а):У меня БРИДЖ!!!
Нету шлюзовКод: Выделить всё
galaxer# cat /etc/pfmine scrub in all #rdr on $ext_if_expensive proto { tcp, udp } from $untrusted_lan to $ext_if_expensive port $game_ports -> $game_server port $game_ports #block all #pass out on $ext_if_cheap from $ext_if_cheap to any keep state set skip on lo0 #rdr on 192.168.5.25 proto tcp from 192.168.5.55 to any port 80 -> 192.168.2.2 port 3128 #rdr proto tcp from 192.168.5.55 to any port 80 -> 192.168.5.25 port 3128 #nat on 192.168.5.0/24 from rl0 to any -> rl1 #rdr proto tcp from 192.168.5.55 to any port 80 -> 192.168.2.2 port 80 #block in quick proto tcp from any to any port 23 pass in all pass out all
