نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: تبدیل سرور لینوکس به روتر شبیه سیسکو

  1. #1
    عضو انجمن ourweb آواتار ها
    تاریخ عضویت
    Apr 2012
    محل سکونت
    Ahvaz , IR
    نوشته ها
    797
    تشکر تشکر کرده 
    1,325
    تشکر تشکر شده 
    2,887
    تشکر شده در
    1,997 پست

    پیش فرض تبدیل سرور لینوکس به روتر شبیه سیسکو

    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 '^]'.            Hellothis is Quagga (version ۰.۹۸.۳).
         
    Copyright ۱۹۹۶-۲۰۰۵ Kunihiro Ishiguroet al.     
                     
    User Access Verification     
                     Password
    : (zebra)
         
    Routeren
         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:۶۰:
                   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 '^]'.            Hellothis is Quagga (version ۰.۹۸.۳).
         
    Copyright ۱۹۹۶-۲۰۰۵ Kunihiro Ishiguroet al.     
                     
    User Access Verification     
                     Password
    : (zebra)
         
    ripden
         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 losstime ۴۰۳۴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]                               Hellothis is Quagga (version ۰.۹۸.۳).                           Copyright ۱۹۹۶-۲۰۰۵ Kunihiro Ishiguroet al.
         
    User Access Verification     
                     Password
    :
         
    persianadmins.comen
         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 Settings\reza>telnet ۱۹۲.۱۶۸.۰.۱  ۲۶۰۱
         Connecting To ۱۹۲
    .۱۶۸.۰.۱….Could not open connection to the hoston port ۲۶۰۱Connect failed     [/LEFT]           [LEFT]     C:\Documents and Settings\reza>telnet ۱۹۲.۱۶۸.۰.۱  ۲۶۰۲
         Connecting To ۱۹۲
    .۱۶۸.۰.۱….Could not open connection to the hoston port ۲۶۰۲Connect failed     [/LEFT
    همونطور که پیداست امکان ارتباط وجود نداره پس تنظیمات ما بدرستی اعمال شده است.

    وب سایت : www.irhosting24.com
    تلگرام : OURWEB@ - تلفن تماس : موبایل : 09999978820

  2. تعداد تشکر ها از ourweb به دلیل پست مفید


  3. # ADS




     

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. امنیت روتر های سیسکو
    توسط artuore در انجمن سیسکو Cisco
    پاسخ ها: 0
    آخرين نوشته: November 11th, 2014, 19:20
  2. مشخصات فنی سوئیچ و روتر سیسکو
    توسط sat98 در انجمن مباحث عمومی در مورد سویچ و روتر
    پاسخ ها: 2
    آخرين نوشته: September 3rd, 2014, 17:51
  3. آشنایی با cli روتر سیسکو
    توسط hadi-110 در انجمن سیسکو Cisco
    پاسخ ها: 0
    آخرين نوشته: December 9th, 2012, 09:16
  4. تبدیل سرور لینوکس به روتر شبیه سیسکو
    توسط supportvps در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: August 14th, 2012, 14:19
  5. جزئیات روتر خانگی جدید سیسکو فاش شد
    توسط rsjpay در انجمن سیسکو Cisco
    پاسخ ها: 0
    آخرين نوشته: October 25th, 2011, 15:17

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •