-
tc
با سلام خدمت تمام دوستان
دوستان رول زیر رو که نوشتم به نظر شما درسته؟
قراره این رول به هر کاربری که وصل میشه به سرور مثلا 64k پهنای باند بده.
ممنون
[LEFT][LEFT][COLOR=#21252C][FONT=Arial]#[/FONT][/COLOR]tc qdisc del dev eth0 root[/LEFT]
[LEFT][FONT=Arial] [/FONT][/LEFT]
[LEFT][FONT=Arial]#tc qdisc add dev eth0 root handle 1: htb[/FONT][/LEFT]
[LEFT][FONT=Arial]#tc class add dev eth0 parent 1: classid 1:1 htb rate 2mbit ceil 512kbit[/FONT][/LEFT]
[/LEFT]
[INDENT][LEFT][FONT=Arial]#tc class add dev eth0 parent 1:1 classid 1:10 htb rate 32kbit ceil 64kbit[/FONT]
[COLOR=black][FONT=Arial]#[/FONT][/COLOR][FONT=Arial]tc filter add dev eth0 parent 1: protocol ip prio 1 handle 1 fw classid 1:10[/FONT][/LEFT][/INDENT][LEFT]
[LEFT][FONT=Arial]#iptables -A PREROUTING -t mangle -p tcp -s 0.0.0.0 -j MARK --set-mark 1[/FONT][/LEFT]
[LEFT][FONT=Arial]#iptables -A PREROUTING -t mangle -p udp -s 0.0.0.0 -j MARK --set-mark 1[/FONT][/LEFT][/LEFT]
-
چیزی که من میبینم قابلیت این نداره که به هر کسی که متصل شد پهنای باند اختصاص بده.
پهنای باند 32 میده نه 64.
-
سلام
از پست آقای دارک لاو استفاده کردم و یکم تغییرش دادم تا مدلی بشه که من میخام، بنظرتون الان درست شده؟؟
درواقع میخام هر فردی که به این سرور وصل میشه فقط 64 تا از پهنای باند رو بگیره در ضمن من یه کارت شبکه هم بیشتر ندارم.
[LEFT][RIGHT]tc qdisc del dev eth0 root[/LEFT][/RIGHT]
[LEFT][RIGHT] [/LEFT][/RIGHT]
[LEFT][RIGHT]tc qdisc add dev eth0 root handle 1: htb[/LEFT][/RIGHT]
[LEFT][RIGHT] [/LEFT][/RIGHT]
[LEFT][RIGHT]tc class add dev eth0 parent 1: classid 1:1 htb rate 2mbit ceil 512kbit[/LEFT][/RIGHT]
[LEFT][RIGHT]tc class add dev eth0 parent 1:1 classid 1:10 htb rate 64kbit ceil 128kbit[/LEFT][/RIGHT]
[LEFT][RIGHT]tc filter add dev eth0 parent 1: protocol ip prio 1 handle 1 fw classid 1:10[/LEFT][/RIGHT]
[LEFT][RIGHT]iptables -A PREROUTING -t mangle -p tcp -j MARK --set-mark 1[/LEFT][/RIGHT]
[LEFT][RIGHT]iptables -A PREROUTING -t mangle -p udp -j MARK --set-mark 1[/LEFT][/RIGHT]
[LEFT][RIGHT]
[/LEFT][/RIGHT]
[LEFT][RIGHT] tc class add dev eth0 parent 1:1 classid 1:11 htb rate 64kbit ceil 128kbit[/LEFT][/RIGHT]
[LEFT][RIGHT] tc filter add dev eth1 parent 1: protocol ip prio 1 handle 2 fw classid 1:11[/LEFT][/RIGHT]
[LEFT][RIGHT] iptables -A POSTROUTING -t mangle -p tcp -j MARK --set-mark 2
iptables -A POSTROUTING -t mangle -p udp -j MARK --set-mark 2
[/LEFT][/RIGHT]
[LEFT][RIGHT]
[/LEFT][/RIGHT]
[LEFT][RIGHT]
[/LEFT][/RIGHT]
[LEFT][RIGHT]
[/LEFT][/RIGHT]
[LEFT][RIGHT]
[/LEFT][/RIGHT]
-
اگه شما میخواهید هر کسی به سرور متصل شد پهنای باند 64 از سرور دریافت کنه باید Script بنویسید با قابلیت تشخیص IP های متصل و در حال اتصال.
-
ممنون
من هرچی گشتم چیزی پیذا نکردم که بتونم ip ها رو تشخیص بدم، nmap و netcat رو بررسی کردم اما چیزی پیدا نکردم .
ممنون میشم راهنامیی کنید.
-
به راحتی میشه با iptables این کار کرد.
حالا کمی وقت بزارید و کار کنید میتوانید انجام دهید.
-
بسیار ممنون که وقت میذارید و جواب سوالاتم رو میدید.
-
با اجازه استاد پیمان هم پیشنهاد داشتم هم سوال
با [FONT="] DELAY POOLS فکر نمیکنید این کار بهتر جواب میده ؟؟[/FONT][FONT="][/FONT]
-
[QUOTE]
با [FONT="] DELAY POOLS فکر نمیکنید این کار بهتر جواب میده ؟؟[/FONT]
[/QUOTE]
شاید از لینوکس برای کنترل پهنای باند استفاده میشود و Squid نصب نباشه.
-
سلام
من الان یک سری امکانات دم دستم هست، میخام تا این امکانات تموم نشده همه چی رو درباره tc یاد بگیرم، ممنون میشم کمک کنید.
بطور کلی تا حالا سه حالت مختلف رو برای کنترل پهنای باند پیدا کردم.
اول اینکه یه سرور داشته باشیو و چندتا کلاینت که به صورت اسکریپت آقای darklove پهنای باند رو تقسیم میکنیم.
دومین روش:
دو تا سرور داشته باشیم. یکی که کاربران فرضا adsl بهش وصل میشن و یکی هم سرور ما که قراره پهنا رو تقسیم کنه. حالا هر کاربری که بخاد به ما وصل شه ای پی که وارد سرور ما میشه همون آی پی سرور adsl هست. سوال من اینجاست که تو این حالت چطوری پهنای باند رو بدیم؟ چون فقط یه آی پی به من وصل میشه و اونم ای پی سرور adsl هست؟؟
سومین روش هم بالا بحث شده که فعلا به دنبالشم!
ممنون میشم راهنمایی کنید.
-
حالت دورم، خودش چند حالت میتونه داشته باشه.
Forwarding
Routing
Redirect
?????
اما اگه Nat باشه رو خود سرور ADSL پهنای باند میبندد، ولی من جایی ندیدم.
برای چنین چیزایی از خواص Radius استفاده می شود.
-
ممنون
منظورتون اینه که با tc کار نمیکنیم، بلکه با همون نرم افزار اکانتینگ مثه سیب یا ibsng یا ... پهنای باند هر یوزر رو کنترل میکنیم؟
-
بستگی داره.
اگه لینوکس باشه با Tc کار میکنه.
از خواص Radius برای ایم کارها استفاده میشه تا بشه پهنای باند بست.
-
منظورم این بود که برای اینکار باید یه سرور دانلود داشته باشیم و ردیوس روی سیستم اکانتینگ مثلا adsl باشه؟ یا نه باید ردیوس رو روی همون سرور دانلود داشته باشم؟
ممنون
-
یک Radius Server رو سیستم که کاربران متصل می شوند.
یک اکانتینگ رو همان سیستم یا جدا.