loading...
 

شاپ کیپر

شاپ کیپر

  1. شاپ کیپر
  2. سایر لینوکس ها
فصل یازدهم : PPPOE Server

*به دلیل طولانی بودن این فصل را به دو بخش تقسیم کردیم

بخش اول:


pppoe مختصر شده عبارت Point To Ppint Over Ethernet و یکی از پروتکل های شبکه می باشد که امکان تبادل داده بین دو شبکه و یا دو Point (نقطه) را برقرار می کند.

pppoe پروتکلی است که بصورت گسترده توسط ISP ها مورد استفاده قرار می گیرد جهت ارائه سرویس های اینترنتی پرسرعت DSL که معروف ترین آنها ADSL می باشد به کار میرود.

دلایل استفاده از pppoe ، حداقل وابستگی های ممکن برای برقراری یک کانکشن است که نیاز به تنظیم کردن IP و یا اطلاعات کاربر در خصوص آدرس های IP و تنظیم آن را دارا نمی باشد

pppoe یکی از ساده ترین پروتکل های Tunneling می باشد که روش های استاندارد Encryption (رمزنگاری)و Authentication (احراز هویت) و Compressin (فشرده سازی) که توسط PPP تعیین شده است استفاده می کند.

سناریو 1 : راه اندازی PPPoE Server بر روی میکروتیک

1.jpg


هدف این سناریو این است که با راه اندازی PPPoE Server بر روی میکروتیک ، کلاینت یا کلاینت ها بتوانند با ایجاد یک کانکشن به اینترنت دسترسی پیدا کنند.

انتساب IP به کارت های شبکه روتر R1 :

