Giải pháp sử dụng mã nguồn mở Vyatta thay thế Cisco và Fortinet (Phần III – Các giao thức định tuyến)

Tổng quan về định tuyến trong Vyatta

Ngoài việc hỗ trợ định tuyến tĩnh, Vyatta còn hỗ trợ các loại định tuyến động như:

  • RIP: Giao thức  định tuyến  thường  được sử  dụng trong những mạng nhỏ  như giữa các phòng trong công ty, là giao thức định tuyến theo vector khoảng cách. Nhược điểm là RIP không thể sử dụng ở những mạng lớn do metric của RIP tối đa là 15. Thời gian hội tụ lớn, do đó lâu phát hiện được các lỗi xảy ra.
  • OSPF: Được coi như là một giao thức được phát triển để thay thế và khắc phục những nhược  điểm của RIP. OSPF có thời gian hội tụ  nhanh, giao thức  định tuyến theo dạng link state. Có thể xây dựng  sơ đồ mạng nên chống được hiện tượng lặp trong mạng. OSPF hỗ trợ VLSM và mạng không hội tụ (Discontigous Network)
  • BGP: Giao thức định tuyến động phức tạp được sử dụng trên internet, được sử dụng bởi các tổ chức lớn, có thể được sử dụng bởi các ISP hoặc các tập đoàn đa quốc gia.
  • Routing Policy: Cho phép ta thiết lập  các  quy  định trong việc thiết lập bảng định tuyến của các giao thức định tuyến động

I – Cơ bản về định tuyến trong Vyatta

Các câu lệnh xem và cấu hình static route, đối với router Vyatta câu lệnh cấu hình như sau:

set protocols static route

(mạng nguồn có dạng x.x.x.x/x ví dụ: 192.168.1.0/24) 

Khi cấu hình Static Route, giá trị Administrative Distance là nhỏ nhất và có giá trị là 1.
 
Mô hình minh họa : Định tuyến tĩnh trong Vyatta

 
Câu lệnh cấu hình trên R1:

 
Câu lệnh cấu hình trên R2:
 

Kiểm tra cấu hình định tuyến:

Câu lệnh hiển thị các đường định tuyến của router: show ip route

Để hiển thị  chỉ  các đường định tuyến  tĩnh  ta  có  thể  sử dụng câu lệnh  show ip route static  (tương  tự để hiển thị các đường định tuyến theo các giao thức khác nhau ví dụ như ospf, rip v.v…)

II – RIP

RIP trong Vyatta

Đối với những mạng nhỏ  ta có thể dùng giao thức định tuyến RIP, Vyatta hỗ  trợ giao thức định tuyến RIP v2 với các chuẩn RFC 1058 và RFC 2453 (RIP version 2) .

Cấu hình

Các câu lệnh cấu hình cơ bản của RIP trong Vyatta:

Quảng bá một đường mạng:

set protocol rip network

(trong đó x.x.x.x/x là địa chỉ mạng kết nối trực tiếp với router đó)

Tự động quảng bá các đường kết nối trực tiếp với nó
:

set protocol rip redistributed connected

Nếu ở trên router biên, ta cần quảng bá default route bằng câu lệnh
 
set protocol rip default-information originate

Mô hình ví dụ : Định tuyến RIP

 

Câu lệnh cấu hình trên R1:

vyatta@kenhgiaiphapR1# set protocols rip network 10.0.4.0/24

vyatta@kenhgiaiphapR1# set protocols rip network 10.0.3.0/24

vyatta@kenhgiaiphapR1# set protocols rip network 10.0.2.0/24

vyatta@kenhgiaiphapR1# set protocols rip redistribute connected

vyatta@kenhgiaiphapR1# commit

Câu lệnh cấu hình trên R2:

vyatta@kenhgiaiphapR2# set protocols rip network 10.0.2.0/24

vyatta@kenhgiaiphapR2# set protocols rip redistribute connected

vyatta@kenhgiaiphapR2# commit 

(cấu hình tương tự đối với router 3 và 4)

Ở R2,R3,R4 ta không cần phải quảng bá các đường mạng phía trong nó nữa vì khi sử dụng câu lệnh redistribute connected  các đường mạng kết nối trực tiếp với router đó sẽ được tự động quảng bá.

Xem bảng định tuyến trên Router R1:

vyatta@kenhgiaiphapR1:~$ show ip route

Xem bảng định tuyến trên Router R2:

vyatta@kenhgiaiphapR2:~$ show ip route

III – OSPF

OSPF trong Vyatta

Khi cần cấu hình định tuyến cho những mạng nhiều router ta có thể dùng giao thức định tuyến OSPF.

OSPF (Open Shortest Path First) là giao thức  định tuyến  động sử  dụng thuật toán Dijkstra để  xây dựng bảng định tuyến. Đây  là  giải thuật  tìm  được đi ngắn nhất SPT (Shortest path tree) để  đi đến đích. Thông điệp quảng cáo LSA (Link State Advertisement) mang thông tin của router và trạng thái tới các láng giềng cạnh nó, dựa trên những thông tin trao đổi bằng LSA, router sẽ xây dựng topology mạng.

