Tuy hoàn toàn miễn phí, kích thước gọn nhẹ nhưng Vyatta Core có đầy đủ những chức năng cần thiết để đáp ứng cho các nhu cầu đa dạng của doanh nghiệp: • Các tính năng cơ bản như DHCP, st
Trang 1Vyatta Core – Giải Pháp UTM
Trang 2Mục lục
Danh sách hình vẽ
Danh sách bảng
Trang 31 GIỚI THIỆU
Sự phát triển của truyền thông và Internet ngày nay làm nảy sinh nhu cầu cơ bản mà mỗi công ty hoặc tổ chức vừa và nhỏ hoặc lớn đều cần đến là có một hệ thống mạng phục vụ cho hoạt động thông tin của mình Để đảm bảo sự thông suốt, hiệu suất và an toàn cao cho mạng thì luôn cần đến các thành phần/chức năng như router, firewall, VPN, lọc web, cân bằng tải, phát hiện xâm nhập, v.v…
Trên thị trường hiện nay có nhiều loại thiết bị và phần mềm phục vụ các nhu cầu này, từ dạng chuyên biệt chỉ một chức năng hoặc tổng hợp nhiều chức năng trong một thiết bị hoặc phần mềm Tuy nhiên chi phí để trang bị một hệ thống mạng cho doanh nghiệp luôn
là một vấn đề đáng bàn, đặc biệt là đối với các công ty vừa và nhỏ Ví dụ các thiết bị phần cứng của Cisco (như ASA) có giá rất cao, hoặc các bộ phần mềm tích hợp với hệ thống Domain Controler của Microsoft (như ISA, TMG) cũng tốn không kém chi phí.
Do đó trong đề tài này nhóm em sẽ tìm hiểu và trình bày về Vyatta Core – giải pháp UTM
mã nguồn mở cung cấp các tính năng định tuyến và bảo mật mạng có thể thay thế cho
các thiết bị phần cứng chuyên dụng hay các phần mềm thương mại mắc tiền.
Vyatta Core là một hệ điều hành mạng được xây dựng dựa trên Debian (một bản phân phối GNU/Linux rất nổi tiếng) được tinh chỉnh để chỉ cung cấp các tính năng, dịch vụ mạng Nó là phiên bản mã nguồn mở của Vyatta Network OS do công ty Vyatta phát hành
và được cộng đồng cùng nhau phát triển Tuy hoàn toàn miễn phí, kích thước gọn nhẹ nhưng Vyatta Core có đầy đủ những chức năng cần thiết để đáp ứng cho các nhu cầu đa dạng của doanh nghiệp:
• Các tính năng cơ bản như DHCP, static/dynamic routing (RIP, OSPF, BGP), NAT, stateful firewall, IPSec/SSL-based VPN, Web caching, bandwidth management, v.v…
• Các tính năng nâng cao như hỗ trợ IPv6, IPS, Web filtering, QoS, high availability (WAN link load balancing, firewall/NAT failover, RAID-1, clustering, VRRP), v.v… Được thiết kế để chạy trên bất kỳ nền tảng phần cứng x86 chuẩn nào với khả năng co giãn
từ kết nối DSL cho tới 10Gbps Ethernet, hơn nữa còn có thể được tối ưu để chạy trong các nền tảng ảo hóa như VMware, Citrix XenServer, Xen, KVM nhằm cung cấp các dịch vụ mạng
và bảo mật cho các máy ảo và môi trường điện toán đám mây, Vyatta thực sự mang lại sự mềm dẻo phù hợp với nhiều yêu cầu và hoàn cảnh cụ thể Nó hoàn toàn có thể trở thành lựa chọn tốt cho các doanh nghiệp vừa và nhỏ và ngay cả các tổ chức lớn (với bản thương mại có phí của Vyatta).
Trang 52 TỔNG QUAN VỀ VYATTA
Vyatta đang tạo ra một sự ảnh hưởng lớn đến ngành công nghiệp mạng bằng cách cung cấp các giải pháp mạng và bảo mật dựa trên phần mềm kết hợp với việc tận dụng các ưu thế của ảo hóa, nền tảng máy chủ đa lõi và các mô hình điện toán đám mây nhằm đáp ứng các nhu cầu đa dạng về hạ tầng CNTT Hàng ngàn hạ tầng vật lý, ảo hóa và đám mây của các khách hàng doanh nghiệp từ nhỏ đến lớn trên khắp thế giới được kết nối và bảo vệ bởi Vyatta chứng minh cho khả năng và sức mạnh mà Vyatta có thể mang lại.
Giải pháp của Vyatta là một lựa chọn tốt để thay thế cho các thiết bị phần cứng độc quyền của các hãng như Cisco, Juniper.
Dưới đây là bảng so sánh giữa hệ điều hành Vyatta Network OS và phần mềm Cisco IOS
Bảng 1- So sánh Vyatta Network OS và Cisco IOS
2.1 Các sản phẩm chính
• Về phần mềm
Đây đều là các phiên bản thương mại, có phí, với đầy đủ các chức năng nhưng khách hàng phải tự trang bị phần cứng cho việc triển khai và nhận được sự hỗ trợ từ chính hãng Vyatta.
Vyatta Network OS: được cài đặt trên các nền tảng phần cứng x86 chuẩn.
Vyatta Network OS Virtual Machines: được cài đặt trong các nền tảng ảo hóa như Citrix XenServer, VMware, Xen, Red Hat KVM.
• Về phần cứng
Vyatta Hardware Appliance: là các thiết bị phần cứng đã được tối ưu, có tính tương thích cao và cài đặt sẵn phần mềm Vyatta Network OS.
• Dành cho cộng đồng
Trang 6Vyatta Core: là phiên bản mã nguồn mở, hoàn toàn miễn phí của Vyatta Network OS dành cho cộng đồng các nhà phát triển và người dùng, tổ chức có nhu cầu nghiên cứu, triển khai
và tất nhiên không nhận được các dịch vụ chuyên nghiệp từ Vyatta.
2.2 Các chức năng chính của Vyatta Network OS
• Kết nối mạng
Tại lõi của hệ thống Vyatta là một cơ chế định tuyến phức tạp, hỗ trợ đầy đủ các giao thức định tuyến động trên nền IPv4 và IPv6 (BGP, OSPF, RIP) Ngoài ra còn hỗ trợ cho mạng không dây chuẩn 802.11, các giao tiếp WAN và các card Ethernet có tốc độ lên tới 10Gbps.
• Tường lửa
Tường lửa của Vyatta nổi trội với khả năng kiểm duyệt cho cả gói tin IPv4 và IPv6 Các tính năng cao cấp gồm zone-based/time-based firewalling, P2P filtering.
• Lọc nội dung và phòng chống xâm nhập
Hệ thống Vyatta cung cấp thêm một mức độ bảo vệ theo cách chủ động trước các mối đe dọa với bộ lọc web thông minh và cơ chế phòng chống xâm nhập tiên tiến (có trong gói dịch vụ Vyatta PLUS).
• Bảo vệ các kết nối từ xa
Thiết lập các kết nối VPN Site-to-Site an toàn (sử dụng IPSec) giữa hai hoặc nhiều hệ thống Vyatta hoặc bất kỳ thiết bị có hỗ trợ IPSec VPN nào Đồng thời còn cung cấp khả năng truy cập mạng từ xa an toàn cho người dùng nhờ tính năng SSL-based OpenVPN.
• Quản lý lưu lượng
Nhiều cơ chế QoS khác nhau có thể được áp dụng cho các lưu lượng đi vào (inbound) và đi
ra (outbound) để xác định và gán sự ưu tiên cho các lưu lượng và các ứng dụng quan trọng hay đòi hỏi độ trễ thấp.
• Độ sẵn sàng cao
Vyatta cung cấp khả năng dự phòng (redundancy) và tính sẵn sàng cao (high availability) cho các mạng tối quan trọng thông qua các tiêu chuẩn về cơ chế đồng bộ và chuyển đổi dự phòng (failover)
•
Trang 7Các thông tin về tình trạng hoạt động của hệ thống Vyatta đều được ghi nhận và cung cấp đầy đủ và có thể được theo dõi bằng các công cụ/giao thức phổ biến như SNMP, Netflow, Syslog Wireshark, v.v…
Hình 1- Mô hình chức năng của Vyatta Network OS
Dưới đây là chi tiết các chức năng của Vyatta Network OS phiên bản 6.3
Trang 8Bảng 2- Danh sách chi tiết chức năng của Vyatta Network OS 6.3
2.3 Các giải pháp triển khai
Để triển khai giải pháp của Vyatta có thể chọn một trong ba nhóm giải pháp sau:
Trang 9Vyatta Solutions
Private & Public Cloud
Vyatta for The Cloud
Vyatta for the Amazon Cloud
Virtual Datacenter
Vyatta for Virtualization
Vyatta for Riverbed RSP
Physical Network Edge
Vyatta Appliances
Vyatta Network OS
Hình 2- Các giải pháp triển khai Vyatta
Giới thiệu chi tiết về các nhóm giải pháp trên cũng như là các tài liệu về các mô hình triển khai mẫu, xin tham khảo thêm ở địa chỉ sau:
http://www.vyatta.com/solutions
Các phần tiếp theo của báo cáo này sẽ tập trung vào việc ứng dụng giải pháp Vyatta Core vào một mô hình triển khai với các yêu cầu cụ thể và gần giống với thực tế ở các doanh nghiệp Các bước cài đặt và cấu hình các thành phần chức năng đều được thực hiện trong môi trường ảo hóa.
Trang 103 TẢI VÀ CÀI ĐẶT VYATTA CORE
Phần này sẽ mô tả các tùy chọn triển khai và các bước cài đặt mới một hệ thống Vyatta Core.
3.1 Yêu cầu phần cứng tối thiểu
Một điều cần lưu ý là hiện phần mềm Vyatta được thiết kế chỉ để chạy trên các phần cứng x86 chuẩn Do vậy mà các nền tảng khác như MIPS, ARM, SPARC, PowerPC,… đều không được hỗ trợ Tùy thuộc vào các thành phần chức năng mà hệ thống Vyatta sẽ đảm trách
mà có các yêu cầu về phần cứng (CPU, RAM, thiết bị lưu trữ) khác nhau Dưới đây là bảng chỉ dẫn cơ bản để chọn cấu hình phần cứng phù hợp với từng yêu cầu thiết kế.
Bảng 3 - Yêu cầu phần cứng tối thiểu để cài đặt Vyatta Core
3.2 Các tùy chọn triển khai
Hệ thống Vyatta hỗ trợ các tùy chọn triển khai rất linh động sau:
• Chạy từ LiveCD: Vyatta có thể hoạt động trực tiếp từ đĩa CD (được ghi ra từ file
ISO có thể khởi động của Vyatta), hệ thống được nạp và chạy ngay trong bộ nhớ RAM mà không làm xáo trộn dữ liệu hay thay đổi hệ điều hành hiện có trên máy tính Ngoài ra, tạo một LiveCD cũng là bước tiên quyết đầu tiên để cài Vyatta lên thiết bị lưu trữ như ổ cứng.
• Cài đặt trên thiết bị lưu trữ dài lâu: sau khi khởi động từ một LiveCD, Vyatta có
thể được cài trên ổ HDD, SSD, USB và các loại thiết bị lưu trữ dài lâu (persistent device) khác như thẻ nhớ.
• Cài đặt trong môi trường ảo hóa hoặc đám mây (cloud): Vyatta cung cấp các
bản virtual appliance là hệ thống Vyatta được cài đặt và tối ưu sẵn dành cho nền
Trang 11tảng ảo hóa VMware ESX và XenServer Ngoài ra, cũng có thể cài đặt Vyatta lên ổ cứng của máy ảo hoặc chạy LiveCD trong máy ảo.
Mỗi lựa chọn trên đều có những ưu nhược điểm riêng và phù hợp với các nhu cầu khác nhau.
3.3 Các bước cài đặt
Dưới đây là các bước cài đặt Vyatta Core bản LiveCD lên ổ cứng trong máy ảo VMware.
3.3.1 Tạo và khởi động từ LiveCD
Tải về file ISO bản LiveCD của Vyatta Core từ trang: http://vyatta.org/downloads
Phiên bản mới nhất tại thời điểm này là 6.3, bản 64-bit mới đang ở giai đoạn thử nghiệm nên chọn tải bản 32-bit cho ổn định.
Sau đó ghi file ISO trên ra đĩa CD và khởi động máy tính từ LiveCD vừa tạo.
Nếu thấy dấu nhắc lệnh vyatta login: thì nghĩa là hệ thống Vyatta đã khởi chạy thành
công.
Đăng nhập với tên tài khoản và mật khẩu đều là vyatta.
Hình 3 - Đăng nhập vào hệ thống Vyatta
Lưu ý: đối với trường hợp cài đặt Vyatta Core trong môi trường ảo hóa thì chỉ cần gắn file ISO tải về ở trên vào ổ CD ảo rồi khởi động máy ảo từ ổ CD ảo đó và thực hiện các bước tiếp theo đây.
3.3.2 Cài đặt từ LiveCD
Sau khi vào được môi trường LiveCD, có hai kiểu cài đặt hệ thống Vyatta lên thiết bị lưu trữ dài lâu là:
• Image-based install: với cách này, ta có thể cài đặt nhiều phiên bản của Vyatta
trên cùng một máy chủ, mỗi phiên bản sẽ là một file ảnh (image) riêng Khi bật máy, cho phép chọn một image để khởi động và việc chuyển đổi giữa các image để
sử dụng cũng đơn giản.
• Disk-based install: khác với cài dạng image ở trên, cách này sẽ sử dụng kiểu xếp
đặt các file theo truyền thống (tức là sẽ có phân vùng root chứa các folder như: /boot, /dev, /home, /usr, /bin, /etc, /temp, ) Các image là các phiên bản khác của Vyatta có thể được thêm vào sau khi hệ thống được cài theo kiểu disk-based này.
Trang 12Dưới đây sẽ minh họa cài theo kiểu disk-based (cũng gần tương tự cho kiểu image-based)
1 Tại dấu nhắc lệnh sau khi đăng nhập, gõ lệnh install-system (hoặc install-image nếu chọn cài kiểu image-based).
2 Làm theo các hướng dẫn trên màn hình để hoàn tất quá trình cài đặt (lưu ý các bước chọn phân vùng cài Vyatta, mật khẩu cho tài khoản root, vị trí cài GRUB).
3 Rút LiveCD ra và đảm bảo là BIOS đã được thiết lập để khởi động từ ổ cứng chứa
hệ thống Vyatta vừa được cài lên.
4 Gõ lệnh reboot để khởi động lại máy.
3.3.3 Kiểm tra cài đặt
Sau khi cài đặt và khởi động thành công Vyatta Core, thực hiện các bước sau để kiểm tra các thông tin cơ bản và kết nối mạng của hệ thống.
• Tại dấu nhắc yêu cầu đăng nhập hiện ra, gõ vào với tên tài khoản và mật khẩu mặc định đều là vyatta.
• Để xem phiên bản và kiểu của hệ thống đang chạy, gõ lệnh show version, kết quả có dạng như hình sau:
Hình 4 - Lệnh show version
- Dòng Version: cho biết phiên bản của hệ thống Vyatta đang chạy
- Dòng Boot via: cho biết kiểu của hệ thống đang chạy là LiveCD, disk (nếu cài
kiểu disk-based) hoặc image (nếu cài kiểu image-based).
- Dòng Hypervisor: cho biết Vyatta được cài trong nền tảng ảo hóa nào (ở đây
là VMware).
• Để xác nhận hệ thống có thể được truy cập trong mạng cục bộ, ở đây, ta thử kết nối máy ảo Vyatta với máy thật, đặt IP cho chúng cùng subnet và kiểm tra kết nối mạng bằng lệnh ping như hình sau:
Trang 13Hình 5 - Kiểm tra kết nối mạng cục bộ
- Máy Vyatta có IP là 192.168.1.10/24, máy thật có IP là 192.168.1.4/24
- Ý nghĩa của các câu lệnh khác sẽ được đề cập trong các phần sau.
Trang 144 TÌM HIỂU MỘT SỐ CẤU HÌNH CƠ BẢN
4.1 Giao diện CLI
Cũng giống như cấu hình cho các thiết bị mạng khác, giao diện dòng lệnh của Vyatta cũng
có 2 model cơ bản là Operational model và Configuration model.
Hình 6 – Các chế độ CLI
Khi logon vào là giao diện Operational, để chuyển qua chế độ cấu hình bạn dùng lệnh configure Để thoát khỏi chế độ cấu hình dùng lệnh exit Trong chế độ cấu hình có 2 lệnh đáng chú ý là set và show Lệnh set để thiết lập cấu hình và lệnh show để xem các thông số Khi cấu hình xong bằng lệnh set hãy luôn ghi nhớ lệnh commit để cấu hình có hiệu lực Bạn có dùng phím tab để hoàn tất lệnh còn thiếu, dùng dấu ? để xem hướng dẫn của lệnh.
Ghi chú: Việc sử dụng giao diện CLI không quá khó đối với người đã từng làm việc trên
thiết bị mạng Do đó bài viết này không đề cập chi tiết.
4.2 Quản trị hệ thống
Trong bài này bạn thực hành cấu hình thông tin cơ bản cho host, được mô tả trong sơ đồ mạng sau đây.
Trang 15Hình 7 – Cấu hình các thông tin cho host
Thực hành 1 Cấu hình thông tin host
Dùng lệnh set system host‐name R1 để đặt hostname cho thiết bị Trong đó R1 chính là hostname cần đặt.
Dùng lệnh set system domain‐name mydomain.com để đặt domainname cho thiết
bị này Trong đó mydomain.com chính là domain cần đặt.
Dùng lệnh set system static‐host‐mapping host‐name R1 inet 10.0.0.65 để mapping một địa chỉ ip vào hostname Lệnh trên có nghĩa host R1 sẽ được map tĩnh với địa chỉ ip là 10.0.0.65 (chi tiết này giống với việc bạn định nghĩa file host trong windows)
Dùng lệnh set system name‐server 10.10.40.34 để chỉ định dns server đóng vai trò phân giải domain trên thiết bị này Trong đó 10.10.40.34 chính là dns server ví dụ Dùng lệnh set system gateway‐address 172.16.0.254 để chỉ định địa chỉ gateway cho thiết bị.
Cuối cùng bạn có thể dùng các lệnh show tương ứng để xem lại cấu hình ở trên
4.3 Quản trị user
Để chứng thực khi vào cấu hình Vyatta hổ trợ tất cả các giao thức chứng thực:
• Chứng thực local bằng user/pass được lưu cục bộ trên thiết bị.
• Chứng thực qua RADIUS server.
• Chứng thực qua TACACS+
• Sử dụng SSH để tạo khóa công khai khi chứng thực.
Bài này chỉ hướng dẫn bạn chứng thực local, vì các loại còn lại không có trên phiên bản Community.
Trang 16Hình 8 – Thông tin tài khoản người dùng
Cấu hình user login trên Vyatta
Tạo username và password đăng nhập thiết bị như thông tin mô tả trên hình Dùng lệnh set system login user john full‐name “John Smith” để tạo user là john và fullname là John Smith.
Dùng lệnh set system login user john authentication plaintext ‐password mypassword để thiết lập mật khẩu cho user john là mypassword.
Dùng lệnh show system login để xem lại thông tin cấu hình.
Dùng lệnh system login banner post‐login <banner> để cấu hình banner khi login, trong đó banner phải đặt trong dấu nháy kép.
4.4 Giám sát hệ thống
Chức năng này cho phép bạn xem lại nhật ký chuyển gói tin qua đường mạng Thông qua việc thiết lập cho phép theo dõi trên interface bạn có thể thống kê được trạng thái, lưu lượng truyền tải của thiết bị.
Thực hành 2 Cấu hình flow-accouting
Để cho phép theo dõi mạng bạn dùng lệnh cấu hình set system flow‐accounting interface eth0.
Trang 17Sau đó thoát khỏi chế độ cấu hình, và dùng lệnh show flow‐accounting interface eth0
để xem trạng thái truyền tải mạng.
Ngoài việc xem thông tin trên giao diện, còn có thể gửi thông tin này đến cho logging server Dùng lệnh set system flow‐accounting netflow server 192.168.1.20 Trong đó địa chỉ ip chính là ip của log server.
4.5 SSH
Để có thể cấu hình cho Vyatta, bạn phải login trên thiết bị, điều đó thật bất tiện Bạn có thể dùng giao thức SSH để cấu hình từ xa.
Thực hành 3 Cấu hình giao thức ssh
Để bật giao thức ssh bạn dùng lệnh set service ssh
Dùng lệnh show service ssh để kiểm tra lại.
Dùng một chương trình ssh nào đó để thử kết nối vào thiết bị qua ssh, port 22.
Trang 185 TÍNH NĂNG NỔI BẬT
5.1 Giải pháp Định Tuyến
Định tyến là gì? Cho phép chúng tôi không giải thích chi tiết ở đây Trong phần này, chúng
ta sẽ triển khai các giải pháp định tuyến mà Vyatta hổ trợ Nhắc đến định tuyến, chúng ta
có thể phân loại theo mô hình sau:
Hình 9 – Các giao thức định tuyến được hỗ trợ
Định tuyến nội miền có thể kể đến các giao thức RIP, EIGRP, OSPF, ISIS Định tuyến ngoại miền thì có BGP Trong phần này chúng ta sẽ triển khai 3 giao thức RIP, OSPF và BGP.
Trang 195.1.1 Giao thức RIP
1.1.1.1 Mô hình
Hình 10 – Mô hình triển khai RIP
Triển khai mô hình mạng như trên Mỗi router là một máy ảo được cài đặt Vyatta, có hai card mạng Trong đó sử dụng card loop back để làm client trên mỗi vùng mạng.
1.1.1.2 Cấu hình
Để cấu hình định tuyến, trên mỗi router, vào chế độ config.
Thực hành 4 Cấu hình định tuyến RIP
vyatta@R1# set protocols rip network 10.0.40.0/24
vyatta@R1# set protocols rip redistribute connected
} }
vyatta@R2# set protocols rip network 10.0.40.0/24
vyatta@R2# set protocols rip network 10.0.50.0/24
vyatta@R2# set protocols rip redistribute connected
vyatta@R2# commit
vyatta@R3# set protocols rip network 10.0.50.0/24
vyatta@R3# set protocols rip redistribute connected
Trang 20vyatta@R3# commit
1.1.1.3 Kiểm tra
Dùng lệnh show protocols để xem lại các cấu hình vừa thực hiện.
Thực hành 5 Dùng lệnh show ip route để xem bảng định tuyến
vyatta@R3:~$ show ip route
Codes: K ‐ kernel route, C ‐ connected, S ‐ static, R ‐ RIP, O ‐ OSPF,
I ‐ ISIS, B ‐ BGP, > ‐ selected route, * ‐ FIB route
R>* 10.0.20.0/24 [120/3] via 10.0.50.2, eth5, 00:20:16
R>* 10.0.30.0/24 [120/3] via 10.0.50.2, eth5, 00:34:04
R>* 10.0.40.0/24 [120/2] via 10.0.50.2, eth5, 02:15:26
C>* 10.0.50.0/24 is directly connected, eth5
C>* 10.0.60.0/24 is directly connected, eth6
C>* 127.0.0.0/8 is directly connected, lo
vyatta@R3:~$
Thực hành 6 Dùng lệnh show ip rip để xem chi tiết về giao thức rip
vyatta@R3:~$ show ip rip
Codes: R ‐ RIP, C ‐ connected, S ‐ Static, O ‐ OSPF, B ‐ BGP
Trang 21PING 10.0.20.1 (10.0.20.1) 56(84) bytes of data.
64 bytes from 10.0.20.1: icmp_seq=1 ttl=63 time=7.39 ms
64 bytes from 10.0.20.1: icmp_seq=2 ttl=63 time=1.56 ms
64 bytes from 10.0.20.1: icmp_seq=3 ttl=63 time=1.49 ms
Triển khai mô hình mạng sau đây, mô hình này giống với bài trước (giao thức RIP).
Hình 11 – Mô hình triển khai OSPF
1.1.1.5 Cấu hình
Để cấu hình giao thức OSPF bạn cần tạo ra card loopback làm router-id, trong thực tế bạn
có thể sử dụng một interface thật để làm router-id Tuy nhiên, bạn nên dùng interface loopback để dể dàng điều chỉnh và tùy biến giao thức.
Thực hành 7 Cấu hình giao thức OSPF
vyatta@R1# set protocols ospf parameters router‐id 10.0.0.1
vyatta@R1# set protocols ospf area 0.0.0.0 network 10.0.40.0/24
vyatta@R1# set protocols ospf redistribute connected
vyatta@R1# commit
vyatta@R1# show protocols
ospf {
area 0.0.0.0 {