Автор Тема: iptables и DSCP  (Прочетена 732 пъти)

justme

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
iptables и DSCP
« -: Dec 12, 2005, 13:13 »
Здравейте,

опитвам се да "маркирам" трафика като локален+peer,
български и международен. след известно "мъдрене"
стигнах до следният вариант, който не работи много
адекватно (машината се товари много яко):

Примерен код

#!/bin/bash

LOC="0x00"
BUL="0x02"
INT="0x04"

CAT=/usr/bin/cat
IPT=/usr/local/sbin/iptables

BGPEERLST="/etc/bg.lst"
VNPEERLST="/etc/peer.lst"
VNPEERLSTADD="/etc/peer.lst.add"

CHN="DSCPMARK"

$IPT -t mangle -F $CHN &> /dev/null
$IPT -t mangle -X $CHN &> /dev/null
$IPT -t mangle -N $CHN &> /dev/null

$IPT -t mangle -A $CHN -s 192.168.0.0/16 -d 192.168.0.0/16 -j DSCP --set-dscp $LOC
$IPT -t mangle -A $CHN -s 192.168.0.0/16 -d 192.168.0.0/16 -j RETURN
$IPT -t mangle -A $CHN -s 192.168.0.0/16 -d XX.XX.XX.0/24 -j DSCP --set-dscp $LOC
$IPT -t mangle -A $CHN -s 192.168.0.0/16 -d XX.XX.XX.0/24 -j RETURN
$IPT -t mangle -A $CHN -d 192.168.0.0/16 -s XX.XX.XX.0/24 -j DSCP --set-dscp $LOC
$IPT -t mangle -A $CHN -d 192.168.0.0/16 -s XX.XX.XX.0/24 -j RETURN
$IPT -t mangle -A $CHN -s XX.XX.XX.0/24 -d XX.XX.XX.0/24 -j DSCP --set-dscp $LOC
$IPT -t mangle -A $CHN -s XX.XX.XX.0/24 -d XX.XX.XX.0/24 -j RETURN

$IPT -t mangle -A $CHN -i ppp+ -o ppp+ -j DSCP --set-dscp $LOC
$IPT -t mangle -A $CHN -i ppp+ -o ppp+ -j RETURN
$IPT -t mangle -A $CHN -i ppp+ -o ethX -j DSCP --set-dscp $LOC
$IPT -t mangle -A $CHN -i ppp+ -o ethX -j RETURN
$IPT -t mangle -A $CHN -o ppp+ -i ethX -j DSCP --set-dscp $LOC
$IPT -t mangle -A $CHN -o ppp+ -i ethX -j RETURN

for IP in `$CAT $VNPEERLSTADD | grep -v ^# && $CAT $VNPEERLST`;
 do
  $IPT -t mangle -A $CHN -d $IP -j DSCP --set-dscp $LOC
  $IPT -t mangle -A $CHN -d $IP -j RETURN
  $IPT -t mangle -A $CHN -s $IP -j DSCP --set-dscp $LOC
  $IPT -t mangle -A $CHN -s $IP -j RETURN
 done

for NET in `$CAT $BGPEERLST`;
 do
  $IPT -t mangle -A $CHN -d $NET -j DSCP --set-dscp $BUL
  $IPT -t mangle -A $CHN -d $NET -j RETURN
  $IPT -t mangle -A $CHN -s $NET -j DSCP --set-dscp $BUL
  $IPT -t mangle -A $CHN -s $NET -j RETURN
 done

$IPT -t mangle -A $CHN -j DSCP --set-dscp $INT
$IPT -t mangle -A $CHN -j RETURN


######################################################
$IPT -t mangle -I FORWARD -d XX.XX.XX.0/24 -j DSCPMARK
$IPT -t mangle -I FORWARD -s XX.XX.XX.0/24 -j DSCPMARK
$IPT -t mangle -I FORWARD -d 192.168.0.0/16 -j DSCPMARK
$IPT -t mangle -I FORWARD -s 192.168.0.0/16 -j DSCPMARK


и се питах дали има по-лесен (ефективен) начин
да се направи това ?
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
iptables и DSCP
« Отговор #1 -: Dec 12, 2005, 16:12 »
Виж http://www.linux-bg.org/cgi-bin/ib3/ikonboard.cgi?act=ST;f=10;t=11231
за идеи, макар там да е наблегнато повече на маркирането на отделно ИП.

С тоя RETURN дето го правиш при откриване на съвпадение след ВСЯКА проверка обаче се получава, че напр. за 100 БГ мрежи ще има трасиране средно на 100 правила. Ако слагаш RETURN през 20 мрежи например, ще имаш средно трасирани правила около 60 '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

justme

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
iptables и DSCP
« Отговор #2 -: Dec 14, 2005, 12:04 »
ами подсказаха ми за GOTO пач от P-O-M
 ама неще не съм го подкарал още - при него
 вместо -j DSCP и после -j RETURN, се използва
 -g DSCP, т.е. като мине през това правило се
 връща директно в предходната верига, а не в
 тази която го вика...

 ще тест и ще видим.
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Iptables
Настройка на програми
mozly 1 4084 Последна публикация Dec 10, 2002, 23:48
от Vency
iptables
Настройка на програми
sunhater 3 3953 Последна публикация Apr 23, 2003, 15:02
от sunhater
iptables
Настройка на програми
dumdum 4 4561 Последна публикация Apr 30, 2003, 10:40
от dumdum
IPTABLES
Настройка на програми
achird 2 4635 Последна публикация May 20, 2003, 14:14
от achird
Dscp za qos
Хардуерни и софтуерни проблеми
Newbie81 0 711 Последна публикация Nov 23, 2007, 05:46
от Newbie81