Shaper-Router-FTP

9 отговора 558 прегледа
#1

Shaper-Router-FTP

Значи от заглавието може и да не става ясно какво ще питам, но не се сещам друго, за което се извинявам!
Проблема е следния имам рутер за 5 компютъра, на който искам да сложа и ФТП сървър. Обаче на рутерa има SHAPER за тези 5 машини и поради тази причина ФТП-то става безмислено, защото от него не може да се свалят файлове в голяма скорост. Как да създам отделен клас (може би ???) със TC, който да определя скороста на трафика от ФТП сървъра. Опитвах със допълнителна мрежова карта, но нямаше ефект. Моля ви за идеи знам че има повече от един начин, просто съм начинаещ със TC... Предполагам че трябва да се shape-не по source ip но нещо не се получава и мисля че бъркам синтаксиса някъде, защото другите машини за по "destination ip". Може и да не съм се изразил достатчно добре... Надявам се да го разберете...

Отговор
в отговор на kak #2

Re: Shaper-Router-FTP

Разгледай някои готови скриптове .. например HTB.init можеш да го изтеглиш от freshmeat.net може и да ти свърши работа

Отговор
в отговор на kak #3

Re: Shaper-Router-FTP

Здравей!!!

Не си описал конкретно по какъв начин ограничаваш скороста и за това конкретен отговор не може да ти се даде. Но това което става при тиб е следното. На картата която ти е към клиентите имаш отделни подкласове за всеки клиент и във всеки един от тези класове имаш филтър по destination IP, което е IP адреса на клиента. По този начин се ограничава всичкият трафик който отива от eth1 на рутера към клиента. Вече е отделен въпрос дали имаш класове на лан картата към доставчика с които да ограничаваш и изходящият трафик, но в случаят това няма нищо общо с темата която питаш.
Ако искаш да се реши този проблем направи следното:
1. Създава се root клас на мрежовата карта към клиентите.
2. Създават се два главни подкласа. В Първият подклас се създава нова htb qdisk и там си пишеш класовете на клиентите и съответният филтър за всеки един клиентски клас. Във вторият подклас, който трябва да е със скорост 50 mbps например, се пише филтър който казва, че към него принадлежат всички пакети със сорс адрес 192.168.0.0/16 или дори може да напишеш само IP адреса там на gateway-ат ти. Задължително трябва към него да се пусне и sfq опашка. По този начин всички пакети със source адрес 192.168.0.0/16 ще се шеипват директно от него. Скороста за тази прежа ще е споделена именно това налага и пускане на sfq. Принципно така стоят нещата.

Отговор
в отговор на lib #4

Re: Shaper-Router-FTP

Малко корекция

/*
1. Създава се root клас на мрежовата карта към клиентите.
*/
Да се чете: Създава се root htb qdisk......

/*
2. Създават се два главни подкласа. В Първият подклас
*/
Да се чете: Създават се два главни класа. В Първият клас.......

Отговор
в отговор на lib #5

Re: Shaper-Router-FTP

#!/bin/bash

/sbin/tc qdisc del dev eth1 root

/sbin/tc qdisc add dev eth1 root handle 2: htb default 200


# Default Class
/sbin/tc class add dev eth1 parent 2:0 classid 2:200 htb rate 8kbit prio 10
/sbin/tc qdisc add dev eth1 parent 2:200 sfq perturb 10

# LAN_class
/sbin/tc class add dev eth1 parent 2:0 classid 2:3 htb rate 256Kbps burst 40k prio 2
/sbin/tc qdisc add dev eth1 parent 2:3 sfq perturb 10
/sbin/tc filter add dev eth1 parent 2:0 protocol ip prio 2 u32 match ip dst 172.20.0.0/24 flowid 2:3

-------------------------------------------------------------------

#pc1_172.20.0.2 setup:
/sbin/tc class add dev eth1 parent 2:3 classid 2:301 htb rate 12Kbps ceil 64Kbps prio 4
/sbin/tc qdisc add dev eth1 parent 2:301 sfq perturb 10
/sbin/tc filter add dev eth1 parent 2:3 protocol ip prio 4 u32 match ip dst 172.20.0.2 flowid 2:301

# pc2_172.20.0.10 setup:
/sbin/tc class add dev eth1 parent 2:3 classid 2:302 htb rate 4Kbps ceil 8Kbps prio 3
/sbin/tc qdisc add dev eth1 parent 2:302 sfq perturb 10
/sbin/tc filter add dev eth1 parent 2:3 protocol ip prio 3 u32 match ip dst 172.20.0.10 flowid 2:302


Ето ми го скрипта, с който шейпвам скоростите на компютрите. Опитах няколко варианта, но не се получава. Явно ми е далече от акъла как да го направя... или просто бъркам синтаксиса...???

Отговор
в отговор на kak #6

Re: Shaper-Router-FTP

GOspodine, purvo si napravete skripta da vi sheipva i izhodqshtiqt traffic, shtoto sega samo sheipvate download-a i togava chak shte pogledna z alocalnata skorost. Hora koito sheipvat po tozi nachin samo downstream-a chesto imat problemi. Nqkoi mnogo lesno ako uloadva nqkude fail moje da ti glutne celiqt kanal za upload i da ti vloshi kachestvoto na Internet. Napravi podobna shema i na eth0, t.e. kum providera ti, samo che tam ne izpolzvai u32 ami markirai v mangle i po "markirovka" prisuedinqvai klientskite IP-ta vuv filtura, tui kato imash NAT i na interfeisa ti kum ISP-to NAT-a veche se e izvurshil i source adresa na klientite e promenen, tui kato NAT se izvurshva v POSTROUTING verigata koqto e predi izhodqshtiqt interfeis na paketite :)

Отговор
в отговор на kak #7

Re: Shaper-Router-FTP

еми това нещо, за което питаш по принцип се прави със слагане на tc filter, който да ти пляска бързия трафик в отделен клас, който не е шейпнат.

Отговор
в отговор на kak #8

Re: Shaper-Router-FTP

Проблема не е в класовете а във филтрите.

Просто си маркирай всеки трафик по различен начин и после шеипвай по маркировка.
Ще ти подскажа:
Локалният трафик го маркирай в таблиците INPUT/OUTPUT по критерий sorce/dist
А интернета го маркирай във FORWARD.
После си правиш класове с различни скорости и филтрираш по маркировка.

Отговор
в отговор на runtime_error #9

Re: Shaper-Router-FTP

о, ти къде се загуби толкова време?

Отговор
в отговор на Milena #10

Re: Shaper-Router-FTP

По принцип съм тук ама някой модератор ме трие от време на време.
Инъч този форум няма с какво интересно да ме привлича и за това рятко го чета. А още по рядко пиша и понеже рядко пиша се намира някой модератор мъдро да ме изтрие.

Отговор