URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 63855
[ Назад ]

Исходное сообщение
"Классика: ipfw+nat"

Отправлено redmoon , 02-Фев-06 19:04 
вот конфиг файера, все работает, абоненты в сеть ходят.
включается и выключается абоненты (их пока 2-ое) добавлением\удалением соответственно правил за номером 140 и 141.
После выключения обонентов должны ходиьт только пинги в мир от них и больше ничего, ни аськи ни он-лайн игрушек.
выключаю абонента:
Удаляю правило например 140.
у абонента 192.168.0.4 не открываються страницы в броузере,пинги ходят,НО!!! раоботает аська, работаютм менеджеры закачек, он играется в игрушки и т д. Как следствие растет трафик.
Как мне,выключая абонента - полностью !!!! вырубать ему все !!!! оставить только пинги ?
ниже конфиг ipfw.
заранее буду очень благодарен. Уже всю голову сломал.
#!/bin/sh
/sbin/ipfw -f flush
/sbin/ipfw add 10 allow ip from any to any via lo0
/sbin/ipfw add 11 allow ip from me to me via rl1
/sbin/ipfw add 12 allow ip from me to me via rl0
/sbin/ipfw add 20  deny ip from any to 127.0.0.0/8
/sbin/ipfw add 30  deny ip from 127.0.0.0/8 to any


/sbin/ipfw add 60 divert 8668 ip from 192.168.0.0/24 to any out xmit rl0
/sbin/ipfw add 70 divert 8668 ip from any to 111.111.111.111 in recv rl0

/sbin/ipfw add 71 allow ip from any to any via rl1
/sbin/ipfw add 72 allow icmp from any to any
/sbin/ipfw add 73 allow tcp from any to any established
/sbin/ipfw add 74 allow ip from any to any frag
/sbin/ipfw add 75 check-state

/sbin/ipfw add 120 allow udp from 111.111.111.111 to any keep-state
/sbin/ipfw add 130 allow tcp from 111.111.111.111 to any

Это абоненты:

/sbin/ipfw add 140 allow ip from any to 192.168.0.4/32 in recv rl0
/sbin/ipfw add 141 allow ip from any to 192.168.0.2/32 in recv rl0

Разрешаем абонентам ходить на шары внутри локалки:

/sbin/ipfw add 65523 allow udp from 192.168.0.0/24 to 192.168.0.1/32 445 keep-state via rl1
/sbin/ipfw add 65524 allow tcp from 192.168.0.0/24 to 192.168.0.1/32 445 via rl1 setup
/sbin/ipfw add 65525 allow udp from 192.168.0.0/24 to 192.168.0.1/32 139 keep-state via rl1
/sbin/ipfw add 65526 allow tcp from 192.168.0.0/24 to 192.168.0.1/32 139 via rl1 setup

некоторые порты открыты в мир:

/sbin/ipfw add 65527 allow tcp from any to 111.111.111.111 53 via rl0 setup
/sbin/ipfw add 65528 allow udp from any to 111.111.111.111 53 keep-state via rl0
/sbin/ipfw add 65529 allow tcp from 192.168.0.0/24 to 111.111.111.111 25 via rl0 setup
/sbin/ipfw add 65530 allow tcp from any to 111.111.111.111 80 via rl0 setup
/sbin/ipfw add 65531 allow tcp from any to 111.111.111.111 443 via rl0 setup

/sbin/ipfw add 65532 deny log tcp from any to any in recv rl0
/sbin/ipfw add 65533  deny log udp from any to any in recv rl0
/sbin/ipfw add 65534  deny ip from any to any


Содержание

Сообщения в этом обсуждении
"Классика: ipfw+nat"
Отправлено Skif , 02-Фев-06 23:46 
>/sbin/ipfw add 60 divert 8668 ip from 192.168.0.0/24 to any out xmit
>rl0
>/sbin/ipfw add 70 divert 8668 ip from any to 111.111.111.111 in recv
>rl0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Че то не въезжаю в эти два сокраментальных правила

