Чтобы добавлять сообщения и комментарии, .

@schors:
schors

Памятка по IPFW для дебилов типа меня, которые каждый раз учат мануал заново.
1. Для ipfw пакет логически входит куда-то и выходит откуда-то, вне зависимости от того, что там за интерфейсы по логике между. Два предмета — вошёл и вышел.
2. Если пакет предназначен для IP на данном хосте, то интерфейс будет один — тот, в который он вошёл. Т.е. если к lan0 привязан адрес 1 из подсети 1, а к lan1 привязан адрес 2 из подсети 2, пакет пришел из подсети 1 на интерфейс lan1 и предназначем для адреса 2, который на интерфейсе lan2, то правило "blablabla via lan2" для него не применимо — он как вошёл lan1 in, так и остался там.
3. in/out — это логический вход/выход с интерфейса. Физический — recv и xmit. Например recv via lan1 — это то, что реально пришло снаружи хоста.
4. Когда мы NATим для своей того же хоста — это боль. Потому что мы можем выкинуть все динамические правила.

@hizel:
hizel

поймал, libalias фэйлится и без нескольких queue на интерфейсе: pmcstat -TS instructions -w 1 показывает " _mtx_lock_sleep LibAliasOut" на первом месте, выкидываем ipfw nat на помойку и включаем pf

@hizel:
hizel

что-то чувствую я уперся в гонки ipfw nat и igb в несколько потоков groups.google.com
может на рассово неверный pf свинтить для nat, хм

@letopisec:
letopisec

Фейл ту бан работает,а вот фаервол не хочет. Бывало и раньше такое,сапорт помогал =_= Щас вот прикрутил чтоб еще и месаги мне на майл слало )

@hizel:
hizel

Хотет чтобы ipfw не отпадал по ошипке при чтении из именованного pipe. Как бы мне красиво вычистить err/errx? Внедрю ipfw like daemon и буду туда лить комманды из биллинга сплошняком!11

@nixon89:
nixon89

Уже 1133 ip-адреса забанено.

@nixon89:
nixon89

fail2ban на exim настроен. За сутки 972 ip-адреса уже забанил в таблицу ipfw

@tov-jukov:
tov-jukov

ipfw – default_to_accept skeletor.org.ua

@freefd:
freefd

Смотрю правила фаервола на одном из серверов очередной интегрируемой компании. Вижу прекрасное:

$ sudo ipfw show
00100  121471  13366892 allow ip from any to any via lo0
00200       0         0 deny ip from any to 127.0.0.0/8
00300       0         0 deny ip from 127.0.0.0/8 to any
20000       0         0 count ip from xx.xxx.xx.xx to me
20000       0         0 count ip from yy.yyy.yy.yy to me
20001       0         0 count ip from me to xx.xxx.xx.xx
20001       0         0 count ip from me to yy.yyy.yy.yy 
65000 3914256 372485905 allow ip from any to any
65535       0         0 deny ip from any to any

@Kibab:
Kibab

Понадобилось настраивать второй нат на сервере — в дополнение к OpenVPN появились ещё джейлы с IP-адресами из RFC1918, которые нужно было натить по-разному. После нескольких часов ебли с IPFW плюнул и переписал все правила для PF. Сцуко, а он удобен! Теперь буду его и юзать.

@alxrt:
alxrt

Чуваки, а кто из вас охуенно знает все развратные тонкости IPFW, и знает, где об этом написано клево?

@Stiletto:
Stiletto

#!/bin/sh
#
#

cmd="./ipfw add"

# First flush the firewall rules
./ipfw -q -f flush

# Localhost rules
$cmd 100 pass all from any to any via lo*

# Prevent any traffic to 127.0.0.1, localhost spoofing
$cmd 110 deny log all from any to 127.0.0.0/8 in
$cmd 120 deny log all from 127.0.0.0/8 to any in

$cmd check-state

# Don't block Avira update.
$cmd pass all from 62.146.66.181/24 to me
$cmd pass all from 80.190.143.229/24 to me
$cmd pass all from 89.105.213.18/24 to me

# Allow any outgoing traffic, create dynamic rule for each connection
$cmd pass all from me to any out keep-state

# Allow incoming torrents
$cmd allow udp from any to me 51413 in
$cmd allow tcp from any to me 51413 in

# Allow DHCP. "any" because "me" doesn't work when machine has no ip address.
$cmd allow udp from any 68 to any 67 out
$cmd allow udp from any 67 to any 68 in

# Log blocked
# Default policy is DENY, so traffic which pass past that rule will be blocked.
$cmd count log ip from any to any

А как защищаешь свою винду ты, мальчик?

@gelraen:
gelraen

Divert-socket на ruby:
require 'socket'
IPPROTO_DIVERT = 258 # see /usr/include/netinet/in.h
dsock = Socket.new(:INET, :RAW, IPPROTO_DIVERT)
dsock.bind(Addrinfo.tcp("127.0.0.1", 5000))
while packet = dsock.recv(2**16) do
p packet
end
С ruby 1.8 не работает, валится на Socket.new().

@wasd:
wasd

Аноним:
Сегодня жизнь без флеша — фантастика. Однажды я убрал из своей системы адоуб-флеш и поставил gnash. Во вконтакте видео не было, игр не было, музыка заикалась. После закономерного вопроса от своей девушки "а что это такое и почему не работают мои игрушки" я вернул флэш на место.

zazik:
Поменять девушку не пробовал? Всё-таки более безопасный вариант, чем пользоваться дырявыми Адобами.

Sunder:
Девушка тоже должна быть OpenSource.... по Столману :) На башорг :)

zazik:
Я живу по МакКьюзику.

@digital-freak:
digital-freak

Вопрос про ipfw имею. Имеем FreeBSD 8.1-RELEASE, немного упрощенный набор правил для ipfw, взятый из Руководства по FreeBSD (оно же Handbook, раздел "30.6.5.7 An Example NAT and Stateful Ruleset"):
00010 allow ip from any to any via lo0
00020 allow ip from any to any via vr0
00100 divert 8668 ip from any to any in via sis0
00150 check-state
00210 skipto 500 icmp from any to any out via sis0 keep-state
00450 deny ip from any to any
00510 divert 8668 ip from any to any out via sis0
00520 allow ip from any to any
65535 deny ip from any to any
, который собственно говоря не работает.
Правило 210 срабатывает и, если я правильно понимаю логику ipfw, следующим должно сработать правило 510. Но 510 правило не отрабатывает и пакет в natd не попадает.
А теперь внимание: если добавить перед 510 правилом правило № 500 следующего содержания
00500 count ip from any to any
ситуация резко меняется. Срабатывает и 500-е правило и 510-е. И все работает.
Собственно вопрос: кто-нибудь может мне объяснить эту ситуацию?

@hizel:
hizel

втыкаю лекцию luigi@ о dummynet youtube.com где-то с 15:00 начинается самое интересное прикладное, субтитры весьма помагают :)

@SnoT:
SnoT

опция ядра options IPFIREWALL_DEFAULT_TO_ACCEPT портила мне жизнь, убрал и всё стало "хорошо"

@pc:
pc

/etc/rc.local
# Set the correct default routes in each table
setfib 0 route delete default
setfib 0 route add default 172.20.0.10
setfib 1 route delete default
setfib 1 route add default 10.172.20.1


# IPFW rules to set the correct FIB on incoming packets
ipfw -f flush
ipfw add allow ip from any to any via lo0
ipfw add setfib 1 ip from any to any via xl0
ipfw add setfib 0 ip from any to any via sk0
ipfw add allow ip from any to any
/etc/rc.conf
# Network settings
defaultrouter="10.172.20.1"
ifconfig_sk0="inet 172.20.0.2/24"
ifconfig_xl0="inet 10.172.20.2/24"

@pc:
pc

freebsd.org

@hizel:
hizel

сегфолтицо
[13:57] root@olo ~ #ipfw nat 1 config if em0
ipfw nat 1 config if em0
[13:57] root@olo ~ #ipfw add 32000 nat 1 ip from any to any via em0
Write failed: Broken pipe

до внедрения комманд

@hizel:
hizel

struct libalias *la->linkTableIn

@hizel:
hizel

