Есть маршрутизатор на базе FreeBSD 9.1, используется для резки скорости и блокировки клиентов. Проблема заключается в том, что периодически правило 1000 начинает блокировать весь исходящий трафик от сети 217.137.48.0/20, соотвецтвенно все клиенты перестают работать. Решается проблема только удалением 1000 правила.В таблице 120 при этом ничего криминального нет(сокращенное содержание таблицы, в оригинале около 300 ip с 32-ой маской из диапазона 217.137.48.0/20):
217.137.48.162/32 0
217.137.49.250/32 0
217.137.50.0/32 0
217.137.51.9/32 0
217.137.52.14/32 0
217.137.53.5/32 0
217.137.54.8/32 0
217.137.55.2/32 0
217.137.56.2/32 0
217.137.57.6/32 0
217.137.58.218/32 0
217.137.61.34/32 0И собственно вывод ipfw show:
00100 22385 65167672 allow ip from any to any via lo0
00101 0 0 deny ip from any to 127.0.0.0/8
00102 0 0 deny ip from 127.0.0.0/8 to any
00104 20 1680 allow ip from 217.137.48.25 to me
00105 20 1680 allow ip from me to 217.137.48.25
01000 2787 135328 deny ip from table(120) to any
02205 28152 4820111 pipe 512 ip from table(35) to any in
02205 35188 24955932 pipe 513 ip from any to table(5) out
02206 850841 329748232 pipe 1024 ip from table(36) to any in
02206 908146 631042008 pipe 1025 ip from any to table(66) out
02208 846526 243522405 pipe 2048 ip from table(38) to any in
02208 1038227 966252646 pipe 2049 ip from any to table(8) out
65535 15767298 10951876392 allow ip from any to anyНа сервере включен all log никаких записей в момент проявления проблемы нет.
Периодичность возникновения проблемы от 3 дней до 3 месяцев.Может быть кто-то сталкивался с такой проблемой и нашел ее решение. Буду благодарен за любые советы.
> Есть маршрутизатор на базе FreeBSD 9.1, используется для резки скорости и
> блокировки клиентов. Проблема заключается в том, что периодически правило 1000 начинает
> блокировать весь исходящий трафик от сети 217.137.48.0/20, соотвецтвенно все клиенты перестают
> работать. Решается проблема только удалением 1000 правила.Скорее всего в этот волшебный момент времени в 120-й таблице у вас оказывается вся сеть 217.137.48.0/20. Проверяйте скрипты, наполняющие эту таблицу.
>[оверквотинг удален]
> to table(66) out
> 02208 846526 243522405 pipe 2048 ip from table(38)
> to any in
> 02208 1038227 966252646 pipe 2049 ip from any to
> table(8) out
> 65535 15767298 10951876392 allow ip from any to any
> На сервере включен all log никаких записей в момент проявления проблемы нет.
> Периодичность возникновения проблемы от 3 дней до 3 месяцев.
> Может быть кто-то сталкивался с такой проблемой и нашел ее решение. Буду
> благодарен за любые советы.
>[оверквотинг удален]
>> to table(66) out
>> 02208 846526 243522405 pipe 2048 ip from table(38)
>> to any in
>> 02208 1038227 966252646 pipe 2049 ip from any to
>> table(8) out
>> 65535 15767298 10951876392 allow ip from any to any
>> На сервере включен all log никаких записей в момент проявления проблемы нет.
>> Периодичность возникновения проблемы от 3 дней до 3 месяцев.
>> Может быть кто-то сталкивался с такой проблемой и нашел ее решение. Буду
>> благодарен за любые советы.В том то и дело, что не оказывается(во время этого волшебного момента проверял), если бы все было так просто, то поста этого не было.
Скрипт в эту таблицу добавляет адреса только с 32 маской. И самое интересное, что данный волшебный момент наступает и в то врем когда никаких манипуляций с ipfw не происходит. К примеру в выходные дни, ни 1 скрипт, затрагивающий ipfw не отрабатывается.
> В том то и дело, что не оказывается(во время этого волшебного момента
> проверял), если бы все было так просто, то поста этого не
> было.Ну в своем посте вы привели непонятный кусок таблицы, только и всего.
> Скрипт в эту таблицу добавляет адреса только с 32 маской. И самое
> интересное, что данный волшебный момент наступает и в то врем когда
> никаких манипуляций с ipfw не происходит. К примеру в выходные дни,
> ни 1 скрипт, затрагивающий ipfw не отрабатывается.Задам очень интересный вопрос и пожалуй ключевой. Вот вы пишите "периодически правило 1000 начинает блокировать весь исходящий трафик от сети 217.137.48.0/20" - а каким чудесным образом вы диагностируете блокировку всей сети сразу и именно тысячным правилом?
>[оверквотинг удален]
>> было.
> Ну в своем посте вы привели непонятный кусок таблицы, только и всего.
>> Скрипт в эту таблицу добавляет адреса только с 32 маской. И самое
>> интересное, что данный волшебный момент наступает и в то врем когда
>> никаких манипуляций с ipfw не происходит. К примеру в выходные дни,
>> ни 1 скрипт, затрагивающий ipfw не отрабатывается.
> Задам очень интересный вопрос и пожалуй ключевой. Вот вы пишите "периодически правило
> 1000 начинает блокировать весь исходящий трафик от сети 217.137.48.0/20" - а
> каким чудесным образом вы диагностируете блокировку всей сети сразу и именно
> тысячным правилом?У меня всего 4к адресов, что все из них блокируются это точно, возможно блокируется сеть шире, но в этом я не уверен, к сожалению не проверял(в след раз обязательно сделаю). Почему именно 1000, потому что на нем с невероятной скоростью начинают расти счетчики и если это правило убить то все начинает работать. И еще раз повторюсь при этом в таблице 120 ничего подозрительного нет.
Что блокируется не все это точно, т.к. инет на серваке при этом есть, bgp не падает.Я понимаю, что все это кажется "волшебством", но факт остается фактом.
> У меня всего 4к адресов, что все из них блокируются это точно,
> возможно блокируется сеть шире, но в этом я не уверен, к
> сожалению не проверял(в след раз обязательно сделаю).Дак точно, возможно или не уверен?????
> Почему именно 1000, потому
> что на нем с невероятной скоростью начинают расти счетчики и если
> это правило убить то все начинает работать.На дак это счетчик НА ВСЁ ПРАВИЛО целиком, а не на КАКОЙ-ТО ЭЛЕМЕНТ ТАБЛИЦЫ.
КАКИМ ОБРАЗОМ ВЫ СВЯЗЫВАЕТЕ БЛОКИРОВКУ КОНКРЕТНОГО АДРЕСНОГО ПРОСТРАНСТВА И ЭТОГО ПРАВИЛА???
> И еще раз повторюсь
> при этом в таблице 120 ничего подозрительного нет.Я не знаю, что для вас подозрительно, а что нет. Это ваше субъективное восприятие реальности.
> Что блокируется не все это точно, т.к. инет на серваке при этом
> есть, bgp не падает.Ёпвашу ... что в вашем понимании "все" и "не все"?
> Я понимаю, что все это кажется "волшебством", но факт остается фактом.
Проблема в том, что факты это пока лишь ваша фантазия. Чудес не бывает - бывают чудотворцы! А вот что бы фиксировать факты - включите хотя бы log на ваше "1000" правило, тогда будет о чем разговаривать. Мне например не понятно что значит ваша фраза "На сервере включен all log" ...
>> В том то и дело, что не оказывается(во время этого волшебного момента
>> проверял), если бы все было так просто, то поста этого не
>> было.
> Ну в своем посте вы привели непонятный кусок таблицы, только и всего.Повторюсь это сокращенное содержание таблицы, в оригинале около 300 ip с 32-ой маской из диапазона 217.137.48.0/20. Если бы я выложил полную таблицу, то ДА их там около 300 и ДА все ТОЧНО с 32 маской.
> Есть маршрутизатор на базе FreeBSD 9.1, используется для резки скорости и
> блокировки клиентов. Проблема заключается в том, что периодически правило 1000 начинает
> блокировать весь исходящий трафик от сети 217.137.48.0/20, соотвецтвенно все клиенты перестают
> работать. Решается проблема только удалением 1000 правила.
> Периодичность возникновения проблемы от 3 дней до 3 месяцев.Режьте порт торрентов - 6881.
>> Есть маршрутизатор на базе FreeBSD 9.1, используется для резки скорости и
>> блокировки клиентов. Проблема заключается в том, что периодически правило 1000 начинает
>> блокировать весь исходящий трафик от сети 217.137.48.0/20, соотвецтвенно все клиенты перестают
>> работать. Решается проблема только удалением 1000 правила.
>> Периодичность возникновения проблемы от 3 дней до 3 месяцев.
> Режьте порт торрентов - 6881.Зачем?
>>> Есть маршрутизатор на базе FreeBSD 9.1, используется для резки скорости и
>>> блокировки клиентов. Проблема заключается в том, что периодически правило 1000 начинает
>>> блокировать весь исходящий трафик от сети 217.137.48.0/20, соотвецтвенно все клиенты перестают
>>> работать. Решается проблема только удалением 1000 правила.
>>> Периодичность возникновения проблемы от 3 дней до 3 месяцев.
>> Режьте порт торрентов - 6881.
> Зачем?Чтобы система себя лучше чувствовала.
Система практически не нагружена.Есть уточнение правило deny работает как надо, проблема в таблице, точнее проблема возникает при заполнении таблицы.
Сама по себе таблица не содержит ничего подозрительного по крайне мере ipfw table 120 list ничего не показывает. Помогает table 120 flush.
Последний раз решал проблему вот таким вот скриптиком(т.е. заполнян ее после очистки теми же значениями):
#!/usr/local/bin/php
<?php
exec("/sbin/ipfw table 120 list | /usr/bin/awk '{print $1}'",$blocked_clients);
exec("/sbin/ipfw table 120 flush");
foreach ($blocked_clients as $ip)
{
exec("/sbin/ipfw table 120 add $ip");
}
?>