Cấu hình

Để quảng bá một đường mạng kết nối trực tiếp với router ta dùng câu lệnh

set protocols ospf area

network

(trong đó area là một số chứa vùng của mạng đó, network id là địa chỉ mạng kết nối trực tiếp với router đó có dạng x.x.x.x/x)

Ví dụ:

set protocols ospf area 0.0.0.0 network 10.0.0.0/24

Để tự động quảng bá các đường kết nối connected của router ta dùng câu lệnh

set protocols ospf redistribute connected

Show ip route trên kenhgiaiphapR1 và kenhgiaiphapR2 xem kết quả

IV – BGP

 
Tổng quan về BGP

BGP (Boder Gateway Protocol) là giao thức liên miền chủ  yếu  được sử  dụng trên internet.

Khái niệm chính của BGP chính là hệ thống tự trị (AS). AS là một miền tự trị riêng biệt với các chính sách riêng biệt, ví dụ như mỗi ISP sẽ có một AS của riêng mình, hoặc một số doanh nghiệp lớn sẽ  có AS riêng của mình. Giao thức định tuyến BGP được dùng để chuyển tải thông tin giữa các AS với nhau.

Các router sử dụng BGP được gọi là BGP peers hoặc BGP neiboors. Giao thức BGP sử dụng port udp 179 để  trao đổi thông tin với nhau. Các BGP được đặt trong cùng một AS được gọi là iBGP (internal BGP), các BGP nằm trong các AS khác nhau được gọi là eBGP (external BGP). 

Có hai cách để trao đổi những thay đổi trong bảng định tuyến với các router khác trong BGP đó là:

  • Thông báo về đường đi  cho  láng  giềng, từ  đó  có  thể xây dựng được một mạng  lưới thông tin về các đường đi của mạng cùng các thuộc tính liên quan tới mỗi con đường đó.
  • Rút lại thông tin về đường đi, cho biết về đường định tuyến đã mất hoặc không thể đi ngang qua router này nữa.

Tất cả  các đường định tuyến nhận được bằng giao thức BGP sẽ được  router đặt vào bảng BGP (các đường định tuyến này còn được gọi  là BGP paths). Router sẽ  tự động thu thập nhiều đường đi đến mạng đích, thông qua tất cả các láng giềng của nó. Trong mỗi trường hợp, BGP sẽ dựa vào thuật toán của nó để chọn con đường đi tốt nhất trong tất cả  các con đường mà nó học  được. Khi  đường  đi  đã  được chọn, nó sẽ  trở  thành đường đi chính và được đưa vào bảng định tuyến dạng “active”. Mỗi con BGP path bao gồm vài thuộc  tính  được sử  dụng trong quá trình lựa chọn đường đi nhằm  tìm  ra được đường đi  tốt nhất. Các thuộc  tính đó  có  thể được người quản trị định nghĩa  trong chính  sách áp dụng đối với giao thức BGP tại router, từ đó cho phép router có các hành động phù hợp với ý muốn của người quản trị, như đồng ý hoặc không chấp nhận một đường quảng bá nào đó.

Một trong những thuộc tính quan trọng nhất được sử dụng trong BGP path là AS path.

AS path sẽ  cho danh sách về  các AS đã được quảng bá tới router, và router sẽ dùng danh sách này để ngăn chặn lặp.

Cấu hình cơ bản:

    – iBGP

 
Cấu hình tại R1:

Quảng bá địa chỉ loopback thông qua ospf:

vyatta@kenhgiaiphapR1# set protocols ospf area 0.0.0.0 network 10.0.0.11/32

Quảng bá mạng local thông qua ospf:

vyatta@kenhgiaiphapR1# set protocols ospf area 0.0.0.0 network 172.16.0.0/24

Quảng bá mạng bên ngoài mà router có kết nối thông qua ospf:

vyatta@kenhgiaiphapR1# set protocols ospf area 0.0.0.0 network 88.88.88.0/30

Đặt ID của router thông qua địa chỉ IP loopback

vyatta@kenhgiaiphapR1# set protocols ospf parameters router-id 10.0.0.11

Cấu hình card mạng eth0 về chế độ passive (thụ động) nhằm không cho quảng bá các đường route từ mạng trong ra mạng phía bên ngoài thông qua card mạng eth0.

vyatta@kenhgiaiphapR1# set protocols ospf passive-interface eth0

Tạo quan hệ BGP láng giềng với R2, với AS chung là 100

vyatta@kenhgiaiphapR1# set protocols bgp 100 neighbor 10.0.0.22 remote-as 100

Định nghĩa địa chỉ IP tại R1 sẽ được sử dụng để tạo quan hệ láng giềng với R2

vyatta@kenhgiaiphapR1# set protocols bgp 100 neighbor 10.0.0.22 update-source 10.0.0.11