>
>/sbin/ipfw add 71 allow ip from any to any via rl1
>/sbin/ipfw add 72 allow icmp from any to any
>/sbin/ipfw add 73 allow tcp from any to any established
>/sbin/ipfw add 74 allow ip from any to any frag
>/sbin/ipfw add 75 check-state
>
>/sbin/ipfw add 120 allow udp from 111.111.111.111 to any keep-state
>/sbin/ipfw add 130 allow tcp from 111.111.111.111 to any
>
>Это абоненты:
>
>/sbin/ipfw add 140 allow ip from any to 192.168.0.4/32 in recv rl0
>
>/sbin/ipfw add 141 allow ip from any to 192.168.0.2/32 in recv rl0
>
>
>Разрешаем абонентам ходить на шары внутри локалки:
>
>/sbin/ipfw add 65523 allow udp from 192.168.0.0/24 to 192.168.0.1/32 445 keep-state via
>rl1
>/sbin/ipfw add 65524 allow tcp from 192.168.0.0/24 to 192.168.0.1/32 445 via rl1
>setup
>/sbin/ipfw add 65525 allow udp from 192.168.0.0/24 to 192.168.0.1/32 139 keep-state via
>rl1
>/sbin/ipfw add 65526 allow tcp from 192.168.0.0/24 to 192.168.0.1/32 139 via rl1
>setup
>
>некоторые порты открыты в мир:
>
>/sbin/ipfw add 65527 allow tcp from any to 111.111.111.111 53 via rl0
>setup
>/sbin/ipfw add 65528 allow udp from any to 111.111.111.111 53 keep-state via
>rl0
>/sbin/ipfw add 65529 allow tcp from 192.168.0.0/24 to 111.111.111.111 25 via rl0
>setup
>/sbin/ipfw add 65530 allow tcp from any to 111.111.111.111 80 via rl0
>setup
>/sbin/ipfw add 65531 allow tcp from any to 111.111.111.111 443 via rl0
>setup
>
>/sbin/ipfw add 65532 deny log tcp from any to any in recv
>rl0
>/sbin/ipfw add 65533  deny log udp from any to any in
>recv rl0
>/sbin/ipfw add 65534  deny ip from any to any


Вот упрощенная форма того, что тебе нужно:

ipfw add 100 divert 8668 ip from any to any via rl0
ipfw add 200 allow icmp from any to any
ipfw add 300 allow ip from any to any via rl1
ipfw add 400 allow ip from _client_net_/24 to any via rl0
ipfw add 500 allow ip from any to _client_net_/24 via rl0
ipfw add 600 allow ip from me to any
ipfw add 700 allow ip from any to me
ipfw deny 65535 deny ip from amy to any

Если сносишь любое из правил 400-500 клиент получает затык. Ходить он не сможет.
А у тебя самого по правилам править не переправить:
/sbin/ipfw add 73 allow tcp from any to any established
/sbin/ipfw add 74 allow ip from any to any frag
Это по поводу аси

/sbin/ipfw add 65523 allow udp from 192.168.0.0/24 to 192.168.0.1/32 445 keep-state via rl1
/sbin/ipfw add 65524 allow tcp from 192.168.0.0/24 to 192.168.0.1/32 445 via rl1 setup
/sbin/ipfw add 65525 allow udp from 192.168.0.0/24 to 192.168.0.1/32 139 keep-state via rl1
/sbin/ipfw add 65526 allow tcp from 192.168.0.0/24 to 192.168.0.1/32 139 via rl1 setup
Этого мало для шар

В общем перепиши с нуля. помня что правила отрабатываются в порядке возрастания. И если ты раньше на одно сказал pass/allow, то потом хоть десять deny поставь - они не сработают.


"Классика: ipfw+nat"
Отправлено redmoon , 03-Фев-06 10:31 
>ipfw add 400 allow ip from _client_net_/24 to any via rl0
>ipfw add 500 allow ip from any to _client_net_/24 via rl0
это я умею, было бы все так просто :)))
мне нужно включать выключать абонета одной строкой, а в данном случае их две.
%))

"Классика: ipfw+nat"
Отправлено Skif , 03-Фев-06 18:36 
>>ipfw add 400 allow ip from _client_net_/24 to any via rl0
>>ipfw add 500 allow ip from any to _client_net_/24 via rl0
>это я умею, было бы все так просто :)))
>мне нужно включать выключать абонета одной строкой, а в данном случае их
>две.
>%))


Ты можешь выбить одно из них и второе мало на что годное будет. Тем более что мешает выбивать по два правила? Почему такая жесткая завязка?


"Классика: ipfw+nat"
Отправлено redmoon , 03-Фев-06 18:44 
>>>ipfw add 400 allow ip from _client_net_/24 to any via rl0
>>>ipfw add 500 allow ip from any to _client_net_/24 via rl0
>>это я умею, было бы все так просто :)))
>>мне нужно включать выключать абонета одной строкой, а в данном случае их
>>две.
>>%))
>
>
>Ты можешь выбить одно из них и второе мало на что годное
>будет. Тем более что мешает выбивать по два правила? Почему такая
>жесткая завязка?

биллинг такой .. это он делать будет.
может кто слышал .. netup - кривость редстная. .но ....


"Классика: ipfw+nat"
Отправлено efim , 03-Фев-06 14:49 
Посмотри внимательно:

/sbin/ipfw add 73 allow tcp from any to any established

Ты разрешаешь народу работать по уже установленному соединению (т. е. по соединившейся уже аське, онлайн-гамесам и т. п.). Поставь это правило после клиентов.

Кстати, хороший метод проверять, работают ли правила - ipfw show и посмотри на счетчики пакетов и траффика через нужное правило :)