PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آخرین آموزش های لینوکس



novintak2
October 17th, 2013, 18:32
نصب و راه اندازی سرویس NTP در لینوکس
(http://www.admins.ir/v2/articles/linux/list.html)


پروتکل (Network Time Protocol (NTP برای تنظیم و همگام سازی دقیق ساعت سیستم ها و دستگاه ها با ساعت های اتمی مورد استفاده قرار می گیرد.سرورهای NTP از یک ساختار سلسه مراتبی پیروی می کند که اصطلاحا به آنها Stratum گفته می شود.

http://www.admins.ir/picarticle/ntp.png Stratum 1 - مستقیما به ساعت های اتمی متصل هستند و خود را با آنها همگام می کنند.
Stratum 2 - به سرورهای Stratum 1 متصل هستند.
هر چه سطح Stratum ها پایین تر می آید ،از سرورهای با دقت کمتری برای همگام سازی استفاده می کنند.


تصویر یک Stratum 0
http://www.admins.ir/picarticle/ntp1.jpg
The U.S. Naval Observatory Alternate Master Clock at Schriever AFB (Colorado) is a Stratum 0 source for NTP
در هر شبکه ای بهتر است که حداقل یه NTP سرور وجود داشته باشد و کلیه سرورها و سخت افزارها ،ساعت خود را با آن هماهنگ کنند.در ادمه به نحوه نصب و راه اندازی سرویس NTP می پردازیم.
در این آموزش ما از سرورهای Stratum سطح یک به آدرس 0.us.pool.ntp.org و wwv.nist.gov بهره می گیریم.
مرحله اول - نصب :
برای نصب در لینوکس های ردهتی از قبیل فدورا و سنت او اس با استفاده از YUM بدین طریق عمل کنید :
yum -y install ntp مرحله دوم - تنظیمات :
با استفاده از ادیتورهای لینوکسی از قبیل nano یا vi مطابق دستور زیر به فایل تنظیم سرویس به آدرس etc/ntp.conf/ بروید.
nano /etc/ntp.conf تنظیمات زیر را انجام دهید :
1- ابتدا سرورهای Startum مد نظر خود را مشخص کنید:
server 0.us.pool.ntp.org
server wwv.nist.gov 2-نوع دسترسی سرویس های فوق را مشخص کنید :
restrict 0.us.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict wwv.nist.gov mask 255.255.255.255 nomodify notrap noquery در تنظیمات بالا ما به سرورها اجازه ویرایش تنظیمات یا سوال و پرس و جو از سرور NTP را نخواهیم داد.



Parameters
Definitions


ignore
Deny all packets and queries


kod
Send Kiss-Of-Death packet on access violation


nomodify
Deny ntpq / ntpdc queries that attempt to modify the server


notrap
Deny control message trap service


noquery
Deny all ntpq / ntpdc queries


noserve
Deny all queries - except ntpq / ntpdc


notrust
Deny access unless cryptographically authenticated (ver 4.2 onwards)


nopeer
Deny all packets that attempt to establish a peer association


3-همانند همه سرویس های دیگر ،به خود سرور دسترسی کامل را می دهیم :
restrict 127.0.0.1 4-رنج آدرس IP هایی که می خواهیم اجازه پرس و جوی زمان از سرور را داشته باشند به طریق زیر اضافه می کنیم :
restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap 5- تنظیم سرویس تا در زمان استارت آپ روشن و مشغول به کار شود :
chkconfig ntpd on 6- روش کردن سرویس NTP
service ntpd restart مرحله سوم - بررسی عملکرد سرویس :
بهتر این است که همان شروع کار درستی عملکرد سرویس را مورد بررسی قرار دهیم :
ntpq -p 0.us.pool.ntp.org خروجی دستور :
remote refid st t when poll reach delay offset jitter
================================================== ============================
*clock.sjc.he.ne .CDMA. 1 u 287 1024 377 41.147 2.016 0.376
+clock.fmt.he.ne .CDMA. 1 u 793 1024 377 38.808 0.093 0.123
+clock.nyc.he.ne .CDMA. 1 u 666 1024 377 43.767 -2.950 0.182
-tick.e.mattnord 129.7.1.66 2 u 893 1024 377 0.702 -0.233 0.844
برای همگام سازی صحیح ، اعداد delay ، jitter و offset باید غیرصفر و علاوه برآن مقدار jitter زیر 100 باشد.

با استفاده از دستور pgrep ntpd می توانید اطمینان حاصل کنید که سرویس NTP مشغول به کار می باشد و در جواب باید شناسه پروسس سرویس را برگرداند.

مرجله چهارم - ایجاد دسترسی در فایروال :
سرویس NTP از پورت 123 UDP برای ارتباط با سرورها و کلاینت ها استفاده می کند.برای این منظور 2 رول برای دسترسی سرور ما برای همگام سازی با سرورهای مد نظرمان نیاز است و 2 رول برای دسترسی کلاینت ها به سرور محلی ما
رول برای دسترسی به Stratum سرورها : iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
iptables -A INPUT -p udp --sport 123 -j ACCEPT رول برای دسترسی کلاینت ها به سرور :
iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 -j ACCEPT
و در آخر برای ذخیره سازی دستور ها :
/etc/init.d/iptables save
توجه داشته باشید که شما می توانید این رول ها را بر اساس نیازهای خود ویرایش کنید،برای مثال آدرس سرورها برای همگام سازی یا آدرس کلاینت ها را به رول ها اضافه کنید.

SNTP :
پروتکل SNTP مدل ساده شده ی NTP می باشد که به دلیل عدم ذخیره سازی وضعیت در دوره های طولانی مدت بر روی دستگاه ها و سرورهایی که نیازی به زمان دقیق ندارند مورد استفاده قرار می گیرد.نمونه این دستگاه ها و سیستم عامل ها که از پروتکل SNTP بهره می گیرد،میکروتیک می باشد.

novintak2
October 17th, 2013, 18:33
تنظیم آدرس IPv6 در لینوکس


در این آموزش شیوه تنظیم آدرس IPv6 در دو خانواده ردهت و دبین مورد بررسی قرار می گیرد.در آموزش های قبلی در اینجا (http://www.admins.ir/v2/articles/others/others/362-ipv6-transition.html)توضیحات کاملی در مورد IPv6 ارائه شد.
پیش فرض های آموزش :
آدرس IPv6 :
2a03:2628:1::10/64
آدرس Gateway :
2a03:2628:1::1




فعال کردن IPv6 در خانواده ردهت ( RHEL , CentOS , Fedora و ...) :

1 - فعال کردن شبکه IPv6 :
عبارت NETWORKING_IPV6=yes را به فایل etc/sysconfig/network/ اضافه کنید :

echo "NETWORKING_IPV6=yes" >> /etc/sysconfig/network 2 - تنظیم آدرس IPv6 بهمراه دروازه پیش فرض :
اگر نام کارت شبکه شما eth0 می باشد ( از طریق دستور ifconfig قابل مشاهده است)،عبارات زیر را در فایل etc/sysconfig/network-scripts/ifcfg-eth0/ قرار دهید :

nano /etc/sysconfig/network-scripts/ifcfg-eth0
IPV6INIT=yes
IPV6ADDR=2a03:2628:1::10/64
IPV6_DEFAULTGW=2a03:2628:1::1
نمونه تنظیمات برای استفاده همزمان IPv4 و IPv6 :
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=109.74.225.43
NETMASK=255.255.255.192
GATEWAY=109.75.228.1
IPV6INIT=yes
IPV6ADDR=2a03:2628:1::10/64
IPV6_DEFAULTGW=2a03:2628:1::1


3- سرویس network را شروع مجدد کنید :
service network restart


فعال کردن IPv6 در خانواده دبین ( دبین ، اوبونتو و ... ) :

1-اگر نام کارت شبکه شما eth0 می باشد ( از طریق دستور ifconfig قابل مشاهده است)،عبارات زیر را در فایل etc/sysconfig/network-scripts/ifcfg-eth0/ قرار دهید :

nano /etc/network/interfaces
iface eth0 inet6 static
pre-up modprobe ipv6
address 2a03:2628:1::10
netmask 64
gateway 2a03:2628:1::1
نمونه تنظیمات برای استفاده همزمان IPv4 و IPv6 :
iface eth0 inet static
address 109.74.225.43
netmask 255.255.255.192
network 109.74.225.0
broadcast 109.74.225.63
gateway 109.75.228.1

iface eth0 inet6 static
pre-up modprobe ipv6
address 2a03:2628:1::10
netmask 64
gateway 2a03:2628:1::1
2-سرویس networking را شروع مجدد کنید :
/etc/init.d/networking restart


تنظیم DNS سرور :

فایل etc/resolv.conf/ را مطابق زیر برای استفاده از DNS سرورهای V6 شرکت گوگل تنظیم کنید :

nano /etc/resolv.conf
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844

آزمایش درستی تنظیمات :

برای تست تنظیمات انجام شده سرورهای پرشین ادمینز و گوگل را که با IPv6 تنظیم شده اند ping کنید :

[root@PersianAdmins ~]# ping6 persianadmins.ir
PING persianadmins.ir(2a00:7c80:0:8::3) 56 data bytes
64 bytes from 2a00:7c80:0:8::3: icmp_seq=1 ttl=56 time=308 ms
64 bytes from 2a00:7c80:0:8::3: icmp_seq=2 ttl=56 time=310 ms
64 bytes from 2a00:7c80:0:8::3: icmp_seq=3 ttl=56 time=309 ms
64 bytes from 2a00:7c80:0:8::3: icmp_seq=4 ttl=56 time=308 ms
^C
--- persianadmins.ir ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 308.244/309.212/310.228/0.867 ms


[root@PersianAdmins ~]# ping6 ipv6.google.com
PING ipv6.google.com(arn06s01-in-x10.1e100.net) 56 data bytes
64 bytes from arn06s01-in-x10.1e100.net: icmp_seq=1 ttl=54 time=337 ms
64 bytes from arn06s01-in-x10.1e100.net: icmp_seq=2 ttl=54 time=338 ms
64 bytes from arn06s01-in-x10.1e100.net: icmp_seq=3 ttl=54 time=334 ms
64 bytes from arn06s01-in-x10.1e100.net: icmp_seq=4 ttl=54 time=329 ms
64 bytes from arn06s01-in-x10.1e100.net: icmp_seq=5 ttl=54 time=332 ms
^C
--- ipv6.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4490ms
rtt min/avg/max/mdev = 329.992/334.510/338.027/3.167 ms

برای مشاهده جدول مسیریابی از دستورات زیر استفاده کنید :
[root@PersianAdmins ~]# route -n -A inet6
Kernel IPv6 routing table
Destination Next Hop Flags Metric Ref Use Iface
2a03:2628:1::/64 :: UA 256 8349 0 eth1
fe80::/64 :: U 256 0 0 eth1
::/0 2a03:2628:1::1 UG 1 1818 0 eth1
::/0 fe80::215:c6ff:fe1f:861b UGDA 1024 1 0 eth1
::1/128 :: U 0 267 1 lo
2a03:2628:1::10/128 :: U 0 18384 1 lo
2a03:2628:1:0:20c:29ff:fe0c:bebf/128 :: U 0 40 1 lo
fe80::20c:29ff:fe0c:bebf/128 :: U 0 756 1 lo
ff00::/8 :: U 256 0 0 eth1

[root@PersianAdmins ~]# ip -6 route show
unreachable ::/96 dev lo metric 1024 error -101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable ::ffff:0.0.0.0/96 dev lo metric 1024 error -101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a00::/24 dev lo metric 1024 error -101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:7f00::/24 dev lo metric 1024 error -101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:a9fe::/32 dev lo metric 1024 error -101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:ac10::/28 dev lo metric 1024 error -101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:c0a8::/32 dev lo metric 1024 error -101 mtu 16436 advmss 16376 hoplimit 4294967295
unreachable 2002:e000::/19 dev lo metric 1024 error -101 mtu 16436 advmss 16376 hoplimit 4294967295
2a03:2628:1::/64 dev eth1 proto kernel metric 256 expires 0sec mtu 1500 advmss 1440 hoplimit 4294967295
unreachable 3ffe:ffff::/32 dev lo metric 1024 error -101 mtu 16436 advmss 16376 hoplimit 4294967295
fe80::/64 dev eth1 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295
default via 2a03:2628:1::1 dev eth1 metric 1 mtu 1500 advmss 1440 hoplimit 4294967295
default via fe80::215:c6ff:fe1f:861b dev eth1 proto kernel metric 1024 expires 0sec mtu 1500 advmss 1440 hoplimit 64

5 packets transmitted, 5 received, 0% packet loss, time 4490ms
rtt min/avg/max/mdev = 329.992/334.510/338.027/3.167 ms

منابع :


fedoraproject.org

centos.org
debian.org
cyberciti.biz

novintak2
October 17th, 2013, 18:35
نصب و راه اندازی InterVLAN Routing و VLAN در لینوکس


VLAN مدیریت آسان تر ، امنیت بیشتر ،کارایی و بهره وری افزون تری را به شبکه و مدیریت ما اعطا می کند.دلیل و توجیه استفاده از VLAN بنا به نیاز و طراحی شبکه متغییر است .VLAN در تعریف ساده تقسیم شبکه موجود به چندین شبکه مجزا از هم یا زیر شبکه می باشد.
برای اطلاعات بیشتر در مورد نحوه کانفیگ و راه اندازی VLAN در سوییچ های سیسکو به لینک زیر مراجعه کنید:
VLAN چیست و چطور از آن بهره گیریم؟
گاهی نیاز است که از طریق یک سرور به چندیدن VLAN دسترسی داشته باشیم یا به آنها سرویس دهیم.بدین منظور در این آموزش شیوه نصب و راه اندازی VLAN را در لینوکس دنبال می کنیم.
نصب در ردهت ، فدورا و CentOS
ابتدا نصب بودن بسته VConfig که برای راه اندازی VLAN مورد نیاز است را بررسی کنید:
[root@PersianAdmins~]# rpm -qa | grep vconfig
vconfig-1.9-3
در صورتیکه در خروجی بسته vconfig را مشاهده نکردید،برای نصب بدین ترتیب عمل کنید:
yum install vconfig
راه اندازی VLAN
تنظیمات VLAN را می توان به دو صورت موقت و دائم انجام داد.
تنظیمات موفت :
فرض کنید می خواهید به VLAN شماره 10 از طریق اینترفیس eth0 دسترسی داشته باشید،
مرحله اول : VLAN را ایجاد کنید
vconfig add eth0 10
مرحله دوم : اینترفیس را ایجاد و از رنج VLAN 10 یک آدرس IP ست کنید.
ifconfig eth0.10 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255 up
تنظیمات دائم :
مرحله اول : ایجاد فایل تنظیمات اینترفیس
touch /etc/sysconfig/network-scripts/ifcfg-eth0.10
مرحله دوم : فایل ifcfg-eth0.10 را به صورت زیر کامل کنید
DEVICE=eth0.100
IPADDR=192.168.100.1
NETMASK=255.255.255.0
VLAN=yes
ONBOOT=yes
BOOTPROTO=none
برای وارد شدن به فایل و قرار دادن تنظیمات می توانید از یک ادیتور مانند nano بدین شکل استفاده کنید :
nano /etc/sysconfig/network-scripts/ifcfg-eth0.10
نکته :
توجه داشته باشید که اینترفیس eth0 حتما باید up باشد.
می توانید برای این منظور اینترفیس را بدین ترتیب تنظیم کنید :
nano /etc/sysconfig/network-scripts/ifcfg-eth0
محتویات فایل :
DEVICE=eth0
ONBOOT=no
TYPE=Ethernet
مرحله سوم :
سرویس network را شروع مجدد کنید :
[root@PersianAdmins ~]# service network restart
Shutting down interface eth0.8: Removed VLAN -:eth0.10:-
[ OK ]
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth0.10: Added VLAN with VID == 10 to IF -:eth0:-
[ OK ]
[root@PersianAdmins ~]#
نصب در دبین و اوبونتو
ابتدا نصب بودن بسته vlan را بررسی کنید:
PersianAdmins:~# dpkg -l | grep vlan
ii vlan 1.9-3 user mode programs to enable VLANs on your e
در صورتیکه در خروجی بسته vlan را مشاهده نکردید،برای نصب بدین ترتیب عمل کنید:
apt-get install vlan
راه اندازی VLAN
تنظیمات VLAN را می توان به دو صورت موقت و دائم انجام داد.
تنظیمات موفت :
فرض کنید می خواهید به VLAN شماره 10 از طریق اینترفیس eth0 دسترسی داشته باشید،
مرحله اول : VLAN را ایجاد کنید
vconfig add eth0 10
مرحله دوم : اینترفیس را ایجاد و از رنج VLAN 10 یک آدرس IP ست کنید.
ifconfig eth0.10 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255 up
تنظیمات دائم :
در فایل etc/network/interfaces/ دستورات زیر را اضافه کنید :
# VLAN 10
auto vlan10
iface vlan10 inet static
address 192.168.100.1
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
vlan_raw_device eth0
برای وارد شدن به فایل و قرار دادن تنظیمات می توانید از یک ادیتور مانند nano بدین شکل استفاده کنید :
nano /etc/network/interfaces
و در آخرسرویس networking را شروع مجدد کنید :
PersianAdmins:~# /etc/init.d/networking restart
Reconfiguring network interfaces...Removed VLAN -:vlan10:-
if-up.d/mountnfs[eth0]: waiting for interface vlan10 before doing NFS mounts (warning).
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 10 to IF -:eth0:-
done.
PersianAdmins:~#
گزارش گیری
مشاهده VLAN های ساخته شده :
PersianAdmins:~# cat /proc/net/vlan/config
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_PLUS_VID_NO_PAD
vlan10 | 10 | eth0
PersianAdmins:~#
مشاهده اطلاعات اینترفیس VLAN از قبیل مقدار بسته ها و دیتاهای ورودی و خروجی :
PersianAdmins:~# cat /proc/net/vlan/vlan10
vlan10 VID: 10 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 0
total bytes received 0
Broadcast/Multicast Rcvd 0
total frames transmitted 6
total bytes transmitted 492
total headroom inc 0
total encap on xmit 6
Device: eth0
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESSS priority Mappings:
PersianAdmins:~#
تنظیمات فوق در CentOS 5.5 و دبین 5 تست شده است.
راه اندازی InterVLAN Routing
بعد از ساخت VLAN ها برای راه اندازی InterVLAN Routing کافیست ip_forwarding را فعال کنید،برای بررسی این موضوع دستور زیر را اجرا کنید :
cat /proc/sys/net/ipv4/ip_forward
باید جواب 1 باشد ،در غیر اینصورت دستور زیر را در ترمینال وارد کنید :
echo 1 > /proc/sys/net/ipv4/ip_forward
دستور فوق را باید در etc/rc.local/ هم قرار دهید.
روش دوم فعال ip_forward :
در فایل etc/sysctl.conf/ خط net.ipv4.ip_forward=1 را قرار دهید و دستور sysctl -p را اجرا کنید.
بررسی فعال بودن 802.1q در کرنل :
[root@PersianAdmins ~]# lsmod | grep 802
8021q 25033 0
[root@PersianAdmins ~]#
اگر خروجی وجود نداشت دستور زیر را اجرا کنید :
modprobe 8021q
منابع مورد استفاده :
https://wiki.ubuntu.com/
FedoraProject (http://fedoraproject.org/wiki/)
http://wiki.debian.org
VLAN مدیریت آسان تر ، امنیت بیشتر ،کارایی و بهره وری افزون تری را به شبکه و مدیریت ما اعطا می کند.دلیل و توجیه استفاده از VLAN نسبت به نیاز و طراحی شبکه متغیر است .VLAN در تعریف ساده تقسیم شبکه موجود به چندین شبکه مجزا از هم یا زیر شبکه می باشد.
برای اطلاعات بیشتر در مورد نحوه کانفیگ و راه اندازی VLAN در سوییچ های سیسکو به لینک زیر مراجعه کنید:
VLAN چیست و چطور از آن بهره گیریم؟ (http://www.admins.ir/v2/articles/cisco/cisco-list/108-vlan.html)
گاهی نیاز است که از طریق یک سرور به چندیدن VLAN دسترسی داشته باشیم یا به آنها سرویس دهیم.بدین منظور در این آموزش شیوه نصب و راه اندازی VLAN را در لینوکس دنبال می کنیم.


نصب در ردهت ، فدورا و CentOS


ابتدا نصب بودن بسته VConfig که برای راه اندازی VLAN مورد نیاز است را بررسی کنید:
[root@PersianAdmins~]# rpm -qa | grep vconfig
vconfig-1.9-3 در صورتیکه در خروجی بسته vconfig را مشاهده نکردید،برای نصب بدین ترتیب عمل کنید:
yum install vconfig

راه اندازی VLAN


تنظیمات VLAN را می توان به دو صورت موقت و دائم انجام داد.
تنظیمات موقت :
فرض کنید می خواهید به VLAN شماره 10 از طریق اینترفیس eth0 دسترسی داشته باشید،
مرحله اول : VLAN را ایجاد کنید
vconfig add eth0 10 مرحله دوم : اینترفیس را ایجاد و از رنج VLAN 10 یک آدرس IP ست کنید.
ifconfig eth0.10 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255 up تنظیمات دائم :
مرحله اول : ایجاد فایل تنظیمات اینترفیس
touch /etc/sysconfig/network-scripts/ifcfg-eth0.10 مرحله دوم : فایل ifcfg-eth0.10 را به صورت زیر کامل کنید:

DEVICE=eth0.100

IPADDR=192.168.100.1

NETMASK=255.255.255.0

VLAN=yes

ONBOOT=yes

BOOTPROTO=none
برای وارد شدن به فایل و قرار دادن تنظیمات می توانید از یک ادیتور مانند nano بدین شکل استفاده کنید :
nano /etc/sysconfig/network-scripts/ifcfg-eth0.10 نکته :
توجه داشته باشید که اینترفیس eth0 حتما باید up باشد.
می توانید برای این منظور اینترفیس را بدین ترتیب تنظیم کنید :
nano /etc/sysconfig/network-scripts/ifcfg-eth0 محتویات فایل :

DEVICE=eth0

ONBOOT=no

TYPE=Ethernet
مرحله سوم :
سرویس network را شروع مجدد کنید :
[root@PersianAdmins ~]# service network restart
Shutting down interface eth0.8: Removed VLAN -:eth0.10:-
[ OK ]
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth0.10: Added VLAN with VID == 10 to IF -:eth0:-
[ OK ]
[root@PersianAdmins ~]#


نصب در دبین و اوبونتو


ابتدا نصب بودن بسته vlan را بررسی کنید:
PersianAdmins:~# dpkg -l | grep vlan
ii vlan 1.9-3 user mode programs to enable VLANs on your e در صورتیکه در خروجی بسته vlan را مشاهده نکردید،برای نصب بدین ترتیب عمل کنید:
apt-get install vlan

راه اندازی VLAN


تنظیمات VLAN را می توان به دو صورت موقت و دائم انجام داد.
تنظیمات موقت :
فرض کنید می خواهید به VLAN شماره 10 از طریق اینترفیس eth0 دسترسی داشته باشید،
مرحله اول : VLAN را ایجاد کنید
vconfig add eth0 10 مرحله دوم : اینترفیس را ایجاد و از رنج VLAN 10 یک آدرس IP ست کنید.
ifconfig eth0.10 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255 up تنظیمات دائم :
در فایل etc/network/interfaces/ دستورات زیر را اضافه کنید :

# VLAN 10

auto vlan10

iface vlan10 inet static

address 192.168.100.1

netmask 255.255.255.0

network 192.168.100.0

broadcast 192.168.100.255

vlan_raw_device eth0
برای وارد شدن به فایل و قرار دادن تنظیمات می توانید از یک ادیتور مانند nano بدین شکل استفاده کنید :
nano /etc/network/interfaces و در آخرسرویس networking را شروع مجدد کنید :
PersianAdmins:~# /etc/init.d/networking restart
Reconfiguring network interfaces...Removed VLAN -:vlan10:-
if-up.d/mountnfs[eth0]: waiting for interface vlan10 before doing NFS mounts (warning).
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 10 to IF -:eth0:-
done.
PersianAdmins:~#


گزارش گیری


مشاهده VLAN های ساخته شده :
PersianAdmins:~# cat /proc/net/vlan/config
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_PLUS_VID_NO_PAD
vlan10 | 10 | eth0
PersianAdmins:~#
مشاهده اطلاعات اینترفیس VLAN از قبیل مقدار بسته ها و دیتاهای ورودی و خروجی :
PersianAdmins:~# cat /proc/net/vlan/vlan10
vlan10 VID: 10 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 0
total bytes received 0
Broadcast/Multicast Rcvd 0
total frames transmitted 6
total bytes transmitted 492
total headroom inc 0
total encap on xmit 6
Device: eth0
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESSS priority Mappings:
PersianAdmins:~#
تنظیمات فوق در CentOS 5.5 و دبین 5 تست شده است.


راه اندازی InterVLAN Routing


بعد از ساخت VLAN ها برای راه اندازی InterVLAN Routing کافیست ip_forwarding را فعال کنید،برای بررسی این موضوع دستور زیر را اجرا کنید :
cat /proc/sys/net/ipv4/ip_forward باید جواب 1 باشد ،در غیر اینصورت دستور زیر را در ترمینال وارد کنید :
echo 1 > /proc/sys/net/ipv4/ip_forward دستور فوق را باید در etc/rc.local/ هم قرار دهید.
روش دوم فعال ip_forward :
در فایل etc/sysctl.conf/ خط net.ipv4.ip_forward=1 را قرار دهید و دستور sysctl -p را اجرا کنید.


بررسی فعال بودن 802.1q در کرنل :


[root@PersianAdmins ~]# lsmod | grep 802
8021q 25033 0
[root@PersianAdmins ~]#
اگر خروجی وجود نداشت دستور زیر را اجرا کنید :
modprobe 8021q

منابع مورد استفاده :



https://wiki.ubuntu.com


FedoraProject (http://fedoraproject.org/wiki)

http://wiki.debian.org

novintak2
October 17th, 2013, 18:37
کنترل پهنای باند در لینوکس - قسمت اول


سيستم عامل لينوكس ابزارهاي قدرتمندي در زمينه مديريت انتقال Packet ها ارائه مي دهد كه از جمله آن مي توان به, packet mangling packet filteringو... اشاره كرد كه مستقيما توسط Kernel و بدون نرم افزار جانبي انجام مي شود. از ديگر ابزارهاي اين دسته كه در اين بحث به آن اشاره مي كنيم كنترل ترافيك (Traffic Control) يا كنترل پهناي باند است.

http://admins.ir/picarticle/tc.jpg
در محیط های سیستم عامل کلیه Interface های شبکه دارای یک بافرهستند، بافری که صف گونه (Queue) رفتار می کند.
در این مبحث در ارتباط با هر Interface مفهومی با عنوان Queue Discipline مطرح می شود، الگوریتمهایی که نحوه رفتار با بسته های (Packet) صف شده را معرفی می کند. که حالت ساده و البته پیش فرض Queue Discipline در لینوکس برای کلیه Interface ها مدل (FIFO (First in-First out است. بدین معنی که در حالت پیش فرض یک روتر لینوکس هیچگونه کنترل و تاخیر در پهنای باند و دریافت و ارسال بسته ها اعمال نمی کند.
Kernel لینوکس از روش بسیار دقیق برای کنترل پهنای باند استفاده می کند و علت آن استفاده از الگوریتم Token – Bucket است که بر جریان عبور بسته ها بصورت بایت به بایت نظارت می کند. در این الگوریتم در کنار صف Packet ها از صف دیگری بنام Bucket استفاده می شود که به ازاء ورود هر Token به این صف اجازه خروج داده های ارسالی از صف Packet داده می شود.

فرمان لینوکس برای اعمال محدودیت پهنای باند بر روی یک Interface شبکه "tc" می باشد.

فرمان لینوکس برای مشاهده وضعیت جاری پهنای باند Interface ها:
#tc qdisc show

فرمان لینوکس برای اضافه نمودن محدودیت پهنای باند بر روی یک Interface خاص که در این آموزش از مدل tbf استفاده می کنیم:
#tc qdisc add dev DEV root tbf PARAMETERS

فرمان حذف نمودن محدودیت پهنای باند:
#tc qdisc del dev DEV root
مثال:
#tc qdisc del dev eth0 root

توضیح اضافه نمودن محدودیت پهنای باند با ذکر مثال:
#tc qdisc add dev eth0 root tbf rate 0.5mbit burst 5kb limit 10kb peakrate 1mbit mtu 1540



qdisc مخفف Queue Discipline
dev تعیین Interface مورد نظر جهت اعمال محدودیت پهنای باند
root در حالت های خاص یک Interface می تواند شامل چندین Class باشد که هر Class شامل Flow یا جریان های وابسته به آن Class است. به عنوان مثال تعریف یک Class با Flow عبور بسته های ssh. ولی در حالت معمول در صورت عدم تعریف Class باید از حالت root استفاده کرد که نشان دهنده تمامی بسته های دریافتی است.
tbf یکی از انواع مدل های که از الگوریتم Token – Bucket استفاده می کند.
rate نرخ ارسال Token به داخل Bucket
burst اندازه صف Bucket بر حسب بایت برای نگهدای Token. اندازه Rate بالاتر نیاز به بافر بزرگتری برای Token ها دارد.
limit اندازه صف Packet ها بر حسب بایت.
peakrate در صورت عدم استفاده صحیح از این پارامتر مدل tbf از دقت لازم برخوردار نخواهد بود.دلیل: در حالت پیش فرض زمانی که Token اضافه در Bucket موجود باشد یا بعبارتی زمانی که نسبت نرخ ارسال Token به نرخ ارسال Packet بالاتر میرود Packet های موجود با حداکثر سرعت از بافر Interface خارج می شوند و بنابراین در این گونه زمان ها پهنای باند برابر با مقدار تعیین شده در پارامتر rate نخواهد بود. استفاده از پارامتر peakrate مشکل فوق را حل می کند.

در بخش پيشرفته تر كنترل ترافيك امكان پياده سازي مكانيزم QoS مطرح مي شود كه مبناي آن اعمال محدوديت پهناي باند بر روي Flow هاي است كه از يك Interface خاص ميگذرند. اين Flow ها ميتوانند شامل مجموعه Packet ها با IP خاص يا شماره پورت خاص باشند. جهت ايجاد Flow هاي گفته شده در لينوكس ابزاري بنام iptables وجود دارد با قابليت اعمال QoS كه اصطلاحا با عنوان mangling شناخته ميشود.
در مباحث آينده به توضيح در خصوص iptables و ارتباط آن با tc خواهيم پرداخت.