Страница 1 из 1

IPFW+Tables+активные соединения.

Добавлено: 2012-04-10 14:14:19
dreamer538
Здравствуйте,
есть проблема - есть данное правило:

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

#DISABLE INTERNET
${cmd} 17100 unreach port ip from table\(8,1\) to any via tun0
и по крону добавляю, удаляю ip в эту таблицу для отключения/включения интернет.
Все работает замечательно для новых соединений. Но уже активные соединения не обрываются.
Например, скайп продолжает работать, но если переподключиться - уже не подключается.
Как решить проблему, чтобы активные соединения так же обрывались?

Спасибо.

Re: IPFW+Tables+активные соединения.

Добавлено: 2012-04-11 12:29:44
skeletor
Используй tcpdrop для убивания текущих соединений.

Re: IPFW+Tables+активные соединения.

Добавлено: 2012-04-11 16:22:03
FiL
а выше есть правило для пропуска established соединений?

Re: IPFW+Tables+активные соединения.

Добавлено: 2012-04-14 11:30:16
dreamer538

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

00100    2805046     297694442 allow ip from any to any via lo0
00110         12          1500 deny ip from any to 127.0.0.0/8
00120          0             0 deny ip from 127.0.0.0/8 to any
01000      26331       3746318 prob 0.100000 skipto 2000 ip from 192.168.10.54 to table(101,1)
01001      23645       3321637 prob 0.100000 pipe 1001 ip from 192.168.10.54 to table(101,1)
01002      45660       6531501 prob 0.200000 pipe 1002 ip from 192.168.10.54 to table(101,1)
01003      67139       9571323 prob 0.300000 pipe 1003 ip from 192.168.10.54 to table(101,1)
01004      44582       6430178 prob 0.200000 pipe 1004 ip from 192.168.10.54 to table(101,1)
09000          0             0 count ip from table(100,0) to me via vr0
09010          0             0 count ip from me to table(100,0) via vr0
09020          0             0 count ip from not table(100,0) to me via vr0
09030          0             0 count ip from me to not table(100,0) via vr0
09100          0             0 count ip from table(100,0) to table(101,0) via re0
09110          0             0 count ip from table(101,0) to table(100,0) via re0
09120         96          7680 count ip from not table(100,0) to table(101,0) via re0
09130          0             0 count ip from table(101,0) to not table(100,0) via re0
09200          0             0 count ip from table(100,0) to table(102,0) via re0
09210          0             0 count ip from table(102,0) to table(100,0) via re0
09220       9546        763680 count ip from not table(100,0) to table(102,0) via re0
09230          0             0 count ip from table(102,0) to not table(100,0) via re0
11100    8227298    2264647431 allow ip from table(3,1) to me dst-port 135,137,445
11200   39542157   54168410520 allow ip from me 135,137,445 to table(3,1)
11300       2252        135458 unreach port ip from any to me dst-port 135,137,445
12100     187144      12021535 allow ip from table(4,1) to me dst-port 53
12200     186411      46090442 allow ip from me 53 to table(4,1)
12300          0             0 unreach port ip from any to me dst-port 53
13100       5497        354093 allow ip from table(4,1) to me dst-port 21
13200       9147        645811 allow ip from me 21 to table(4,1)
13300          0             0 unreach port ip from any to me dst-port 21
15100          0             0 allow ip from table(6,1) to me dst-port 8082
15200          0             0 allow ip from me 8082 to table(6,1)
15300          0             0 unreach port ip from any to me dst-port 8082
16100    1642545     188552531 fwd 127.0.0.1,8080 ip from table(7,1) to any dst-port 80 via tun0
[b]17100      23329       1399959 unreach port ip from table(8,1) to any via tun0[/b]
20500      60485       3411815 nat 2 ip from table(2,1) to any via ng0
20700     107266     120358889 nat 2 ip from any to me via ng0
нет, таких правил выше нет. Жирным выделил то правило, которое отвечает за блокирование траффика.
почитал man tcpdrop - там можно или все или конкретное. все - неприемлимо, конкретное - много обвязки писать нужно. Хочется найти более элегантное решений.

Re: IPFW+Tables+активные соединения.

Добавлено: 2012-04-14 12:46:50
dikens3
Обычно доступ разрешён некоторым - остальным запрещён. А не наоборот.
К тому же - что мешает блокировать весь трафик помощью deny?

Re: IPFW+Tables+активные соединения.

Добавлено: 2012-04-14 14:41:24
dreamer538
у меня нужно блокировать по времени 1 адрес.
при unreach - отдается icmp и не ждется таймаут клиентом.
а deny разве будет обрывать соединения при добавлении в таблицу, а не добавлении правила?

Re: IPFW+Tables+активные соединения.

Добавлено: 2012-04-14 16:04:35
dikens3
dreamer538 писал(а):при unreach - отдается icmp и не ждется таймаут клиентом.
Не вижу проблем, сделайте 2 правила:

unreach
deny
dreamer538 писал(а):а deny разве будет обрывать соединения при добавлении в таблицу, а не добавлении правила?
Можно использовать конструкцию deny ... table...?

REJECT ещё есть.


P.S.
Если задача: Блокировать доступ интернет (но не к серверу), можно добавить в начало одно правило и всё.

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

deny from .. table1 to not me in via LAN-интерфейс