<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Правила tc блокируют доступ некоторых хостов</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html</link>
    <description>Здравствуйте!&lt;br&gt;&lt;br&gt;Проблема такая: есть скрипт, которые устанавливает правила нарезки трафика tc для сети на брандмауэре. При запуске этого скрипта иногда блокируются некоторые хосты в сети (под блокировкой понимается отсутствие доступа в интернет). tcpdump ничего не дает. Видно, что пакет приходит, но дальше теряется где-то в недрах ядра. Вся эта петрушка лечится повторным запуском скрипта (скрипт реагирует на up и down).&lt;br&gt;&lt;br&gt;Если кто-то может помочь, был бы очень рад. Могу предоставить дополнительную информацию.&lt;br&gt;&lt;br&gt;Система: Linux wall 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64 GNU/Linux&lt;br&gt;&lt;br&gt;Спасибо.&lt;br&gt;</description>

<item>
    <title>Правила tc блокируют доступ некоторых хостов (boot0user)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html#10</link>
    <pubDate>Wed, 10 Oct 2012 05:40:54 GMT</pubDate>
    <description>&amp;gt; много где сказано, что это делать можно, т.к. все эти идентификаторы и &lt;br&gt;&amp;gt; классы локальны &lt;br&gt;&amp;gt; для каждого интерфейса.&lt;br&gt;&lt;br&gt;По идее - да... Но спокойнее, когда они разные... К тому же для классов хендлеры начинаются с 8000, а у меня начинались с 200 (как у фильтров)... Я уже сталкивался с тем, что в некоторых системах такие значения принимаются, но грабли вылазят... Поэтому, лучше довериться операционке, если это возможно... К тому же в моей, несмотря на то, что они локальны для интерфейсов, операционка выдает для разных интерфейсов разные индентификаторы, которые идут подряд, т.е. 8000, 8001 и т.д.&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Я изменил идентификаторы так, что они не пересекаются. Добавил приоритеты.. После 5 &lt;br&gt;&amp;gt; вот скорее всего как раз добавление приоритетов и помогло. с приоритетами есть &lt;br&gt;&amp;gt; некоторые &lt;br&gt;&amp;gt; неочевидные нюансы.&lt;br&gt;&lt;br&gt;В фильтрах prio заметен больше всего... :)&lt;br&gt;&lt;br&gt;&amp;gt; хэш считается по одному ключу.&lt;br&gt;&amp;gt; 3. filter add dev $devNIF protocol all prio 1 parent 1:11 handle &lt;br&gt;&amp;gt; 111 flow hash keys dst divisor 1024 &lt;br&gt;&amp;gt; здесь достаточ</description>
</item>

<item>
    <title>Правила tc блокируют доступ некоторых хостов (Z0termaNN)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html#9</link>
    <pubDate>Tue, 09 Oct 2012 14:16:22 GMT</pubDate>
    <description>&amp;gt;&amp;gt; я бы для начала убрал бы flow classifier. если пакеты будут по &lt;br&gt;&amp;gt;&amp;gt; прежнему пропадать, &lt;br&gt;&amp;gt;&amp;gt; то есть еще мысли.&lt;br&gt;&amp;gt; Z0termaNN, спасибо за твой ответ...&lt;br&gt;&amp;gt; У меня мысли вот какие... В моих правилах идентификаторы классов, хендлеров и &lt;br&gt;&amp;gt; остального пересекаются. Нигде не сказано, что этого делать нельзя, к тому &lt;br&gt;&amp;gt; же интерфейсы разные.&lt;br&gt;&lt;br&gt;много где сказано, что это делать можно, т.к. все эти идентификаторы и классы локальны &lt;br&gt;для каждого интерфейса.&lt;br&gt;&lt;br&gt;&amp;gt; Я изменил идентификаторы так, что они не пересекаются. Добавил приоритеты.. После 5 &lt;br&gt;&lt;br&gt;вот скорее всего как раз добавление приоритетов и помогло. с приоритетами есть некоторые&lt;br&gt;неочевидные нюансы.&lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; ceilHiUl=&quot;40mbit&quot; &lt;br&gt;&amp;gt; quantHi=&quot;1514&quot; &lt;br&gt;&amp;gt; rateLoDl=&quot;30mbit&quot; &lt;br&gt;&amp;gt; ceilLoDl=&quot;60mbit&quot; &lt;br&gt;&amp;gt; rateLoUl=&quot;20mbit&quot; &lt;br&gt;&amp;gt; ceilLoUl=&quot;40mbit&quot; &lt;br&gt;&amp;gt; quantLo=&quot;1514&quot; &lt;br&gt;&amp;gt; devNIF=eth0 &lt;br&gt;&amp;gt; devFIF=ifb0 &lt;br&gt;&amp;gt; P.S. Возможно, из-за одинаковых идентификаторов, пакеты мешались в очередях..&lt;br&gt;&lt;br&gt;несколько несущественных замечаний.&lt;br&gt;&lt;br&gt;1. я бы делал все одним приемом, приме</description>
</item>

<item>
    <title>Правила tc блокируют доступ некоторых хостов (boot0user)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html#8</link>
    <pubDate>Tue, 09 Oct 2012 13:45:19 GMT</pubDate>
    <description>&amp;gt; я бы для начала убрал бы flow classifier. если пакеты будут по &lt;br&gt;&amp;gt; прежнему пропадать, &lt;br&gt;&amp;gt; то есть еще мысли.&lt;br&gt;&lt;br&gt;Z0termaNN, спасибо за твой ответ...&lt;br&gt;&lt;br&gt;У меня мысли вот какие... В моих правилах идентификаторы классов, хендлеров и остального пересекаются. Нигде не сказано, что этого делать нельзя, к тому же интерфейсы разные. &lt;br&gt;&lt;br&gt;Я изменил идентификаторы так, что они не пересекаются. Добавил приоритеты.. После 5 дней все в норме. Перезагрузка правил не приводит к неверной работе. Также я опустил некоторые параметры, которые являются дополнительными - пусть система сама думает, какие идентификаторы выбрать... Плюс - сделал вместо скрипта на up интерфейса, скрипт, который пускается как сервис.&lt;br&gt;&lt;br&gt;(Собственно, правила в первоначальном варианте и были такими, какие они сейчас... Просто я решил сделать более эстетично или академически, что-ли... :)&lt;br&gt;&lt;br&gt;/etc/init.d/hi-me-lo&lt;br&gt;&lt;br&gt;#! /bin/sh&lt;br&gt;### BEGIN INIT INFO&lt;br&gt;# Provides: hilo-tc-shaper&lt;br&gt;# Required-Start: $network $syslog&lt;br&gt;# Required-Stop: $network $syslog&lt;br&gt;# Should-</description>
</item>

<item>
    <title>Правила tc блокируют доступ некоторых хостов (Z0termaNN)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html#7</link>
    <pubDate>Tue, 09 Oct 2012 12:55:45 GMT</pubDate>
    <description>я бы для начала убрал бы flow classifier. если пакеты будут по прежнему пропадать,&lt;br&gt;то есть еще мысли.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Правила tc блокируют доступ некоторых хостов (boot0user)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html#6</link>
    <pubDate>Wed, 03 Oct 2012 06:32:28 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; $cmdTC filter add dev $devNIF parent ffff: protocol all u32 match u32 &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 0 0 action mirred egress redirect dev $devFIF &lt;br&gt;&amp;gt;&amp;gt; Пробовал переносить ingress в начало... Тогда внутренний интерфейс вообще не доступен...&lt;br&gt;&amp;gt;&amp;gt; Если перед правилами для ifb, результат не меняется...&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ИМХО добавление sleep решит, но нужно-же иногда и ...&lt;br&gt;&amp;gt;&amp;gt; Я об это думал... Похоже, что иногда в ядре происходит не все &lt;br&gt;&amp;gt;&amp;gt; так быстро, как хотелось бы... Но... Слип - это не камельфо...&lt;br&gt;&amp;gt;&amp;gt; Это крайняя мера... Не хотелось бы...&lt;br&gt;&amp;gt; дык естевственно что слип не есть хорошо , пишем скрипт и полностью &lt;br&gt;&amp;gt; проверяем как и что &lt;br&gt;&lt;br&gt;Я вызываю свой скрипт с параметром &quot;down&quot;... Потом жду секунд 20... Делаю &quot;up&quot;... И... Все тоже самое... Некоторые хосты отваливаются...&lt;br&gt;</description>
</item>

<item>
    <title>Правила tc блокируют доступ некоторых хостов (pavel_simple)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html#5</link>
    <pubDate>Wed, 03 Oct 2012 05:52:42 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; в него и попадают...&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; $cmdTC qdisc add dev $devNIF ingress &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; $cmdTC filter add dev $devNIF parent ffff: protocol all u32 match u32 &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 0 0 action mirred egress redirect dev $devFIF &lt;br&gt;&amp;gt; Пробовал переносить ingress в начало... Тогда внутренний интерфейс вообще не доступен... &lt;br&gt;&amp;gt; Если перед правилами для ifb, результат не меняется...&lt;br&gt;&amp;gt;&amp;gt; ИМХО добавление sleep решит, но нужно-же иногда и ...&lt;br&gt;&amp;gt; Я об это думал... Похоже, что иногда в ядре происходит не все &lt;br&gt;&amp;gt; так быстро, как хотелось бы... Но... Слип - это не камельфо... &lt;br&gt;&amp;gt; Это крайняя мера... Не хотелось бы...&lt;br&gt;&lt;br&gt;дык естевственно что слип не есть хорошо , пишем скрипт и полностью проверяем как и что&lt;br&gt;</description>
</item>

<item>
    <title>Правила tc блокируют доступ некоторых хостов (boot0user)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html#4</link>
    <pubDate>Wed, 03 Oct 2012 05:46:24 GMT</pubDate>
    <description>&amp;gt;&amp;gt; modprobe ifb &lt;br&gt;&amp;gt;&amp;gt; ip link set $devFIF up 2&amp;gt;/dev/null &lt;br&gt;&amp;gt; сдесь нужно поставить как минимум слип, чтобы бытm увереныым что интерфейс поднялся &lt;br&gt;&lt;br&gt;Между делом, добавил загрузку ifb в /etc/modules, в /etc/networks/interfaces добавил ifb0 в hotplug... Результат не изменился...&lt;br&gt; &lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; $cmdTC qdisc add dev $devNIF parent 1:12 handle 112: sfq perturb 10 &lt;br&gt;&amp;gt;&amp;gt; # Create filters for network interface &lt;br&gt;&amp;gt;&amp;gt; $cmdTC filter add dev $devNIF protocol all parent 1:0 u32 match ip &lt;br&gt;&amp;gt;&amp;gt; dst 10.252.2.0/24 flowid 1:11 &lt;br&gt;&amp;gt;&amp;gt; $cmdTC filter add dev $devNIF protocol all parent 111: handle 111 flow &lt;br&gt;&amp;gt;&amp;gt; hash keys dst divisor 1024 baseclass 1:11 &lt;br&gt;&amp;gt;&amp;gt; $cmdTC filter add dev $devNIF protocol all parent 112: handle 112 flow &lt;br&gt;&amp;gt;&amp;gt; hash keys dst divisor 1024 baseclass 1:12 &lt;br&gt;&amp;gt; сдесь смущает использование сети /24 и делителя в 1024 мне всегда казалось &lt;br&gt;&amp;gt; что в такую сеть больше 256 хостов не влезает &lt;br&gt;&lt;br&gt;Первый фильтр - на сеть из 254 хостов... Остальная сеть - порядка 500 компов... Поэтому такой большой хэш... Это дефолт</description>
</item>

<item>
    <title>Правила tc блокируют доступ некоторых хостов (pavel_simple)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html#3</link>
    <pubDate>Wed, 03 Oct 2012 05:08:52 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; quantHi=&quot;1514&quot; &lt;br&gt;&amp;gt; rateLoDl=&quot;30mbit&quot; &lt;br&gt;&amp;gt; ceilLoDl=&quot;60mbit&quot; &lt;br&gt;&amp;gt; rateLoUl=&quot;20mbit&quot; &lt;br&gt;&amp;gt; ceilLoUl=&quot;40mbit&quot; &lt;br&gt;&amp;gt; quantLo=&quot;1514&quot; &lt;br&gt;&amp;gt; devNIF=eth0 &lt;br&gt;&amp;gt; devFIF=ifb0 &lt;br&gt;&amp;gt; modprobe ifb &lt;br&gt;&amp;gt; ip link set $devFIF up 2&amp;gt;/dev/null &lt;br&gt;&lt;br&gt;сдесь нужно поставить как минимум слип, чтобы бытm увереныым что интерфейс поднялся&lt;br&gt;&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; ceil $&#123;ceilLoDl&#125; quantum $&#123;quantLo&#125; &lt;br&gt;&amp;gt; $cmdTC qdisc add dev $devNIF parent 1:11 handle 111: sfq perturb 10 &lt;br&gt;&amp;gt; $cmdTC qdisc add dev $devNIF parent 1:12 handle 112: sfq perturb 10 &lt;br&gt;&amp;gt; # Create filters for network interface &lt;br&gt;&amp;gt; $cmdTC filter add dev $devNIF protocol all parent 1:0 u32 match ip &lt;br&gt;&amp;gt; dst 10.252.2.0/24 flowid 1:11 &lt;br&gt;&amp;gt; $cmdTC filter add dev $devNIF protocol all parent 111: handle 111 flow &lt;br&gt;&amp;gt; hash keys dst divisor 1024 baseclass 1:11 &lt;br&gt;&amp;gt; $cmdTC filter add dev $devNIF protocol all parent 112: handle 112 flow &lt;br&gt;&amp;gt; hash keys dst divisor 1024 baseclass 1:12 &lt;br&gt;&lt;br&gt;сдесь смущает использование сети /24 и делителя в 1024 мне всегда казалось что в такую сеть больш</description>
</item>

<item>
    <title>Правила tc блокируют доступ некоторых хостов (boot0user)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/93861.html#2</link>
    <pubDate>Tue, 02 Oct 2012 14:14:59 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Проблема такая: есть скрипт, которые &lt;br&gt;&amp;gt;&amp;gt; Если кто-то может помочь, был бы очень рад. Могу предоставить дополнительную информацию.&lt;br&gt;&amp;gt; Предоставьте смету в раздел &quot;Предложение работы&quot; форума.&lt;br&gt;&lt;br&gt;Иногда проблема исчезает после нескольких перезапусков скрипта.&lt;br&gt;&lt;br&gt;Собственно скрипт:&lt;br&gt;&lt;br&gt;#!/bin/sh&lt;br&gt;&lt;br&gt;cmdTC=/sbin/tc&lt;br&gt;&lt;br&gt;rateLANDl=&quot;60mbit&quot;&lt;br&gt;ceilLANDl=&quot;60mbit&quot;&lt;br&gt;rateLANUl=&quot;40mbit&quot;&lt;br&gt;ceilLANUl=&quot;40mbit&quot;&lt;br&gt;quantLAN=&quot;1514&quot;&lt;br&gt;&lt;br&gt;# Nowaday bandwidth limit set to 100mbit.&lt;br&gt;# We divide it with 60mbit download and 40mbit upload bandthes.&lt;br&gt;&lt;br&gt;rateHiDl=&quot;30mbit&quot;&lt;br&gt;ceilHiDl=&quot;60mbit&quot;&lt;br&gt;rateHiUl=&quot;20mbit&quot;&lt;br&gt;ceilHiUl=&quot;40mbit&quot;&lt;br&gt;quantHi=&quot;1514&quot;&lt;br&gt;&lt;br&gt;rateLoDl=&quot;30mbit&quot;&lt;br&gt;ceilLoDl=&quot;60mbit&quot;&lt;br&gt;rateLoUl=&quot;20mbit&quot;&lt;br&gt;ceilLoUl=&quot;40mbit&quot;&lt;br&gt;quantLo=&quot;1514&quot;&lt;br&gt;&lt;br&gt;devNIF=eth0&lt;br&gt;devFIF=ifb0&lt;br&gt;&lt;br&gt;modprobe ifb&lt;br&gt;ip link set $devFIF up 2&amp;gt;/dev/null&lt;br&gt;&lt;br&gt;#exit 0&lt;br&gt;&lt;br&gt;################################################################################################&lt;br&gt;# Remove discuiplines from network and fake interfaces&lt;br&gt;##################################################################</description>
</item>

</channel>
</rss>