همان طور که در سناریو مشخص کردیم Ether3 باید از (Dhcp Client (Vmware آدرس IP دریافت کند.برای این کار از منوی اصلی گزینه IP و از زیر منوی باز شده Dhcp Client را انتخاب میکنیم.در پنجره باز شده بر روی Add کلیک و از تب Dhcp اینترفیس موردنظر را انتخاب و ok را میزینم.

2.jpg
3.jpg

راه اندازی PPPoE Server :

برای اینکار از منوی اصلی گزینه PPP را انتخاب کرده و از پنجره باز شده به تب PPPoE Sever رفته و بروی Add کلیک میکنیم.

Service Name : یک نام به دلخواه انتخاب می کنیم.
Interface :اینترفیسی که قصد راه اندازی PPPoE بر روی آن را دارید را انتخاب می کنید.

4.jpg

تعریف Accounting برای User ها :

برای اینکار به تب Secret رفته و برروی Add کلیک می کنیم.
باید یک IP آدرس برای دو سر Tunnel تعریف کنیم که به سمت روتر اصطلاحا Local Address و به سمت کلاینت اصطلاحا Remote Address گفته می شود.

5.jpg

برای اینکه کلاینت ها به اینترنت دسترسی داشته باشند باید یک Nat تعریف کنیم.

6.jpg


7.jpg

تنظیمات کلاینت :

ایجاد کانکشن برای دسترسی به اینترنت :
برای این کار به مسیر زیر می رویم :

Control Panel > Network and Sharing > Setup new Connection or network

8.jpg
9.jpg
10.jpg

یوزرنیم و پسوردی که در روتر تعریف کردیم را وارد می کنیم.

11.jpg
12.jpg

با این تنظیمات Connection ی که در عکس زیر مشاهده می کنید اضاف می شود.


13.jpg
14.jpg
15.jpg

کلاینت با Remote Address ی که در روتر تعریف کردیم به اینترنت دسترسی پیدا کرده است.
وقتی کاربر به روتر وصل می شود بر روی روتر یک اینترفیس ایجاد می شود و وقتی disconnect می شود این اینترفیس حذف می شود.

16.jpg
در این روش اگر تعداد کلاینت ها زیاد باشد کار وقت گیری است برای اینکار باید برای Remote Address یک Pool تعریف کنیم.

برای اینکار از منوی اصلی گزینه IP و از زیرمنوی باز شده Pool را انتخاب می کنیم.

Address : رنج IP که می خواهیم به کلاینت ها داده شود را انتخاب می کنیم.

17.jpg

ایجاد Profile :

از تب Profiles برروی Add کلیک می کنیم.
در قسمت Remote Address باید Pool ی که تعریف کردیم را انتخاب کنیم.در صورتی که در شبکه DNS Server داشته باشیم آدرس IP آن را وارد میکنیم در غیر این صورت می توانیم از DNS سرورهای Public در دنیای اینترنت استفاده کنیم.

18.jpg

در مرحله بعد باید از بخش PPPoE Server برروی Add کلیک کرده و Default Profile را برابر با پروفایلی که در مرحله قبل ایجاد کردیم قرار دهیم.

19.jpg

تعریف Acounting برای User ها :


از تب Secrets بر روی Add کلیک کرده و از پنجره باز شده یوزرنیم و پسورد برای کاربرتعریف می کنیم و Profile را برابر با پروفایلی که از قبل ایجاد کردیم قرار میدهیم.

20.jpg

ادامه در قسمت بعد





زینب بازدید : 10 پنجشنبه 18 بهمن 1397 زمان : ۰۶:۱۵ نظرات (0)

خيلي اوقات داشتن يك مخزن محلي بر روي سيستم يا شبكه داخلي ما را كمك مي كند تا با خيالي آسوده تر و راحت تر با سيستم كار كنيم ، چراكه مجبور نيستيم براي نصب بسته ها مرتبا cd هاي مختلف را تعويض كنيم يا پهناي باند زيادي را به نصب بسته ها اختصاص دهيم. البته در صورتيكه اينترنت پر سرعت وجود داشته باشد كه در اكثر مواقع وجود ندارد ، به جرات مي توانم بگويم كه اكثر به اصطلاح ISP ها هم قادر به اين كار نيستند چرا كه معمولا 2-3 برابر ظرفيت خود كاربر اختيار مي كنند.
همجنين با ساختن مخزن ،قادريم بسته هايي كه در مخازن اصلي وجود ندارند و جداگانه آنها را دريافت كرده ايم به مخزن محلي خود اضافه كنيم تا هم مخزني كامل تر داشته باشيم و هم در صورت وجود وابستگي ، نصب آن بسيار راحت تر باشد.
وجود يك مخزن محلي در يك شبكه داراي چندين سيستم لينوكسي باعث راحتي كار ، كم شدن زحمات مديران سيستم و در صورت نصب بسته ها از اينترنت ، صرفه جويي قابل ملاحظه اي در پهناي باند مي شود.

مراحل كار :

در اين آموزش ما مخزن را به واسطه بسته هاي موجود در DVD مي سازيم.

ابتدا دايركتوري هاي مورد نياز را ايجاد مي كنيم :
کد PHP:           mkdir /dpkg/pool/main /dpkg/dists/main/binary-i386 -p 
سپس بسته هاي را از CD يا DVD كپي مي كنيم :
کد PHP:           cp /cdrom/pool/main/* /dpkg/pool/main -R 
اين مرحله را مي بايست براي تمامي DVD يا CD ها انجام بدهيم.

حال بسته هاي مورد نياز را نصب مي كنيم :
کد PHP: [PHP]          apt-get install apache2 dpkg-multicd 
[/PHP]

اكنون زمان ساختن فايل هاي مورد نياز براي ايندكس كردن بسته هاي درون مخرن است ، براي اين منظور از دستور dpkg-scanpackages بهره مي گيريم.

قاعده استفاده از dpkg-scanpackages بدين ترتيب است :
کد PHP:           dpkg-scanpackages [-m medium] binarypath overridefile [pathperfiz]  > Packages 
ابتدا overridefile را ايجاد مي كنيم :
کد PHP:           touch pa 
سپس اين دستور را اجرا مي كنيم تا تمامي بسته ها ايندكس شوند : کد PHP:           dpkg-scanpackages -m PersianAdmins repo /dpkg/pool/main pa > /dpkg/dists/main/binary-i386 
فايل ايندكس ساخته شده را فشرده مي كنيم :
کد PHP:           gzip /dpkg/dists/main/binary-i386/Packages 
لينك هاي مورد نياز به ريشه وب دايركتوري را ايجاد مي كنيم :
کد PHP:           ln -s /dpkg /var/www/dpkg
    ln -s /dpkg /var/www/dpkg/dpkg 
فايل تنظيمات مربوط به مخزن ها etc/apt/sources.list/ مي باشد.

در صورتيكه مي خواهيم از مخزن فقط بر روي همين سيستم استفاده كنيم ، مي توانيم بدون استفاده از آپاچي بدين ترتيب عمل كنيم : کد PHP:           nano /etc/apt/sources.list
                           deb file:///dpkg main / 
در صورت استفاده در شبكه ، مي تواين تنظيمات زير را در سيستم هاي مورد نياز اعمال كنيم : کد PHP:           nano /etc/apt/sources.list
             deb http://ip-address/pkg 
و در آخر براي بروزرساني ليست بسته هاي سيستم :
کد PHP:           apt-get update 
هم اكنون مي توانيد براحتي با استفاده از ابزار apt به نصب بسته ها و جستجو در آنها بپردازيد. کد PHP:           apt-get install packge-name
    apt-get install word 
اگر يك بسته در مخازن اينترنتي دبين موجود است ولي شما آن را در اختيار نداريد ، مي توانيد با دستور زير بدون آنكه بسته مورد نظر را بر روي سيستم خود نصب كنيد ، آنرا با تمام وابستگي هايش دانلود كنيد :
کد PHP:           apt-get install -d package-name 
بسته بهمراه تمام وابستگي هايش در دايركتوري زير دانلود مي شوند : کد PHP:            /var/cache/apt/archives 
زینب بازدید : 15 چهارشنبه 26 دي 1397 زمان : ۱۷:۱۰ نظرات (0)
quagga یک نوع نرم افزار مسیریابی تحت لینوکس می باشد که از zebra منشعب شده و پروتکل های مسیریابی همچون RIPv۱,RIPv۲,OSPFv۲,OSPFv۳,BGP-۴و +BGP-۴را پشتیبانی میکند.(معرفی این پروتکل ها خارج از بحث ما میباشد برای شناخت بهتر به کتابهای CCNAو BCMSN شرکت سیسکو که از طریق سایت وب هاستینگ تالک و پرشین ادمین میتوانید تهیه کنید.)شیوه تنظیمات quagga شبیه به IOS شرکت سیسکو میباشد که همین عامل باعث جذب افراد آشنا به محصولات سیسکو که طیف وسیعی را تشکیل میدهند به این نرم افزار میشود.

در فدورا و دبین از quagga بجای zebra استفاده میشود و همراه با cd و dvd های آنها عرضه میشود(من در اینجا سیستم را دبین در نظر گرفتم که تنها تفاوت با سیستم های دیگر در نصب میباشد که براحتی میتوانید این مسئله را حل کنید)
مراحل نصب :
کد PHP:      [LEFT]     #apt-get install quagga     
[/LEFT] 
فایل تنظیمات در etc/quagga/ ذخیره میشود که در فدورا طی نصب این فایل ها ساخته میشود ولی در دبین اینطور که من نصب کردم باید خودتان این فایل ها را بسازید.تنها ۲ فایل در این دایرکتوری قرار دارد
کد PHP:      [LEFT]      daemons :
          [/LEFT]                # This file tells the quagga package which daemons to start.
     # Entries are in the format: <daemon>=(yes|no|priority)
     #   ۰, "no"  = disabled
     #   ۱, "yes" = highest priority
     #   ۲ .. ۱۰  = lower priorities
     #
     zebra=no
     bgpd=no
     ospfd=no
     ospf۶d=no
     ripd=no
     ripngd=no
     isisd=no 
همونطور که از اسمش معلومه سرویس های مختلف quagga رو فعال میکنه و در حالت پیش فرض همگی غیرفعالن که برای فعال کردنشون باید no رو به yes تبدیل کنیم کد PHP:            debian.conf :     
                                       # If this option is set the /etc/init.d/quagga script automatically loads
      # the config via "vtysh -b" when the servers are started.
      #
     vtysh_enable=yes
     zebra_options=" –daemon -A ۱۲۷.۰.۰.۱"
     bgpd_options="  –daemon -A ۱۲۷.۰.۰.۱"
     ospfd_options=" –daemon -A ۱۲۷.۰.۰.۱"
     ospf۶d_options="–daemon -A ::۱"
     ripd_options="  –daemon -A ۱۲۷.۰.۰.۱"
     ripngd_options="–daemon -A ::۱"
     isisd_options=" –daemon -A ۱۲۷.۰.۰.۱" 
برای پیکربندی quagga و سرویس ها مختلفتش مانند RIP, OSPF و … میبایست از telnet برای اتصال البته با port های متفاوت استفاده کرد , همچنین تنظیمات این پروتکل ها دقیقا همانند مسیریابهای سیسکو میباشد. port های مورد استفاده را می توان از طریق فایل etc/services/ مشاهده کرد کد PHP:           behroozi:~# grep zebra /etc/services
     zebrasrv        ۲۶۰۰/tcp                        # zebra service
     zebra            ۲۶۰۱/tcp                        # zebra vty
     ripd              ۲۶۰۲/tcp                         # ripd vty (zebra)
     ripngd          ۲۶۰۳/tcp                          # ripngd vty (zebra)
     ospfd           ۲۶۰۴/tcp                          # ospfd vty (zebra)
     bgpd            ۲۶۰۵/tcp                         # bgpd vty (zebra)
     ospf۶d          ۲۶۰۶/tcp                         # ospf۶d vty (zebra)
     isisd           ۲۶۰۸/tcp                           # ISISd vty (zebra) 
اول از هر چیز باید مشخص کنیم چکار میخوایم انجام بدیم که من چون اکثر ما روتر سیسکو برای تست نداریم با روتر نرم افزاری ویندوز ۲۰۰۳ این کارو انجام میدم
در ادامه ما با یک ارتباط rip دو شبکه مشخص شده در دیاگرام زیر را بهم وصل میکنیم
برای مشاهده تصویر بزرگتر روی عکس کلیک کنید



برای اینکار ابتدا میبایست در فایل daemons تغییراتی بدین شکل انجام بدهیم کد PHP:          zebra=yes
     bgpd=no
     ospfd=no
     ospf۶d=no
     ripd=yes
     ripngd=no
     isisd=no 
الان باید فایل های zebra.conf و ripd.conf و بسازیم و تنظیمات اولیه را در آنها قرار بدهیم
کد PHP:                 #cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf 
حالا فایل ripd.conf
کد PHP:            #cp /usr/share/doc/quagga/examples/ripd.conf.sample /etc/quagga/ripd.conf 
بعد از ساختن فایل تنظیمات ابتدایی سرویس quagga را دوباره راه اندازی میکنیم کد PHP:           behroozi:~# /etc/init.d/quagga restart
     Stopping Quagga daemons (prio:۰): (waiting) .. ripd (waiting) .. zebra (bgpd) (ripngd) (ospfd) (ospf۶d).
     Removing all routes made by zebra.
     Nothing to flush.
     Loading capability module if not yet done.
     Starting Quagga daemons (prio:۱۰): zebra ripd.
     behroozi:~# 
به zebra برای انجام تنظیمات اولیه وصل میشویم کد PHP:           behroozi:~# telnet ۱۲۷.۰.۰.۱ ۲۶۰۱
     Trying ۱۲۷.۰.۰.۱…
     Connected to ۱۲۷.۰.۰.۱.
     Escape character is ^].            Hello, this is Quagga (version ۰.۹۸.۳).
     Copyright ۱۹۹۶-۲۰۰۵ Kunihiro Ishiguro, et al.     
                 User Access Verification     
                 Password: (zebra)
     Router> en
     Password:  (zebra)
     Router# 
یک سری تنظیمات اولیه از قبیل تغییر پسورد و hostname همچنیم شما میتوانید ip هم از این طریق تغییر دهید کد PHP:           Router#conf t
     Router(config)# password reza
     Router(config)# enable password persianadmins
     behroozi(config)# hostname persianadmins.com
     persianadmins.com(config)#
     persianadmins.com(config)# service password-encryption
     persianadmins.com(config)# int eth۰
     persianadmins.com(config-if)# ip address ۱۹۲.۱۶۸.۰.۱/۲۴
     persianadmins.com(config-if)# exit
     persianadmins.com(config)# int eth۱
     persianadmins.com(config-if)# ip address ۱۹۲.۱۶۸.۱.۱/۲۴
     persianadmins.com(config-if)# exit
     persianadmins.com(config)# exit
     persianadmins.com# sh run            Current configuration:
     !
     hostname persianadmins.com
     password ۸ ETqePsm۶sd۵o۶
     enable password ۸ ۵B۵WeM۱SCnAag
     service password-encryption
     !
     interface eth۰
      ip address ۱۹۲.۱۶۸.۰.۱/۲۴
     !
     interface eth۱
      ip address ۱۹۲.۱۶۸.۱.۱/۲۴
     !
     interface lo
     !
     ipv۶ forwarding
     !
     line vty
     !
     end
     persianadmins.com#
     persianadmins.com# write memory
     Configuration saved to /etc/quagga/zebra.conf
     persianadmins.com# 
با استفاده از service password-encryption مشاهده میکنید که پسورد از حالت plain-text بیرون آمده پس حتما از این دستور استفده کنید, ۲ نکنته رو باید در تنظمیات بالا توجه کنید که با اضافه کردن ip از این طریق تغییری در ip قبلی بوجود نمیاد و این ip به آنها اضافه میشود…همچنین در انتها باید تنظمیات صورت گرفته را با write memory ذخیره کرد. کد PHP:
              behroozi:~# ifconfig
     eth۰      Link encap:Ethernet  HWaddr ۰۰:۰C:۲۹:۵F:۶۰:A۲
               inet addr:۱۹۲.۱۶۸.۰.۱   Bcast:۱۹۲.۱۶۸.۰.۲۵۵  Mask:۲۵۵.۲۵۵.۲۵۵.۰
               UP BROADCAST RUNNING MULTICAST  MTU:۱۵۰۰  Metric:۱
               RX packets:۵۵۳۲۳ errors:۰ dropped:۰ overruns:۰ frame:۰
               TX packets:۳۵۳۴۶ errors:۰ dropped:۰ overruns:۰ carrier:۰
               collisions:۰ txqueuelen:۱۰۰۰
               RX bytes:۶۶۶۲۵۶۲ (۶.۳ MiB)  TX bytes:۵۱۵۷۶۸۴ (۴.۹ MiB)
               Interrupt:۱۸ Base address:۰×۱۰۸۰                 [LEFT]           [/LEFT]                eth۱      Link encap:Ethernet  HWaddr ۰۰:۰C:۲۹:۵F:۶۰:AC
               inet addr:۱۹۲.۱۶۸.۱.۱  Bcast:۱۹۲.۱۶۸.۱.۲۵۵  Mask:۲۵۵.۲۵۵.۲۵۵.۰
               UP BROADCAST RUNNING MULTICAST  MTU:۱۵۰۰  Metric:۱
               RX packets:۱۳۱ errors:۰ dropped:۰ overruns:۰ frame:۰
               TX packets:۰ errors:۰ dropped:۰ overruns:۰ carrier:۰
               collisions:۰ txqueuelen:۱۰۰۰
               RX bytes:۸۲۴۴ (۸.۰ KiB)  TX bytes:۰ (۰.۰ b)
               Interrupt:۱۹ Base address:۰×۱۴۰۰ 
همونطور که در بالا میبینید تغییرات اعمال شده است. قبل از تنظیم rip از workstation۲ به workstation۱ دستور ping رو میزنیم تا نتیجه رو با بعد مقایسه کنیم کد PHP:           workstation۲:~# ping ۱۹۲.۱۶۸.۲.۲
     PING ۱۹۲.۱۶۸.۲.۲ (۱۹۲.۱۶۸.۲.۲) ۵۶(۸۴) bytes of data.
     From ۱۹۲.۱۶۸.۰.۱ icmp_seq=۱ Destination Host Unreachable
     From ۱۹۲.۱۶۸.۰.۱ icmp_seq=۲ Destination Host Unreachable
     From ۱۹۲.۱۶۸.۰.۱ icmp_seq=۳ Destination Host Unreachable
     From ۱۹۲.۱۶۸.۰.۱ icmp_seq=۴ Destination Host Unreachable 
تنظیمات rip: کد PHP:              behroozi:~# telnet ۱۲۷.۰.۰.۱ ۲۶۰۲
     Trying ۱۲۷.۰.۰.۱…
     Connected to ۱۲۷.۰.۰.۱.
     Escape character is ^].            Hello, this is Quagga (version ۰.۹۸.۳).
     Copyright ۱۹۹۶-۲۰۰۵ Kunihiro Ishiguro, et al.     
                 User Access Verification     
                 Password: (zebra)
     ripd> en
     ripd#
     ripd# conf t
     ripd(config)# password reza
     ripd(config)# enable password persianadmins
     ripd(config)#router rip
     ripd(config-router)# network ۱۹۲.۱۶۸.۰.۰/۲۴
     ripd(config-router)# network ۱۹۲.۱۶۸.۱.۰/۲۴
     ripd(config-router)# version ۲
     ripd(config)#
     ripd# sh run     

                 Current configuration:
     !
     hostname ripd
     password reza
     enable password persianadmins
     log stdout
     !
     router rip
      version ۲
      network ۱۹۲.۱۶۸.۰.۰/۲۴
      network ۱۹۲.۱۶۸.۱.۰/۲۴
     !
     line vty
     !
     end
     ripd#
     ripd# write memory
     Configuration saved to /etc/quagga/ripd.conf
     ripd# 
حالا باید سرویس رو دوباره راه اندازی کرد
کد PHP:      [LEFT]     #/etc/init.d/quagga restart      
[/LEFT] 

نوبت به تنظیمات ویندوز میرسد که من به صورت تصویری اینجا میزارم عکس ۱ عکس ۲ عکس ۳ عکس ۴ عکس ۵
عکس ۶ عکس ۷
حالا دوباره از workstation۲ به workstation۱ دستور ping رو اجرا میکنیم کد PHP:      [LEFT]     workstation۲:~# ping ۱۹۲.۱۶۸.۲.۲
     PING ۱۹۲.۱۶۸.۲.۲ (۱۹۲.۱۶۸.۲.۲) ۵۶(۸۴) bytes of data.
     ۶۴ bytes from ۱۹۲.۱۶۸.۲.۲: icmp_seq=۱ ttl=۶۴ time=۱.۴۵ ms
     ۶۴ bytes from ۱۹۲.۱۶۸.۲.۲: icmp_seq=۲ ttl=۶۴ time=۰.۰۸۲ ms
     ۶۴ bytes from ۱۹۲.۱۶۸.۲.۲: icmp_seq=۳ ttl=۶۴ time=۰.۰۴۳ ms
     ۶۴ bytes from ۱۹۲.۱۶۸.۲.۲: icmp_seq=۴ ttl=۶۴ time=۰.۰۴۲ ms
     ۶۴ bytes from ۱۹۲.۱۶۸.۲.۲: icmp_seq=۵ ttl=۶۴ time=۰.۰۴۱ ms     
[/LEFT]                — ۱۹۲.۱۶۸.۲.۲ ping statistics —
     ۵ packets transmitted, ۵ received, ۰% packet loss, time ۴۰۳۴ms
     rtt min/avg/max/mdev = ۰.۰۴۱/۰.۳۳۲/۱.۴۵۴/۰.۵۶۱ ms
     workstation۲:~# 
مشاهده میکنید که ارتباط برقرار شده …همچنین برای دیدن جدول routing بدین ترتیب عمل میکنیم در لینوکس مشاهده عکس در ویندوز عکس ۱ عکس ۲ توجه داشته باشید که مثال بالا بخش کوچکی از دستورات quagga رو به نمایش گذاشت که برای دیدن دستورات و عملکرد کامل اون میتوانید این PDF را دانلود کنید تامین امنیت :
شاید فکر کنید که هر کس میتونه با راه انداختن یک روتر و تنظیم اون به شبکه ما متصل بشه…برای جلوگیری از این کار فایروال رو بدین ترتیب تنظیم میکنیم
از این اسکریپت استفاده میکنیم کد PHP:
        [LEFT]     #!/bin/bash
     I=/sbin/iptables
     #flush all rules
     $I –F
     #allow packets on the loopback interface
     $I -A INPUT -i lo -j ACCEPT
     #reject all zebra vtys
     $I -A INPUT -p tcp –dport ۲۶۰۱:۲۶۰۲ -i eth+ -j REJECT
     #allow the rip neighbors to connect to udp port ۵۲۰
     $I –A INPUT –p udp –-dport ۵۲۰ –s ۱۹۲.۱۶۸.۰.۲ –j ACCEPT
     #reject the rest of the world for the udp port ۵۲۰
     $I –A INPUT –p udp –-dport ۵۲۰ –j REJECT     
[/LEFT] 
برای اینکه فقط از طریق localhost بتوان telnet کرد access-list بدین شکل مینویسیم
کد PHP:      [LEFT]     behroozi:~# telnet ۱۲۷.۰.۰.۱ ۲۶۰۱
         Trying ۱۲۷.۰.۰.۱…
         Connected to ۱۲۷.۰.۰.۱.
         Escape character is ^].     
[/LEFT]                               Hello, this is Quagga (version ۰.۹۸.۳).                           Copyright ۱۹۹۶-۲۰۰۵ Kunihiro Ishiguro, et al.
     User Access Verification     
                 Password:
     persianadmins.com> en
     Password:
     persianadmins.com#
     persianadmins.com# conf t
     persianadmins.com(config)# access-list ۱ permit host ۱۲۷.۰.۰.۱
     persianadmins.com(config)# access-list ۱ deny any
     persianadmins.com(config)# line vty
     persianadmins.com(config-line)# access-class ۱
     persianadmins.com(config-line)# exit 
برای تست تنظیمات بالا بوسیله telnet از کامپیوتری دیگر به پورت های ۲۶۰۱ و ۵۲۰ متصل میشویم کد PHP:
        [LEFT]     C:Documents and Settingsreza>telnet ۱۹۲.۱۶۸.۰.۱  ۲۶۰۱
     Connecting To ۱۹۲.۱۶۸.۰.۱….Could not open connection to the host, on port ۲۶۰۱: Connect failed     [/LEFT]           [LEFT]     C:Documents and Settingsreza>telnet ۱۹۲.۱۶۸.۰.۱  ۲۶۰۲
     Connecting To ۱۹۲.۱۶۸.۰.۱….Could not open connection to the host, on port ۲۶۰۲: Connect failed     [/LEFT] 
همونطور که پیداست امکان ارتباط وجود نداره پس تنظیمات ما بدرستی اعمال شده است.
زینب بازدید : 21 دوشنبه 09 مهر 1397 زمان : ۱۴:۱۵ نظرات (0)
شاید براتون پیش اومده باشه یه سری کامن اجرا کرده باشین بعد ترمینالتون رو ببندید و باز هم به اون اطلاعات قبلیتون احتیاج داشته باشین اما دیگه تغییراتی بوجود آورده باشین و نتونین خروجی کع قبلا می گرفتین رو ببینین و همه چی تغییر کرده باشه و فقط به history کامندهایی که زدین دسترسی داشته باشین ... روالی که اینجا ازش مثال آوردم یه فایل موقت درست میکنه که کامندهایی رو که میخواهیم و خروجیشون رو توش ذخیره می کنه...

کد:
کد PHP: star@galaxy:~$ script Script started, file is typescript star@galaxy:~$ date Fri Aug 12 1104 IRDT 2011 star@galaxy:~$ cal     August 2011 Su Mo Tu We Th Fr Sa     1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31   star@galaxy:~$ jcal     Amordaad 1390     Sh Ye Do Se Ch Pa Jo  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21  22 23 24 25 26 27 28 29 30 31                                  star@galaxy:~$ echo testttttt testttttt star@galaxy:~$ exit exit Script done, file is typescript   star@galaxy:~$ cat typescript Script started on Fri 12 Aug 2011 1159 AM IRDT star@galaxy:~$ date Fri Aug 12 1104 IRDT 2011  star@galaxy:~$ cal     August 2011 Su Mo Tu We Th Fr Sa     1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  star@galaxy:~$ jcal     Amordaad 1390     Sh Ye Do Se Ch Pa Jo  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21  22 23 24 25 26 27 28 29 30 31                                  star@galaxy:~$ echo testttttt testttttt star@galaxy:~$ exit exit Script done on Fri 12 Aug 2011 1133 AM IRDT star@galaxy:~$ 
همینطور که مشاهده میشه با کامند script فایل موقت ایجاد میشه و هر کامند دلخواه که زده میشه با خروجیشون توش میره بعد اگه بخواهیم به این کار خاتمه بدیم باید exit بزنیم تا ازش بیایم بیرون و بعد با زدن cat typescript این فایل قابل دیدن هستش.
زینب بازدید : 19 چهارشنبه 04 مهر 1397 زمان : ۱۸:۲۰ نظرات (0)
فصل پنجم : *****ینگ
Filtering :
یکی دیگر از قابلیت های فایروال ایجاد *****ینگ است.در *****ینگ پکت هایی که از روتر عبور می کنند تحت کنترل قرار می گیرند و براساس قوانینی که به آنها Rule گفته می شود ***** می شوند.
قاعده کلی *****ینگ :
فایروال بر پایه ی رول های آن بنا شده است یعنی فایروال و روتر کاری را انجام می دهد که رول ها بگویند.
هر رول از دو قسمت تشکیل شده است :
- قسمت اول : ترافیک بسته ها را مشخص می کند(ترافیک ورودی و یا خروجی از میکروتیک).
- قسمت دوم : عملیاتی است که بر روی بسته ها انجام می شود.

تنظیمات *****ینگ در روتر :

کد: [[email protected]]>ip firewall filter add chain=[input / output / forward] src-address=[source ip address] action=[drop / accept / reject] dst-port=[destination port] protocol=[protocol] پارامترهای مورد استفاده در Rule های *****ینگ :

1) chain : در این پارامتر ، مسیر ترافیک بسته های مورد نظر را مشخص می کنیم این پارامتر می تواند سه حالت را در بر گیرد :

1-1) Input : این حالت مربوط به پکت هایی است که مقصدشان خود دستگاه میکروتیک است.

1.jpgبطور مثال : ارسال بسته های ICMP برای Ping کردن روتر میکروتیک و یا زمانی که شما با ساتفاده از WinBox و SSH و ... ممکن است
به میکروتیک متصل شوید بنابراین Chain=Input قرار م دهیم.


1-2) Output : این حالت مربوط به بسته هایی است که از روتر میکروتیک خارج می شوند.

2.jpgبطور مثال : بسته هایی که از داخل روتر سعی در Telnet زدن به سیستم یا دستگاهی را داشته باشند و یا روتر سعی در اتصال به سرویس دهنده های DNS و NTP و ... را داشته باشد.

1-3) Forward : این حالت مربوط به ترافیکی است که از روتر شما عبور می کند.

فرایند ارسال بسته از یک کارت شبکه روتر به کارت شبکه دیگر آن را Forward می گویند.

3.jpgبطور مثال : یک سیستم داخلی درخواست سایتی را از اینترنت داشته باشد و چنانچه روتر شما نقش Gateway در شبکه را داشته باشد روتر بسته درخواست را از کارت شبکه ایی که به شبکه داخلی مرتبط باشد دریافت می کند و به کارت شبکه ایی که به WAN مرتبط است ارسال می کند.

2) Action :در این پارامتر عملیاتی که بر روی Packet ها اعمال می شود را تعیین می کنیم.

2-1) Accept : در این حالت به بسته ها اجازه عبور داده می شود.
2-2) Drop : در این حالت به بسته اجازه عبور داده نمی شود.به عبارتی بسته ها متوقف می شوند و هیچ جوابی به فرستنده بسته ها داده نمی شود.
2-3) Reject : همانند Drop است با این تفاوت که پیامی با استفاده از بسته ICMP نیز به کاربر نشان می دهد.
2-4) add-dst-to-address-list : آی پی مقصد را ذخیره می کند.
2-5) add-dst-to-address-list : آی پی مبدا را ذخیره می کند.

قبل از اینکه به رفتار این دو به پردازیم بهتر است با Address List ها آشنا بشیم. Address List ها زمانی به کار می آیند که شما بخواهید برای تعداد زیادی IP که از یک محدوده یا رنج نیستند تصمیم بگیرید.مثلا می خواهیم سه IP جدا را از دسترسی به وب محروم کنیم بدون استفاده از Address List ها باید سه رول متفاوت را بنویسیم.اگر این تعداد IP ها 588 تا بود چه اتفاقی می افتاد ؟ برای راحتی اینگونه موارد از آدرس لیست ها استفاده می شود.به این معنی که آدرس های مورد نظر را در یک لیست قرار داده و به ازای آن لیست یک رول را می نویسیم. در صورتی که خواسته باشید بعضی از IP های ورودی رو Log کنید مثلا کسانی که سعی می کنند از طریق Winbox به روتر وصل شوند می توان به کمک دو Action بالا یک لیست آدرس از آنها تهیه کنید.

2-6) Log : تقریبا شبیه دو مورد بالا می باشد اما با چند تفاوت مهم . Log یک سری اطلاعات را برای ما ذخیره می کند که این اطلاعات از طریق منوی اصلی گزینه Log قابل دسترس می باشد این اطلاعات شامل موارد زیر می باشد :In-interface,out-interface,src-mac,protocol,src-port

اولین تفاوت همین اطلاعات بالا می باشد که با اطلاعات ذخیره شده قبل متفاوت می باشد و دوم اینکه شما از لیست آدرس ها در رولهای بعدی می توانید استفاده کنید اما Log صرفا جهت اطلاع می باشد.

2-7) Jump : پرش به زنجیره Chain مشخص شده است.

2-8) Return : برگرداندن کنترل به زنجیره در جایی که پرش صورت گرفته است.

2-9) Trapit : ضبط و نگهداری ارتباط Tcp )کاربرد در کم کردن اثر حملات Dos (.این Action بسته های Tcp را نگه میدارد و به آنها جواب مناسبی می دهد.

2-10) Passthrough :این Action کار خاصی انجام نمی دهد صرفا از رول خارج می شود یا صرف نظر می کند.در نظر نگرفتن قانون ورفتن به قانون بعدی(کاربررد : بیشتر برای آمار گیری)


3) Src-Address : برای مشخص کردن آدرس فرستنده یک بسته ، از این پارامتر استفاده می کنیم.

بطور مثال : چنانچه بخواهیم بسته هایی که فقط از سمت یک سیستم خاص به روتر می رسند را ***** کنیم آدرس IP سیستم فرستنده
را در این پارامتر مشخص می کنیم.
نکته : چنانچه بخواهیم بسته های مربوط به تمامی کلاینت های موجود در شبکه مبدا را ***** کنیم پارامتر Src-Address را خالی می گذاریم.

4) Dst-Port : برای اعمال *****ینگ بر روی بسته هایی که مقصد آنها پورت خاصی باشد از این پارمتر استفاده می شود.
نکته : چنانچه در دستور *****ینگ این پارامتر را ذکر نکنیم کل پورت ها را در نظر میگیرد.

5) Protocol : برای اعمال *****ینگ بر روی بسته هایی که مقصد آنها پروتکل خاصی باشد از این پارامتر استفاده می شود.
بطور مثال : بسته های مربوط به پروتکل ICMP برای Ping کردن



در قسمت بعدی با انجام سناریو تمریناتی را در این زمینه انجام می دهیم.
زینب بازدید : 16 سه شنبه 06 شهريور 1397 زمان : ۱۳:۴۰ نظرات (0)
1

تعداد صفحات : 1

موضوعات
لینک دوستان
پیوندهی روزانه
  • آرشیو لینک ها
  • صفحات جداگانه
    آمار سیت
  • کل مطالب : 458
  • کل نظرات : 0
  • افراد آنلین : 6
  • تعداد اعضا : 0
  • بازدید امروز : 606
  • باردید دیروز : 1,519
  • بازدید هفته : 3,947
  • بازدید ماه : 49,716
  • بازدید سال : 84,621
  • بازدید کلی : 307,946