Showing posts with label router. Show all posts
Showing posts with label router. Show all posts

Wednesday, November 16, 2011

[Juniper] Routing Policy and RIP protocol on Junos OS


1.Routing policy là gì?

Routing table là nơi chứa thông tin các routes mà router học được. Quá trình để học các routes của router có thể diễn ra bằng nhiều cách: static, dynamic,... Ngoài ra router còn quảng bá các thông tin định tuyến của nó cho các routers khác. Quá trình learn-to-share này của router nhằm mục đích chính là làm cho toàn bộ router trong hệ thống mạng sẽ có cái nhìn toàn diện và đầy đủ nhất về mạng.

Mỗi giao thức có một cách riêng để xem xét và xử lý thông tin về route. Trong một hệ thống mạng thì không thể chỉ sử dụng một giao thức, mà sẽ sử dụng nhiều giao thức, tùy thuộc vào yêu cầu của công tác quản trị. Do đó, các thông tin đến và đi khỏi router cũng cần phải được lọc, khồn phải lúc nào ta cũng dùng những thứ mặc định của giao thức.

Routing policy (RP) điều khiển luồng vận chuyển các thông tin định tuyến đến và đi khỏi routing table. Sử dụng RP ta có thể làm các thao tác accept, reject, modify attributes của các routes:
  • -Nhận được từ các dynamic protocol.
  • -Được gửi tới các dynamic protocol.
  • -Được ghi vào forwarding table.


Với những mục đích trên của các routes thì RP có 2 hướng để áp dụng là export và import. Export được sử dụng để áp dụng cho các route đi ra khỏi routing table. Import được sử dụng để dành cho các hoạt động đi vào routing table.


2.Routing Policy mặc định của các giao thức

Mỗi một giao thức có một RP mặc định. RP mặc định của giao thức là cách mà giao thức đó xử lý thông tin routing khi chưa bị áp dụng RP. RP mặc định của một số giao thức:

Protocol Import Export
RIP chấp nhận tất cả các routes được quảng bá từ neighbor và đưa vào inet.0 Không quảng bá routes ra ngoài.
OSPF Chấp nhận tất cả các routes được quảng bá Quảng bá tất cả các routes đã được học bởi OSPF
BGP Chấp nhận tất cả các BGP routes đang active. Đưa vào inet.0 (IPv4) và đưa vào inet6.0 (IPv6) Quảng bá mọi BGP routes đang active


3.Xây dựng Routing Policy

Trước hết ta sẽ tìm hiểu thành phần của RP. Một RP chứa một hoặc nhiều term. Term là các mệnh đề được xây dựng để lọc các giá trị điều kiện, sử dụng kết quả lọc này để áp dụng các hành đối xảy ra với đối tượng.

Mệnh đề term gồm 2 vế chính. Vế đưa ra điều kiện để so sánh là from, vế đưa ra các hành động cho đối tượng là then.

Đối với một RP có nhiều term thì các term sẽ được xử lý theo thứ tự từ trên xuống. Nên lưu ý thứ tự sắp xếp các term đề việc lọc được đúng.

3.1.Các điều kiện để lọc – Match conditions

Trong term thì vế from sẽ đưa ra các tình huống để so sánh. Các thông tin định tuyến sẽ được lọc với điều kiện này. Các điều kiện này thường liên quan đến:
  • -Prefix ( route-filter hoặc prefix-list)
  • -Protocol (OSPF, BGP, static, RIP...)
  • -Các thuộc tính của protocol: OSPF area ID, AS path, community
  • -Next-hop


Nếu không có vế from thì tất cả các routes sẽ được lọc.  

  • +Prefix-list là một list các prefix được cấu hình trong mode [edit policy-options]. Có thể được sử dụng bởi firewall filters và routing policy terms. Ví dụ:


[edit policy-options]
user@router# show
prefix-list rfc1918 { <-- định nghĩa một prefix-list tên là rfc1918
10.0.0.0/8;
172.16.0.0/12; <-- các prefix trong list
192.168.0.0/16;
}
  • +Route filter lọc các routes bên trong một polic. TRong một term có thể sử dụng nhiều route-filter. Route-filter không thể tái sử dụng hoặc một thành phần bên ngoài sử dụng như prefix-list.


Ví dụ sử dụng prefix-list ở trên với vế from:

policy-statement policy-1 {
from {
prefix-list rfc1918; <-- điều kiện lọc
}
then reject; <-- hành động áp dụng với các routes khớp điều kiện trên

Các điều kiện có thể được sử dụng sau mệnh đề from:

[edit policy-options]
user@Junos# set policy-statement new-policy from ?
Possible completions:
  aggregate-contributor  Match more specifics of an aggregate
+ apply-groups         Groups from which to inherit configuration data
+ apply-groups-except  Don't inherit configuration data from these groups
  area                 OSPF area identifier
+ as-path              Name of AS path regular expression (BGP only)
+ as-path-group        Name of AS path group (BGP only)
  color                Color (preference) value
  color2               Color (preference) value 2
+ community            BGP community
+ condition            Condition to match on
> external             External route
  family               
  instance             Routing protocol instance
+ interface            Interface name or address
  level                IS-IS level
  local-preference     Local preference associated with a route
  metric               Metric value
  metric2              Metric value 2
  metric3              Metric value 3
  metric4              Metric value 4
> multicast-scope      Multicast scope to match
+ neighbor             Neighboring router
+ next-hop             Next-hop router  
  next-hop-type        Next-hop type
  origin               BGP origin attribute
+ policy               Name of policy to evaluate
  preference           Preference value
  preference2          Preference value 2
> prefix-list          List of prefix-lists of routes to match
> prefix-list-filter   List of prefix-list-filters to match
+ protocol             Protocol from which route was learned
  rib                  Routing table
> route-filter         List of routes to match
  route-type           Route type
> source-address-filter  List of source addresses to match
  state                Route state
+ tag                  Tag string
  tag2                 Tag string 2

3.2.Các hành động áp dụng

Một số hành động được áp dụng:
  • -Các hành động kết thúc policy: accept, reject
  • -Các hành động kiểm soát hướng: next term, nex policy
  • -Các hành động chỉnh sửa thuộc tính: community (dành cho BGP), preference


3.3.Xây dựng Routing Policy

Để có được một RP hoàn chỉnh cần thực hiện 2 bước chính:
  • -Xây dựng RP theo yêu cầu
  • -Áp dụng RP (import hay export) phụ thuộc vào từng level

RP được cấu hình dưới mode [edit policy-options]:
Ví dụ:
Xây dựng RP với các term

[edit policy-options]
user@router# show
policy-statement my-policy { <-- định nghĩa policy tên là my-policy
term accept-local-route {
from {
protocol direct;  <-- điều kiện là match các route directly connected và interface ge-0/0/0
interface ge-0/0/0;
}
then accept;
}
term accept-some-static-routes {
from {
protocol static;
route-filter 172.18.1.0/24 exact; <-- chỉ lọc đúng 172.18.1.0/24
route-filter 172.18.2.0/24 exact;
}
then accept;
}
term accept-rip-routes {
from protocol rip;
then accept;
}
}

Áp dụng RP vào giao thức OSPF

[edit protocols ospf]
user@router# show
export my-policy; <-- export policy
area 0.0.0.0 {
interface ge-0/0/1.0;
interface ge-0/0/2.0;
interface ge-0/0/3.0 {
passive;
}
interface lo0.0;
}

4.Xây dựng một Routing Policy hoàn chỉnh

Sau khi đã nắm được các khái niệm trong RP, ta sẽ đi làm một ví dụ cụ thể về RP. Sử dụng giao thức RIP để minh họa.

Như đã nêu ở trên, mặc định thì RIP sẽ không quảng bá bất cứ route nào của nó tới neighbor. Ta sẽ phân tích từng thành phần trong RP này. Yêu cầu là đã cấu hình bật chức năng RIP trên từng router.

Trước hết cần xác định xem mục đích của RP này là gì. Giả sử ta sẽ đặt tên của Policy này là rip-policy.
Policy này sẽ áp dụng lọc các route do giao thức RIP đưa ra đồng thời quảng bá các connected routes. Như vậy điều kiện để lọc ở đây là dựa trên mặt giao thức, cụ thể là RIP. Ta sẽ xây dựng vế from như sau:

from protocol rip direct

mục đích là sẽ đồng ý để RIP quảng bá các route ra ngoài, mệnh đề then sẽ là accept

then accept

Như vậy, rip-policy sẽ có nội dung:


Lưu ý rằng dấu [] là để chỉ phép toán OR. [a b] hoặc a hoặc b hoặc cả a và b.

 Sau khi đã xây dựng rip-policy, ta sẽ áp dụng policy này. Ở đây sẽ áp dụng cho giao thức RIP.


 Như vậy, policy này sẽ nói cho giao thức RIP biết rằng: "mọi routes học được từ RIP và các connected routes sẽ được quảng bá (export) ra ngoài”.

Monday, January 24, 2011

Distance Vector-Routing loop

Phần 1 đã giới thiệu về DV. Phần này sẽ nói về việc routing loop, nguyên nhân và các biện pháp ngăn ngừa routing loop

1.Routing loop là gì?

Như đã giới thiệu, giao thức DV khi cập nhật sẽ gửi toàn bộ thông tin về routing table và gói tin cập nhật này được gửi theo kiểu broadcast, thời gian định kỳ là 30s. Cần lưu ý rằng, việc update này là định kỳ sau mỗi 30s Điều này dẫn đến việc các routers không được cập nhật đầy đủ thông tin hiện tại cùng nhau. Việc này là nguyên nhân chính dẫn đến việc bị loop(vòng lặp vô hạn). Routing loop có thể gây sụp đổ toàn bộ hệ thống, làm cho router ko có cái nhìn chính xác về toàn mạng, làm sai quá trình routing.

Thursday, October 21, 2010

Một số thao tác đơn giản với router Cisco sử dụng soft giả lập Packet Tracer


Phần này sẽ nói về một số thao tác cơ bản với các thiết bị của Cisco(router/switch) thông qua phần mềm giả lập Packet Tracer.
1.Kết nối router vào cổng console để cấu hình
Với thiết bị thật, ta sẽ phải cắm cổng console vào cổng COM của máy tính để thực hiện cấu hình. Việc cấu hình sẽ thông qua các chương trình telnet đến router, sau đó dùng môi trường dòng lệnh để thực hiện các lệnh.Trong Windows, ta sẽ sử dụng chương trình Hyper Terminal để làm trình telnet.
Đối với PT, ko yêu cầu việc nối cáp console để cấu hình thiết bị mà có thể sử dụng tab CLI khi mở thiết bị. Nhưng nếu muốn, ta cũng vẫn có thể giả lập bằng cách nối cáp console từ 1 PC đến router rồi telnet để làm việc. Ở đây sẽ không bàn đến việc hướng dẫn sử dụng PT(sau này sẽ có video hướng dẫn cách cấu hình)
2. Các modes của router
2.1.User mode
Trong môi trường dòng lệnh, mỗi một mode đều có cách nhận dạng riêng. Khi làm việc ở user mode thì dấu nhắc dòng lệnh sẽ có dạng:
Router > 
Ta có thể xem các câu lệnh có thể thực hiện được ở mode này bằng cách gõ dấu ? nó sẽ liệt kê ra các câu lệnh có thể sử dụng trong mode này. Từ đó gợi nhớ cho ta khi nào thì sử dụng câu lệnh nào!
 
Tại user mode ta sẽ bị hạn chế về số câu lệnh cấu hình, để có thể sử dụng được nhiều hơn các câu lệnh, đòi hỏi ta phải vào được một mode khác là priviledge mode
2.2.Priviledge mode

Để vào được priviledge mode từ user mode ta sẽ dùng lệnh enable, khi đó dấu nhắc lệnh sẽ chuyển từ dấu > sang dấu #. Đây cũng là để phân biệt các mode khác nhau trong môi trường cấu 
 hình router

 







Tương tự, để xem các câu lệnh có thể được thực hiện tại mode này ta sẽ dùng dấu ? để liệt kê ra các lệnh có thể thực hiện. Muốn xem nhiều hơn thì dùng phím space để liệt kê các câu lệnh.
2.3.Configuration mode
Đây là mode sẽ thực hiện nhiều lệnh cấu hình quan trọng và ảnh hưởng trực tiếp đến hệ thống file cấu hình của router.
Để vào Configuration mode từ priviledge mode, ta sẽ sử dụng câu lệnh
config terminal
( cũng có thể gõ tắt là conf t)
  
Để thoát ra ngoài mode hiện tại(trở về mode trước đó) ta sẽ dùng lệnh exit

3.Đặt password cho router
Vì lý do bảo mật ta sẽ cấu hình các password cho router. Việc đặt pass sẽ yêu cầu nhập đúng pass mỗi lần muốn vào môi trường dòng lệnh để cấu hình router. Ta sẽ tiến hành đặt pass cho
            -console
            -enable mode
3.1.Đặt pass cho cổng console(console mode)
Khi đặt pass cho console mode, mỗi lần mở router để vào user mode sẽ được yêu cầu nhập pass. Nếu nhập đúng thì sẽ cho qua
Cách thực hiện: lần lượt gõ các lệnh:
Router>enable
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#line console 0  ç đăng nhập vào mode console
Router(config-line)#password cisco  ç đặt pass là cisco, pass này tùy ở người quản trị
Router(config-line)#login ç áp dụng cấu hình trên cho router
Sau khi đã cấu hình, mỗi lần vào user mode sẽ được yêu cầu nhập pass


Lưu ý: khi gõ pass sẽ không xuất bất kỳ một ký tự nào, chỉ cần gõ đúng pass là được.
3.2. Đặt password cho enable mode
Việc đặt pass lúc này có ý nghĩa là khi muốn từ user mode vào priviledge mode(gõ câu lệnh enable) thì sẽ yêu cầu nhập pass, nếu nhập đúng sẽ đc cho qua.
Có 2 cách để thực hiện việc này:
            -C1:có thể dùng dòng lệnh:
Router(config)#enable password cisco
            -C2: có thể dùng dòng lệnh:
Router(config)#enable secret cisco
Trong 2 trường hợp này, câu lệnh thứ 2 sẽ mạnh hơn và pass sẽ được mã hóa, nếu ta gõ cả 2 lệnh này thì router sẽ nhận câu lệnh thứ 2 và cũng sẽ sử dụng pass của câu lệnh thứ 2.


3.3. Đặt pass cho việc truy cập router từ xa(virtual terminal password)
Khi muốn cấu hình cho router thông qua việc đăng nhập từ xa(telnet, ssh…) thì yêu cầu phải được đặt pass cho các cổng virtual terminal. Nếu ko sẽ ko thể đăng nhập từ xa đc.
Việc cấu hình thông qua các dòng lệnh:
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#line vty 0 4 çđăng nhập vào mode vty. 0 4 có nghĩa là có 5 đường kết nối từ xa
Router(config-line)#password cisco çnhập pass
Router(config-line)#login çbắt đầu áp dụng việc cấu hình pass
4. Đặt tên và banner cho router
4.1.Đặt tên cho router
Mỗi router có thể được đặt tên riêng. Việc đặt tên sẽ giúp ta dễ dàng ghi chú hơn cho từng Router
Việc cấu hình thông qua các dòng lệnh:
Router#conf  t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R1 ç đặt R1 là tên của router
R1(config)#
4.2.Đặt banner cho router
Banner là một đoạn text xuất hiện khi vào môi trường dòng lệnh cấu hình router(user mode). Các banner này có thể là ghi chú của admin.
Việc đặt banner thông qua các câu lệnh:
Router(config)#banner motd #Chao mung den voi moi truong cau hinh router# ç phần phía trong 2 dấu # là đoạn text mà bạn muốn làm banner.


 
5.Đặt địa chỉ cho interface
Trên router, mỗi interface sẽ nằm trong 1 mạng riêng, vì vậy ta có thể coi mỗi interface là một host trong mạng đó. Và như thế, mỗi interface cũng có thể có một địa chỉ IP riêng trong mạng.
Router Cisco phân chia các interface thành nhiều kiểu đáp ứng các nhu cầu khác nhau, bao gồm:
            - Ethernet     IEEE 802.3
            - FastEthernet     FastEthernet IEEE 802.3
            -GigabitEthernet  GigabitEthernet IEEE 802.3z
            -Loopback         Loopback interface
            -Serial           Serial
Việc đánh thứ tự các interface là tùy thuộc vào từng router. Mỗi interface đều được mang một tên riêng, và duy nhất trên router.
Việc cấu hình IP cho interface như sau:
R1(config)#interface [ten_interface] çmuốn cấu hình interface nào thì ta sẽ vào interface đó
R1(config-if)#ip address [dia_chi_ip] [subnet mask] ç ghi các thông số về IP cho router
R1(config-if)#no shutdown ç câu lệnh này sẽ active interface đó lên



Download video and .doc file:
http://www.mediafire.com/?5xmb94butmi4viy

 Enjoy!