From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_00,RCVD_NUMERIC_HELO autolearn=no version=3.2.3 X-Injected-Via-Gmane: http://gmane.org/ To: sysadmins@lists.altlinux.org From: Andrew Kornilov Date: Sun, 25 May 2008 02:00:24 +0300 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 92.113.91.226 User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) Cancel-Lock: sha1:0yWVaiJ6IcDykfpjCLS5khfiJy4= Sender: news Subject: [Sysadmins] iptables -j MARK X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux sysadmin discuss List-Id: ALT Linux sysadmin discuss List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 May 2008 23:00:06 -0000 Archived-At: List-Archive: Приветствую. Перекладываю сейчас ADSL Bandwidth Management HOWTO на настройки etcnet, для этого уже и патчик небольшой в config-qos добавил. Есть вопрос по модулю MARK в iptables: важен ли порядок следования команд iptables для конечного результата? Судя по тестированию, iptables не использует схему first match, то есть, возврата из списка правил нет при найденном совпадении. Поясню: mark as 23 if tcp and sport is 0:1024 mark as 23 if tcp and dport is 0:1024 mark as 23 if tcp and dport is 5190 mark as 23 if tcp and sport is 5190 mark as 23 if tcp and dport is 5222 mark as 23 if tcp and sport is 5222 mark as 23 if tcp and dport is 5223 mark as 23 if tcp and sport is 5223 mark as 22 if tcp and dport is ssh mark as 22 if tcp and sport is ssh mark as 22 if tcp and dport is telnet mark as 22 if tcp and sport is telnet mark as 21 if tcp and length is :64 mark as 21 if udp mark as 20 if icmp mark as 26 if tcp and sport is 20 mark as 26 if tcp and dport is 20 mark as 26 if tcp and sport is 25 mark as 26 if tcp and dport is 25 mark as 26 if marked as 0 mark as 26 Например, правило маркировки mark as 26 if tcp and dport is 20 попадает в более общее правило mark as 23 if tcp and dport is 0:1024. iptables увеличивает счетчик в обоих правилах, то есть, он для каждого пакета пытается применить каждое правило, независимо от успешности предыдущего. Меня интересует, какое конечное значение mark будет у пакета (которое и будет анализировать /sbin/tc) и как его вообще увидеть? Хочется отладить это дело. Сейчас пока я убедился в одном: заявленной задержки того же ping-а в районе 100 ms при загрузке канала получить на ядре 2.6.24 почему-то не удается, она стабильно в районе 500 ms получается, хотя все счётчики крутятся и с виду всё правильно ;-) --