от xml-rpc дырочка просверлена
python rpc-test.py['arp_add', 'arp_getbyip', 'arp_getbymac', 'arp_gettable', 'arp_rem', 'ipfw_add', 'ipfw_flushtable', 'ipfw_gettable', 'ipfw_rem', 'ping', 'system.listMethods', 'system.methodHelp', 'system.methodSignature']

@l1feh4ck3r:
l1feh4ck3r


<shattered>Нeдaвнo пpиoбpёл кaмepу Canon 500D. Зa нeбoльшoe вpeмя ужe oтcнял кучу фoтoк и вoт ужe пoдумывaю нe coвмecтить ли мнe пpиятнoe c пoлeзным. A имeннo пoдpaбoткa фoтocъёмкoй cвaдeб. C пpaктикoй фoтocъёмки знaкoм нe пoнacлышкe – имeл пpиличный oпыт фoтocъёмки c «Зeнитoм». Пpикидывaю чтo для этoгo нужнo. Oбъeктив в нaличии пoкa тoлькo китoвый, пoнимaю чтo нужeн дpугoй, нo ceйчac нe пoтяну. Peaльнo ли тoлькo c китoвым? Нужнa внeшняя вcпышкa, пo дeньгaм пpикидывaю тыcяч зa 6-8, пopeкoмeндуйтe -кaкую лучшe взять. Дoпoлнитeльную кapту пaмяти и aккумулятop куплю. Чтo eщё нужнo? Штaтив c «тpocикoм»- нe знaю?, пo мoeму нe oбязaтeльнo имeть.
<Kitsune>Нeдaвнo пpиoбpeла ceбe в мaгaзинe мeдтexникa cкaльпeль. Зa нeбoльшoe вpeмя ужe изpeзaла кoжaный дивaн, и eдвa нe пpиpeзaла cвoю coбaку, и вoт ужe пoдумывaю нe coвмecтить ли мнe пpиятнoe c пoлeзным. A имeннo — пopaбoтaть кapдиoxиpуpгoм. C пpaктикoй xиpуpгии знaкoма нe пoнacлышкe — имeла пpиличный oпыт paбoты кoнcepвным нoжoм. Пpикидывaю чтo для этoгo нужнo. Cкaльпeль пoкa нeзaтoчeн и тoлькo oдин, пoнимaю чтo нужeн дpугoй, нo ceйчac нe пoтяну. Peaльнo ли тoлькo oдним cкaльпeлeм cдeлaть aopтo-кopoнapнoe шунтиpoвaниe? Нужeн eщe кpoвocтaнaвливaющий зaжим, пo дeньгaм пpикидывaю тыcяч зa 6-8, пopeкoмeндуйтe, кaкoй лучшe взять. Вaту и тaмпoны куплю caма. Чтo жe eщe нужнo для xиpуpгичecкoй oпepaции? Тpoaкap пoлocтнoй и пинцeт ткaнeвый — нe знaю, пo мoeму нe oбязaтeльнo имeть.

@k1lg0reTr0ut:
k1lg0reTr0ut

сегодня обнаружил, что в ipfw нельзя создать таблицу с номером больше 127. это зачем так круто ограничивать мою фантазию одним байтом?

@hizel:
hizel

bitbucket.org

@hizel:
hizel

ололо первый шажог с биндингом пистона к ipfw
~/dev/ipfw_py >sudo python
Password:
Python 2.6.2 (r262:71600, Sep 14 2009, 11:40:55)
[GCC 4.2.1 20070719 [FreeBSD]] on freebsd7
Type "help", "copyright", "credits" or "license" for more information.
>> import ipfw
>> ipfw.table_add(34,'10.10.10.1')
0
>> quit() ~/dev/ipfw_py >sudo ipfw table 34 list
10.10.10.1/32 0

@Gem:
Gem

nuclight.livejournal.com

@Thriller:
Thriller

<dindin> кстати, tinderbox — редкий пример кода на неупячечном перле

@Thriller:
Thriller


* Miha случайно зацепился взглядом за линк "mpd и ALSA". только открыв понял что это про плеер..
<ptichko> ничего, скоро мы напишем свой ng_alsa и тоже будем писать туториалы!

O_o