Тодор Лазаров Публикувано 23 Юни, 2009 Доклад Сподели Публикувано 23 Юни, 2009 Въпроса ми е принципен. Имам debian router /вярно това е микротик форум, но много от посещаващите използват linux box за роутер/, та схемата ми е. debian | eth0 ---vlan 2 .... vlan20 каде е по правилно да се извърши трафик контрола върху eth0 или на самите vlan-i /реципрочно eth0.2 ... eth0.20/ т.е опашките да са на eth0.2 ... eth0.20 или върху главния интерфейс eth0 Адрес на коментара Сподели в други сайтове More sharing options...
Mupo neTkoB Отговорено 23 Юни, 2009 Доклад Сподели Отговорено 23 Юни, 2009 според мен трябва на vlan-ите. по-нататък може да решиш да правиш разлика в/у трафика на влан1-20 a ако направиш на eth0 някакъв шейп то май ще се отрази на всички влани не знам дали мисля правилно и не искам да си сигурен в мението ми така мисля аз и така бих го направил пък не знам дали е правилно Теория - това е когато знаете всичко, но нищо не работи Практика - това е когато всичко работи, но не знаете защо При нас съчетаваме теорията с практиката - НИЩО не работи и нямаме понятие защо!!! Адрес на коментара Сподели в други сайтове More sharing options...
NetworkPro Отговорено 23 Юни, 2009 Доклад Сподели Отговорено 23 Юни, 2009 На eth0 е по-правилно за да е 90-100M max-limit (ceil)-а, за да имаш 100% queue контрол. Само дали е възможно и как ще маркираш трафика който да вкарваш в "опашките" - е Linux въпрос на който не мога да отговоря... Щото трябва да маркираш поотделно пакетите които влизат във всеки VLAN, или може и по VLAN таг, то зависи каква е целта! - Адрес на коментара Сподели в други сайтове More sharing options...
Mile Отговорено 23 Юни, 2009 Доклад Сподели Отговорено 23 Юни, 2009 + IMQ с PREROUTING и POSTROUTING иначе незнам какво ще правиш. И това няма нищо общо с qos, а си те интересува чисто шейпене. А почне ли един път после сънуваш шейпъри и конфигурации от по N*+ лева. Адрес на коментара Сподели в други сайтове More sharing options...
Тодор Лазаров Отговорено 24 Юни, 2009 Автор Доклад Сподели Отговорено 24 Юни, 2009 t.e. в mangle-to да маркирам пакетите на изходящия за тях vlan-x а tc да го пусна на главния интерфейс tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1: htb tc class add dev eth0 parent 1: classid 1:1 htb rate 1000Mbit tc class add dev eth0 parent 1:1 classid 1:101 htb rate $speed_rate ceil $speed_ceil prio 2 tc qdisc add dev eth0 parent 1:101 handle 101 sfq tc filter add dev eth0 parent 1:0 prio 2 protocol ip handle 101 fw flowid 1:101 iptables -t mangle -A POSTROUTING -o vlan-x -d $ip -j MARK --set-mark 1:101 между другото доста изчерпателна картинка как минава трафика Иначе ми е интерeсна идеята с IMQ-/да се прави queue на входящия интерфейс там където влиза НЕТ-а/ но това не е ли само за up трафика. Адрес на коментара Сподели в други сайтове More sharing options...
NetworkPro Отговорено 24 Юни, 2009 Доклад Сподели Отговорено 24 Юни, 2009 За queue на входящия - Доколкото разбирам е така - там за upload-а ще стане. rate-а =1000Mbit е по-реалистично да се сетне след тестване на линка. Например теста ще покаже 890Mbit и rate-а трябва да е 889Mbit. Например udp тест в двете посоки като се гледа колко се приема и се счита за максимума възможен да се прекара през интерфейса. Ако имаш някакъв по-сериозен switch може да прекараш трафика през него и да конфигурираш VLAN-ите и разпределянето на скоростите там, това ще ти остави повече ресурси на тази машина. Иначе моята логика е такава: Пример Имаме (почти) 1000Mbit ceil rate -- VLAN1 гарантирани 200М максимум - 1000 приоритет 1 -- VLAN2 гарантирани 250М максимум - 1000 приоритет 2 -- VLAN3 гарантирани 150М максимум - 1000 приоритет 3 -- VLAN4 гарантирани 100М максимум - 1000 приоритет 4 -- VLAN5 гарантирани 300М максимум - 1000 приоритет 5 Може да опиташ най-лесния подход за конфигурация и в последствие да опиташ да проследиш качеството на услугата и на разпределянето на скоростта. Лично аз бих работил с RouterOS за да ми е по-лесно. А в Lniux форуми нищо не ти пречи да постнеш проблема - Адрес на коментара Сподели в други сайтове More sharing options...
Администратор kokaracha Отговорено 24 Юни, 2009 Администратор Доклад Сподели Отговорено 24 Юни, 2009 Така както си го описал не е много ясна постановката.Колко физически интерфеиса имаш ?. Шеипнга трябва да се прави на вътрешния интерфеис (lan) за download-a и на външния (wan) за upload-a,ако искаш да предлагаш КАЧЕСТВЕНА услуга. В случая при теб ако приема, че eth0 e вътрешния интерфейс и на него са ти вдигнати вланите правиш шеипа на самите вланите. Иначе правилно се се ориентирал към дебиана,леко върви,страхотен network throughput и много инфо за него. Use since OpenBSD 3.x FreeBSD 4.x Centos 5.x Debian 3.x Ubuntu 7.x Аз съм фен на OpenWRT. Горчивината от лошото качество остава дълго след като е преминало удоволствието от ниската цена. _____________________________ ___|____|____|____|____|____|__ _|____|____|____|____|____|____ ___|____|_ Удряй _|____|____|__ _|____|___ главата ___|____|____ ___|____|_ си тук!! |____|____|__ _|____|____|____|____|____|____ ___|____|____|____|____|____|__ Адрес на коментара Сподели в други сайтове More sharing options...
Тодор Лазаров Отговорено 24 Юни, 2009 Автор Доклад Сподели Отговорено 24 Юни, 2009 Благодаря на всички от това което разбраш: 1. rate го слагам колко държи интерфейса, като за всеки vlan си слагам определен клас/networkpro/ 2. трафик контрола го правя върху vlan-te там където влизат клиентите 3. бягам да взимам ipacct Адрес на коментара Сподели в други сайтове More sharing options...
Администратор kokaracha Отговорено 24 Юни, 2009 Администратор Доклад Сподели Отговорено 24 Юни, 2009 Благодаря на всички от това което разбраш: 1. rate го слагам колко държи интерфейса, като за всеки vlan си слагам определен клас/networkpro/ 2. трафик контрола го правя върху vlan-te там където влизат клиентите 3. бягам да взимам ipacct 1. какво ще шейшваш не снана ясно,клиентите във вланите или скоростта на самите влани както си попитал (vlan qos) 2. така шеипаш адреси/киленти които са в този влан 3. ipacct e билинг(система за управление),шейпа ще ти го прави дебиана имаш го Use since OpenBSD 3.x FreeBSD 4.x Centos 5.x Debian 3.x Ubuntu 7.x Аз съм фен на OpenWRT. Горчивината от лошото качество остава дълго след като е преминало удоволствието от ниската цена. _____________________________ ___|____|____|____|____|____|__ _|____|____|____|____|____|____ ___|____|_ Удряй _|____|____|__ _|____|___ главата ___|____|____ ___|____|_ си тук!! |____|____|__ _|____|____|____|____|____|____ ___|____|____|____|____|____|__ Адрес на коментара Сподели в други сайтове More sharing options...
Mile Отговорено 25 Юни, 2009 Доклад Сподели Отговорено 25 Юни, 2009 Вероятноста да направиш грешка е много голяма. Първо: Навлизаш в ниво съвсем разилично от типа краен клинт. Втора: Опитните свинчета плащат Трето: Има много начини да се постигне един резултат. Ако се държи да спечелиш 1000-2000 лева повече може би интернет доставката не е точно бизнеса, който ти допада. Всъщност шапчка свалям на всеки печлещ.. Адрес на коментара Сподели в други сайтове More sharing options...
Тодор Лазаров Отговорено 25 Юни, 2009 Автор Доклад Сподели Отговорено 25 Юни, 2009 Парите ги дава друг фирмата не е моя собственост аз съм администратор ... Относно shepar-a ще ограничавам клиентите който влизат в тези vlan-и А че билинга е сладка работа ... това няма спор. Затова е и платен, всяко удовоствие се заплаща. Адрес на коментара Сподели в други сайтове More sharing options...
netronix Отговорено 26 Юни, 2009 Доклад Сподели Отговорено 26 Юни, 2009 3. ipacct e билинг(система за управление),шейпа ще ти го прави дебиана имаш го Как така само билинг(система за управление)? Според мен е перфектен шейпър... Wireless is more temperamental & variable than a woman’s mood! "no matter how hard you try, you just can NOT please everyone" "където глупостта е образец-там разума е безумие.."Гьоте Адрес на коментара Сподели в други сайтове More sharing options...
Тодор Лазаров Отговорено 26 Юни, 2009 Автор Доклад Сподели Отговорено 26 Юни, 2009 Билинга е система която пускайки пари и правила ги преобразува в shepar и iptables. Та човека с няколко клика да направи сумати команди, и да не пише синтаксис от рода Usage: tc [ OPTIONS ] OBJECT { COMMAND | help } tc [-force] -batch file where OBJECT := { qdisc | class | filter | action | monitor } OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -b[atch] [file] } разбира се най общо казано ... Адрес на коментара Сподели в други сайтове More sharing options...
Администратор kokaracha Отговорено 26 Юни, 2009 Администратор Доклад Сподели Отговорено 26 Юни, 2009 Всичко е толкова просто.Защо никой не харесва простите неща ! ifconfig_dc0="inet xx.xx.xx.xxx netmask 255.255.255.248" ifconfig_dc0_alias0="inet xx.xx.xx.xxx netmask 255.255.255.248" ifconfig_em0="inet 172.16.21.124 netmask 255.255.255.0" cloned_interfaces="vlan11 vlan22 vlan23 vlan25 vlan26 vlan27 vlan28 vlan29 vlan30 vlan31 vlan32 vlan33 vlan34 vlan35 vlan36 vlan37 vlan38 vlan39 vlan40 vlan41 vlan42 vlan43 vlan44 vlan45 vlan46 vlan47 vlan48 vlan49 vlan50 vlan100" ifconfig_vlan11="inet 172.16.24.124 netmask 255.255.255.0 vlan 11 vlandev em0" ifconfig_vlan22="inet 172.16.22.124 netmask 255.255.255.0 vlan 22 vlandev em0" ifconfig_vlan23="inet 172.16.23.124 netmask 255.255.255.0 vlan 23 vlandev em0" ifconfig_vlan25="inet 172.16.25.124 netmask 255.255.255.0 vlan 25 vlandev em0" ifconfig_vlan26="inet 172.16.26.124 netmask 255.255.255.0 vlan 26 vlandev em0" ifconfig_vlan27="inet 172.16.27.124 netmask 255.255.255.0 vlan 27 vlandev em0" ifconfig_vlan28="inet 172.16.28.124 netmask 255.255.255.0 vlan 28 vlandev em0" ifconfig_vlan29="inet 172.16.29.124 netmask 255.255.255.0 vlan 29 vlandev em0" ifconfig_vlan30="inet 172.16.30.124 netmask 255.255.255.0 vlan 30 vlandev em0" ifconfig_vlan31="inet 172.16.31.124 netmask 255.255.255.0 vlan 31 vlandev em0" ifconfig_vlan32="inet 172.16.32.124 netmask 255.255.255.0 vlan 32 vlandev em0" ifconfig_vlan33="inet 172.16.33.124 netmask 255.255.255.0 vlan 33 vlandev em0" ifconfig_vlan34="inet 172.16.34.124 netmask 255.255.255.0 vlan 34 vlandev em0" ifconfig_vlan35="inet 172.16.35.124 netmask 255.255.255.0 vlan 35 vlandev em0" ifconfig_vlan36="inet 172.16.36.124 netmask 255.255.255.0 vlan 36 vlandev em0" ifconfig_vlan37="inet 172.16.37.124 netmask 255.255.255.0 vlan 37 vlandev em0" ifconfig_vlan38="inet 172.16.38.124 netmask 255.255.255.0 vlan 38 vlandev em0" ifconfig_vlan39="inet 172.16.39.124 netmask 255.255.255.0 vlan 39 vlandev em0" ifconfig_vlan40="inet 172.16.40.124 netmask 255.255.255.0 vlan 40 vlandev em0" ifconfig_vlan41="inet 172.16.41.124 netmask 255.255.255.0 vlan 41 vlandev em0" ifconfig_vlan42="inet 172.16.42.124 netmask 255.255.255.0 vlan 42 vlandev em0" ifconfig_vlan43="inet 172.16.43.124 netmask 255.255.255.0 vlan 43 vlandev em0" ifconfig_vlan44="inet 172.16.44.124 netmask 255.255.255.0 vlan 44 vlandev em0" ifconfig_vlan45="inet 172.16.45.124 netmask 255.255.255.0 vlan 45 vlandev em0" ifconfig_vlan46="inet 172.16.46.124 netmask 255.255.255.0 vlan 46 vlandev em0" ifconfig_vlan47="inet 172.16.47.124 netmask 255.255.255.0 vlan 47 vlandev em0" ifconfig_vlan48="inet 172.16.48.124 netmask 255.255.255.0 vlan 48 vlandev em0" ifconfig_vlan49="inet 172.16.49.124 netmask 255.255.255.0 vlan 49 vlandev em0" ifconfig_vlan50="inet 172.16.50.124 netmask 255.255.255.0 vlan 50 vlandev em0" ifconfig_vlan100="inet 172.16.100.124 netmask 255.255.255.0 vlan 100 vlandev em0" ............ ipfw='/sbin/ipfw -q' net22='172.16.22.0/24' net23='172.16.23.0/24' net24='172.16.24.0/24' net25='172.16.25.0/24' net26='172.16.26.0/24' net27='172.16.27.0/24' net29='172.16.29.0/24' net28='172.16.28.0/24' net30='172.16.30.0/24' net31='172.16.31.0/24' net32='172.16.32.0/24' net33='172.16.33.0/24' net34='172.16.34.0/24' net35='172.16.35.0/24' net36='172.16.36.0/24' net37='172.16.37.0/24' net38='172.16.38.0/24' net39='172.16.39.0/24' net40='172.16.40.0/24' net41='172.16.41.0/24' net42='172.16.42.0/24' net43='172.16.43.0/24' net44='172.16.44.0/24' net45='172.16.45.0/24' net46='172.16.46.0/24' net47='172.16.47.0/24' net48='172.16.48.0/24' net49='172.16.49.0/24' net50='172.16.50.0/24' net100='172.16.100.0/24' ${ipfw} -f table 5 flush ${ipfw} table 5 add ${net22} ${ipfw} table 5 add ${net23} ${ipfw} table 5 add ${net24} ${ipfw} table 5 add ${net25} ${ipfw} table 5 add ${net26} ${ipfw} table 5 add ${net27} ${ipfw} table 5 add ${net28} ${ipfw} table 5 add ${net29} ${ipfw} table 5 add ${net30} ${ipfw} table 5 add ${net31} ${ipfw} table 5 add ${net32} ${ipfw} table 5 add ${net33} ${ipfw} table 5 add ${net34} ${ipfw} table 5 add ${net35} ${ipfw} table 5 add ${net36} ${ipfw} table 5 add ${net37} ${ipfw} table 5 add ${net38} ${ipfw} table 5 add ${net39} ${ipfw} table 5 add ${net40} ${ipfw} table 5 add ${net41} ${ipfw} table 5 add ${net42} ${ipfw} table 5 add ${net43} ${ipfw} table 5 add ${net44} ${ipfw} table 5 add ${net45} ${ipfw} table 5 add ${net46} ${ipfw} table 5 add ${net47} ${ipfw} table 5 add ${net48} ${ipfw} table 5 add ${net49} ${ipfw} table 5 add ${net50} ${ipfw} table 5 add ${net100} ifout='dc0' iflocal23='vlan23' iflocal26='vlan26' iflocal22='vlan22' iflocal24='vlan11' iflocal25='vlan25' iflocal27='vlan27' iflocal28='vlan28' iflocal29='vlan29' iflocal30='vlan30' iflocal31='vlan31' iflocal32='vlan32' iflocal33='vlan33' iflocal34='vlan34' iflocal35='vlan35' iflocal36='vlan36' iflocal37='vlan37' iflocal38='vlan38' iflocal39='vlan39' iflocal40='vlan40' iflocal41='vlan41' iflocal42='vlan42' iflocal43='vlan43' iflocal44='vlan44' iflocal45='vlan45' iflocal46='vlan46' iflocal47='vlan47' iflocal48='vlan48' iflocal49='vlan49' iflocal50='vlan50' iflocal100='vlan100' ${ipfw} -f flush ${ipfw} -f pipe flush ${ipfw} pipe 1 config bw 3Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 2 config bw 3Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 3 config bw 3Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 4 config bw 3Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 5 config bw 3Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 6 config bw 3Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 7 config bw 3Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 8 config bw 3Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 9 config bw 7Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 10 config bw 7Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 11 config bw 3Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 12 config bw 3Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 13 config bw 64Kbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 14 config bw 64Kbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 15 config bw 128Kbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 16 config bw 64Kbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 17 config bw 256Kbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 18 config bw 256Kbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 19 config bw 3000Kbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 20 config bw 3000Kbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 21 config bw 512Kbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 22 config bw 256Kbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 23 config bw 7Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 24 config bw 7Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 25 config bw 7Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 26 config bw 7Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 27 config bw 7Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 28 config bw 7Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 29 config bw 7Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 30 config bw 7Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} pipe 31 config bw 3Mbit/s mask dst-ip 0XFFFFFFFF ${ipfw} pipe 32 config bw 3Mbit/s mask src-ip 0XFFFFFFFF ${ipfw} add 20 check-state ${ipfw} add 25 allow ip from any to any via lo0 ${ipfw} add 30 allow ip from me to any keep-state ${ipfw} add 35 allow all from any to any 2350 ${ipfw} add 40 allow ip from "table(5)" to "table(5)" ${ipfw} add 50 allow ip from any to me 6666,6667,6668,6669,6670 ${ipfw} add 200 deny ip from "table(5)" to any 25,110,143 ${ipfw} add 220 deny ip from not ${net22} to any via ${iflocal22} in ${ipfw} add 220 deny ip from not ${net23} to any via ${iflocal23} in ${ipfw} add 220 deny ip from not ${net24} to any via ${iflocal24} in ${ipfw} add 220 deny ip from not ${net25} to any via ${iflocal25} in ${ipfw} add 220 deny ip from not ${net26} to any via ${iflocal26} in ${ipfw} add 220 deny ip from not ${net27} to any via ${iflocal27} in ${ipfw} add 220 deny ip from not ${net28} to any via ${iflocal28} in ${ipfw} add 220 deny ip from not ${net29} to any via ${iflocal29} in ${ipfw} add 220 deny ip from not ${net30} to any via ${iflocal30} in ${ipfw} add 220 deny ip from not ${net31} to any via ${iflocal31} in ${ipfw} add 220 deny ip from not ${net32} to any via ${iflocal32} in ${ipfw} add 220 deny ip from not ${net33} to any via ${iflocal33} in ${ipfw} add 220 deny ip from not ${net34} to any via ${iflocal34} in ${ipfw} add 220 deny ip from not ${net35} to any via ${iflocal35} in ${ipfw} add 220 deny ip from not ${net36} to any via ${iflocal36} in ${ipfw} add 220 deny ip from not ${net37} to any via ${iflocal37} in ${ipfw} add 220 deny ip from not ${net38} to any via ${iflocal38} in ${ipfw} add 220 deny ip from not ${net39} to any via ${iflocal39} in ${ipfw} add 220 deny ip from not ${net40} to any via ${iflocal40} in ${ipfw} add 220 deny ip from not ${net41} to any via ${iflocal41} in ${ipfw} add 220 deny ip from not ${net42} to any via ${iflocal42} in ${ipfw} add 220 deny ip from not ${net43} to any via ${iflocal43} in ${ipfw} add 220 deny ip from not ${net44} to any via ${iflocal44} in ${ipfw} add 220 deny ip from not ${net45} to any via ${iflocal45} in ${ipfw} add 220 deny ip from not ${net46} to any via ${iflocal46} in ${ipfw} add 220 deny ip from not ${net47} to any via ${iflocal47} in ${ipfw} add 220 deny ip from not ${net48} to any via ${iflocal48} in ${ipfw} add 220 deny ip from not ${net49} to any via ${iflocal49} in ${ipfw} add 220 deny ip from not ${net50} to any via ${iflocal50} in ${ipfw} add 220 deny ip from not ${net100} to any via ${iflocal100} in Use since OpenBSD 3.x FreeBSD 4.x Centos 5.x Debian 3.x Ubuntu 7.x Аз съм фен на OpenWRT. Горчивината от лошото качество остава дълго след като е преминало удоволствието от ниската цена. _____________________________ ___|____|____|____|____|____|__ _|____|____|____|____|____|____ ___|____|_ Удряй _|____|____|__ _|____|___ главата ___|____|____ ___|____|_ си тук!! |____|____|__ _|____|____|____|____|____|____ ___|____|____|____|____|____|__ Адрес на коментара Сподели в други сайтове More sharing options...
Тодор Лазаров Отговорено 26 Юни, 2009 Автор Доклад Сподели Отговорено 26 Юни, 2009 ето и моя script: #!/bin/bash client_file='client.txt' ip_file='ip.txt' iptables -t mangle -F iptables -t nat -F out_int='eth1' out_ip='213.91.178.2' echo "Master interfaces - start" tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1: htb default 1001 tc class add dev eth0 parent 1: classid 1:1 htb rate 1000Mbit flowid=100 while read line_client; do #Read client name client_name=$(echo $line_client | awk -F : '{print $1}') speed=$(echo $line_client | awk -F : '{print $2}') device=$(echo $line_client | awk -F : '{print $3}') block=$(echo $line_client | awk -F : '{print $4}') if [ $block != "down" ]; then flowid=`expr $flowid + 1` echo "User:$client_name - Traffic QOS speed:$speed interface:$device" tc class add dev $device parent 1:1 classid 1:$flowid htb rate $speed ceil $speed burst 25k prio 2 tc qdisc add dev $device parent 1:$flowid handle $flowid sfq perturb 10 tc filter add dev $device parent 1:0 prio 2 protocol ip handle $flowid fw flowid 1:$flowid iptables -t nat -F $client_name iptables -t nat -X $client_name iptables -t nat -N $client_name #Read ip,speed,nat while read line_ip; do if [ $client_name = $(echo $line_ip | awk -F : '{print $1}') ]; then ip=$(echo $line_ip | awk -F : '{print $2}') nat=$(echo $line_ip | awk -F : '{print $4}') echo " Match $ip" if [ $ip != "" ]; then #tc filter add dev $device protocol ip parent 1:0 prio 1 u32 match ip dst $ip flowid 1:$flowid iptables -t mangle -A POSTROUTING -d $ip -j MARK --set-mark $flowid fi if [ $nat = "nat" ]; then #iptables -t nat -A POSTROUTING -s $ip -o $out_int -j SNAT --to $out_ip iptables -t nat -A $client_name -s $ip -j SNAT --to $out_ip fi fi done < $ip_file iptables -A POSTROUTING -t nat -o $out_int -j $client_name else echo "User:$client_name block" fi done < $client_file iptables -A POSTROUTING -t nat -o $out_int -j SNAT --to $out_ip client.txt ------------------------------------------- devin-iliq:512Kbit:eth0:up devin-gorsko:512Kbit:eth0:down .... ------------------------------------------- ip.txt ------------------------------------------- devin-iliq:192.168.214.7:512Kbit:nat devin-iliq:192.168.214.8:512Kbit:nat .... ------------------------------------------- нищо осебено но облекчава .. не съм спец на bash но ми върши работа. Адрес на коментара Сподели в други сайтове More sharing options...
Recommended Posts
Създайте нов акаунт или се впишете, за да коментирате
За да коментирате, трябва да имате регистрация
Създайте акаунт
Присъединете се към нашата общност. Регистрацията става бързо!
Регистрация на нов акаунтВход
Имате акаунт? Впишете се оттук.
Вписване