Tạo quan hệ láng giềng BGP với R3 và R4

vyatta@kenhgiaiphapR1# set protocols bgp 100 neighbor 10.0.0.33 remote-as 100

vyatta@kenhgiaiphapR1# set protocols bgp 100 neighbor 10.0.0.33 update-source 10.0.0.11

vyatta@kenhgiaiphapR1# set protocols bgp 100 neighbor 10.0.0.44 remote-as 100

vyatta@kenhgiaiphapR1# set protocols bgp 100 neighbor 10.0.0.44 update-source 10.0.0.11

vyatta@kenhgiaiphapR1# set protocols bgp 100 parameters router-id 10.0.0.11

vyatta@kenhgiaiphapR1# commit

Cấu hình tại R2:

Quảng bá các địa chỉ loopback thông qua ospf

vyatta@kenhgiaiphapR2# set protocols ospf area 0.0.0.0 network 10.0.0.22/32

vyatta@kenhgiaiphapR2# set protocols ospf area 0.0.0.0 network 172.16.0.0/24

Thiết lập router ID cho R2 là địa chỉ loopback 10.0.0.22

vyatta@kenhgiaiphapR2# set protocols ospf parameters router-id 10.0.0.22

Tạo quan hệ BGP láng giềng với R1

vyatta@kenhgiaiphapR2# set protocols bgp 100 neighbor 10.0.0.11 remote-as 100

Định nghĩa địa chỉ IP tại R2 sẽ được sử dụng để tạo quan hệ láng giềng với R1

vyatta@kenhgiaiphapR2# set protocols bgp 100 neighbor 10.0.0.11 update-source 10.0.0.22

Cấu hình tương tự như trên đối với R3 và R4

vyatta@kenhgiaiphapR2# set protocols bgp 100 neighbor 10.0.0.33 remote-as 100

vyatta@kenhgiaiphapR2# set protocols bgp 100 neighbor 10.0.0.33 update-source 10.0.0.22

vyatta@kenhgiaiphapR2# set protocols bgp 100 neighbor 10.0.0.44 remote-as 100

vyatta@kenhgiaiphapR2# set protocols bgp 100 neighbor 10.0.0.44 update-source 10.0.0.22

vyatta@kenhgiaiphapR2# commit

cấu hình tương tự với R3,R4

Xem thông về bảng định tuyến BGP tại R1: show ip bgp summary

Kiểm tra thông tin về các đường BGP tại R1: show ip bgp

   – eBGP

 
Trong mô hình ví dụ trên, ta đã cấu hình trước iBGP trong AS 100. Sau đó ta cần thêm các câu lệnh cấu hình sau tại R1 và R4:

Tạo quan hệ láng giềng với AS 200 và 300:

R1:

vyatta@kenhgiaiphapR1# set protocols bgp neighbor 88.88.88.2 remote-as 200

R2:

vyatta@kenhgiaiphapR4# set protocols bgp neighbor 99.99.99.2 remote-as 300

Quảng bá các đường định tuyến tại R1 và R4:

R1:

vyatta@kenhgiaiphapR1# set protocols bgp 100 network 172.16.0.0/24

R4:

vyatta@kenhgiaiphapR4# set protocols bgp 100 network 172.16.0.0/24

Sau khi quảng bá các đường mạng phía trong, ta kiểm tra lại nội dung của bảng định tuyến giao thức BGP: show ip bgp , show ip route bgp.
Việc router Vyatta hỗ trợ giao thức định tuyến BGP giúp cho doanh nghiệp thiết lập các đường định tuyến riêng giữa các phần tổ chức của mình với chi phí thấp mà vẫn đảm bảo được chức năng cần thiết. BGP là giao thức có thể định tuyến các mạng lớn, giúp cho việc định tuyến nội bộ giữa các công ty có mạng lan lớn.

Kết luận :

Kết thúc phần 3 cấu hình các giao thức định tuyến cơ bản trên vyatta, qua phần này ta có 1 cái nhìn tổng quan về các giao thức định tuyến trên vyatta, vyatta hỗ trợ đầy đủ các giao thức định tuyến trừ giao thức eigrp, nhưng với những giao thức trên cũng có thể cho thấy rằng vyatta là 1 thiết bị định tuyến tối ưu không chỉ dành cho những công ty,doanh nghiệp vừa và nhỏ vyatta còn hỗ trợ những hệ thống mạng lớn cho những tập đoàn xuyên quốc gia mà vẫn đảm bảo được những yêu cầu và chức năng cần thiết.
Qua phần 4 tôi sẽ trình bày về vấn đề bảo mật của Vyatta. Chúc các bạn thành công !

Hoàng Lâm (từ Vyatta)

About Tony Nguyễn
Tôi tên Tony tự Tèo trú tại thôn Tám, Trảng Thanh tỉnh Thừa Thiên. Thưở thiếu thời trí tuệ tôi thường thường, tuy thế tính tình thật thà thẳng thắng, thích thi thơ ...

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: