1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu openvpn trên centos 6 5

39 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Openvpn Trên Centos 6.5
Tác giả Văn Thành Sơn
Người hướng dẫn ThS. Hồ Thị Huyền Thương
Trường học Trường Đại Học Vinh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Đồ Án Tốt Nghiệp
Năm xuất bản 2014
Thành phố Nghệ An
Định dạng
Số trang 39
Dung lượng 1,64 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG I: TỔNG QUAN (7)
    • 1.1. Định nghĩa, chức năng, và ƣu điểm của VPN (0)
      • 1.1.1. Khái niệm cơ bản về VPN (7)
      • 1.1.2. Chức năng của VPN (7)
      • 1.1.3. Lợi ích và hạn chế của VPN (8)
    • 1.2. Tìm hiểu về Linux và Centos (8)
      • 1.2.1. Linux (8)
      • 1.2.2. Centos (9)
    • 1.3. Các kiểu VPN (10)
      • 1.3.1. Các VPN truy cập (Remote Access VPNs) (10)
      • 1.3.2. Các VPN nội bộ (Intranet VPNs) (12)
      • 1.3.3. Các VPN mở rộng (Extranet VPNs) (13)
    • 1.4. Kết luận (15)
  • CHƯƠNG II: GIAO THỨC TRONG VPN (16)
    • 2.1. Giao thức đường hầm điểm nối điểm (Point-to-Point Tunneling Protocol) (16)
    • 2.2. Giao thức chuyển tiếp lớp hai (L2F- Layer 2 Forwarding Protocol) (19)
    • 2.3. Giao thức đường hầm lớp 2 (L2TP- Layer 2 Tunneling Protocol) (21)
    • 2.4. Kết luận (25)
  • CHƯƠNG III: GIẢI PHÁP MÃ NGUỒN MỞ OPENVPN TRÊN LINUX (26)
    • 3.1. Lịch sử phát triển của OpenVPN (26)
    • 3.2. OpenVPN là gì? (26)
    • 3.3. Ƣu điểm của OpenVPN (0)
    • 3.4. Cài đặt OpenVPN trong CentOS 6.5 (27)
    • 3.5. Giám sát và xử lý sự cố (37)
      • 3.5.1. Trên máy server (37)
      • 3.5.2. Trên máy client (37)
  • KẾT LUẬN (38)
  • TÀI LIỆU THAM KHẢO (39)

Nội dung

TỔNG QUAN

Tìm hiểu về Linux và Centos

Linux là một hệ điều hành máy tính nổi bật, đồng thời cũng là tên gọi của hạt nhân hệ điều hành này Đây là một trong những ví dụ điển hình nhất về phần mềm tự do và phát triển mã nguồn mở.

Phiên bản Linux đầu tiên được Linus Torvalds phát triển vào năm 1991 khi ông còn là sinh viên tại Đại học Helsinki, Phần Lan Sau ba năm làm việc chăm chỉ, phiên bản Linux 1.0 ra mắt vào năm 1994, được phát hành dưới giấy phép GNU General Public License, cho phép mọi người tải về và xem mã nguồn của Linux.

Thuật ngữ "Linux" thường được sử dụng để chỉ Nhân Linux, nhưng thực tế nó đại diện cho một hệ điều hành giống Unix, hay còn gọi là GNU/Linux, được hình thành từ việc kết hợp nhân Linux với các thư viện và công cụ GNU, cùng với các bản phân phối Linux Hệ điều hành này bao gồm một loạt phần mềm phong phú như máy chủ web, ngôn ngữ lập trình, hệ quản trị cơ sở dữ liệu, môi trường desktop như GNOME và KDE, cũng như các ứng dụng văn phòng như OpenOffice và LibreOffice.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 8

Linux, ban đầu phát triển cho vi xử lý 386, hiện nay đã hỗ trợ nhiều kiến trúc vi xử lý khác nhau Hệ điều hành này được ứng dụng rộng rãi, từ máy tính cá nhân đến siêu máy tính và các thiết bị nhúng như điện thoại di động.

Linux, ban đầu được phát triển bởi những người đam mê, hiện nay đã nhận được sự hỗ trợ từ các công ty lớn như IBM và Hewlett-Packard Hệ điều hành này không chỉ theo kịp các phiên bản Unix độc quyền mà còn thách thức sự thống trị của Microsoft Windows trong nhiều lĩnh vực Thành công nhanh chóng của Linux đến từ những ưu điểm nổi bật như chi phí phần cứng thấp, tốc độ cao, khả năng bảo mật tốt và độ tin cậy cao so với Windows Ngoài ra, Linux còn có giá thành rẻ và không bị phụ thuộc vào nhà cung cấp Đặc biệt, mô hình phát triển phần mềm nguồn mở hiệu quả là một trong những yếu tố quan trọng giúp Linux phát triển mạnh mẽ.

CentOS là một hệ điều hành mã nguồn mở dựa trên kernel Linux, được phát triển từ Red Hat Enterprise Linux (RHEL) Mục tiêu của CentOS là cung cấp một nền tảng điện toán doanh nghiệp miễn phí, đồng thời duy trì khả năng tương thích nhị phân 100% với RHEL Tên gọi CentOS là viết tắt của Community ENTerprise Operating System.

Các nhà phát triển CentOS đã sử dụng mã nguồn từ Red Hat để phát triển một sản phẩm tương tự như Red Hat Enterprise Linux, nhưng đã thay đổi thương hiệu và logo do Red Hat không cho phép phân phối lại.

CentOS là một hệ điều hành miễn phí, với hỗ trợ kỹ thuật chủ yếu từ cộng đồng thông qua các mailing lists, diễn đàn và chat room Dự án không có liên kết với Red Hat, vì vậy không nhận được hỗ trợ tài chính hay hậu cần từ công ty này; thay vào đó, CentOS phụ thuộc vào sự đóng góp từ người dùng và các nhà tài trợ tổ chức.

Số phiên bản của CentOS bao gồm hai phần: phiên bản chính và phiên bản nhỏ, tương ứng với phiên bản chính và các cập nhật của Red Hat Enterprise Linux, nền tảng mà CentOS được xây dựng dựa trên.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 9

Các kiểu VPN

1.3.1 Các VPN truy cập (Remote Access VPNs)

VPN truy cập từ xa cho phép nhân viên tại các chi nhánh kết nối với tài nguyên mạng của tổ chức mọi lúc, thông qua các thiết bị di động và truyền thông Điều này đặc biệt hữu ích cho những người dùng thường xuyên di chuyển và các văn phòng nhỏ không có kết nối ổn định đến mạng Intranet.

VPN truy cập từ xa thường yêu cầu người dùng cài đặt một số phần mềm client trên máy tính của họ.

Hình 2.1 Mô hình mạng VPN truy cập Một số thành phần chính:

Remote Access Server (RAS): đƣợc đặt tại trung tâm có nhiệm vụ xác nhận và chứng nhận các yêu cầu gửi tới

Quay số kết nối đến trung tâm, điều này sẽ làm giảm chi phí cho một số yêu cầu ở khá xa so với trung tâm

Hỗ trợ cho những người có nhiệm vụ cấu hình, bảo trì và quản lý RAS và hỗ trợ truy cập từ xa bởi người dùng

Việc triển khai VPN truy cập từ xa cho phép người dùng từ xa hoặc các chi nhánh văn phòng dễ dàng kết nối với nhà cung cấp dịch vụ ISP hoặc điểm truy cập của ISP, từ đó truy cập tài nguyên qua Internet một cách thuận tiện.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 10

Hình 2.2: Cài đặt Remote Access VPN Thuận lợi chính của Remote Access VPNs:

- Sự cần thiết của RAS và việc kết hợp với modem đƣợc loại trừ

- Sự cần thiết hỗ trợ cho người dùng cá nhân được loại trừ bởi vì kết nối từ xa đã đƣợc tạo điều kiện thuận lợi bởi ISP

Việc quay số từ khoảng cách xa sẽ không còn được sử dụng, mà thay vào đó, các kết nối cục bộ sẽ được ưu tiên thay thế cho những kết nối xa.

- Giảm giá thành chi phí cho các kết nối với khoảng cách xa

Kết nối cục bộ mang lại tốc độ cao hơn so với kết nối trực tiếp đến những khoảng cách xa.

VPNs cải thiện khả năng truy cập vào trung tâm dữ liệu, cung cấp dịch vụ truy cập ổn định ngay cả khi có sự gia tăng nhanh chóng các kết nối đồng thời đến mạng.

VPNs cũng tồn tại một số bất lợi khác như:

- Remote Access VPNs cũng không bảo đảm đƣợc chất lƣợng phục vụ

- Khả năng mất dữ liệu là rất cao, thêm nữa là các phân đoạn của gói dữ liệu có thể đi ra ngoài và bị thất thoát

Internet Đường hầm Đường hầm Tường lửa

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 11

Do độ phức tạp của thuật toán mã hóa và sự gia tăng đáng kể của overhead giao thức, quá trình xác nhận trở nên khó khăn hơn Hơn nữa, việc nén dữ liệu cũng góp phần vào những thách thức này.

IP và PPP-based diễn ra vô cùng chậm chạp và tồi tệ

Việc truyền dữ liệu qua Internet có thể gây ra sự chậm trễ đáng kể khi xử lý các tệp lớn như gói dữ liệu truyền thông, phim ảnh và âm thanh.

1.3.2 Các VPN nội bộ (Intranet VPNs):

Intranet VPNs được sử dụng để kết nối các chi nhánh văn phòng với Corporate Intranet thông qua router campus Tuy nhiên, mô hình này tốn kém do cần hai router và chi phí triển khai, bảo trì, quản lý mạng Intranet Backbone cao, phụ thuộc vào lưu lượng và phạm vi địa lý Để giảm thiểu chi phí, các kết nối Internet giá rẻ có thể thay thế cho WAN backbone, giúp tiết kiệm đáng kể chi phí triển khai mạng Intranet.

Intranet VPNs là giải pháp bảo mật cho các kết nối giữa các địa điểm trong một công ty, cho phép truy cập an toàn vào nguồn dữ liệu trong toàn bộ mạng Các VPN nội bộ kết nối trụ sở chính, văn phòng và chi nhánh thông qua một hạ tầng chung với các kết nối được mã hóa liên tục Thông thường, loại VPN này được cấu hình dưới dạng VPN Site-to-Site.

Hình 2.3 Mô hình mạng VPN nội bộ

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 12

Những thuận lợi chính của Intranet setup dựa trên VPN:

- Hiệu quả chi phí hơn do giảm số lƣợng router đƣợc sử dụng theo mô hình WAN backbone

- Giảm thiểu đáng kể số lượng hỗ trợ yêu cầu người dùng cá nhân qua toàn cầu, các trạm ở một số remote site khác nhau

- Bởi vì Internet hoạt động nhƣ một kết nối trung gian, nó dễ dàng cung cấp những kết nối mới ngang hàng

Kết nối nhanh chóng và hiệu quả hơn nhờ vào việc kết nối trực tiếp với nhà cung cấp dịch vụ, giúp khắc phục vấn đề khoảng cách và giảm thiểu chi phí cho việc triển khai Intranet trong tổ chức.

Những bất lợi chính kết hợp với cách giải quyết:

Dữ liệu vẫn bị rò rỉ trong quá trình chia sẻ trên Internet, và các mối đe dọa như tấn công từ chối dịch vụ (denial-of-service) vẫn là một nguy cơ lớn đối với an toàn thông tin.

- Khả năng mất dữ liệu trong lúc di chuyển thông tin cũng vẫn rất cao

Trong những tình huống nhất định, đặc biệt khi làm việc với dữ liệu high-end như tệp multimedia, quá trình trao đổi dữ liệu qua Internet có thể diễn ra rất chậm chạp.

- Do là kết nối dựa trên Internet, nên tính hiệu quả không liên tục, thường xuyên, và QoS cũng không đƣợc đảm bảo

1.3.3 Các VPN mở rộng (Extranet VPNs):

Khác với Intranet và Remote Access, Extranet không hoàn toàn tách biệt khỏi thế giới bên ngoài Nó cho phép các đối tác kinh doanh như khách hàng, nhà cung cấp và các đối tác quan trọng khác truy cập vào những tài nguyên mạng cần thiết.

Mạng Extranet thường rất tốn kém do sự kết hợp của nhiều đoạn mạng riêng biệt trên Intranet, gây khó khăn trong việc triển khai và quản lý Việc duy trì và quản trị mạng trở nên phức tạp hơn, đồng thời khả năng mở rộng của Extranet cũng bị hạn chế, có thể làm rối loạn toàn bộ mạng Intranet và ảnh hưởng đến các kết nối bên ngoài Ngoài ra, việc kết nối một Intranet vào mạng Extranet có thể gặp phải nhiều vấn đề bất ngờ, khiến cho việc thiết kế và triển khai mạng Extranet trở thành một thách thức lớn cho các nhà thiết kế và quản trị mạng.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 13

Hình 2.4: Thiết lập Extranet truyền thống

Kết luận

Trong chương này, chúng ta đã khám phá các khái niệm và định nghĩa cơ bản về VPN, cùng với những chức năng chính và lợi ích mà nó mang lại Bên cạnh đó, chúng ta cũng đã giới thiệu về hệ điều hành Linux và CentOS.

Cũng nhƣ các yêu cầu cơ bản sau:

Người dùng có thể dễ dàng truy cập tài nguyên mạng mọi lúc thông qua điều khiển từ xa và điện thoại di động, giúp nâng cao khả năng giao tiếp giữa các nhân viên trong tổ chức.

 Nối kết thông tin liên lạc giữa các chi nhánh văn phòng từ xa

Khách hàng, nhà cung cấp và các đối tượng quan trọng của công ty có thể được điều khiển truy cập tài nguyên mạng khi cần thiết để thúc đẩy hợp tác kinh doanh hiệu quả.

Trong chương tiếp theo, chúng ta sẽ khám phá các giao thức chính được sử dụng trong VPN, đồng thời so sánh ưu và nhược điểm của từng giao thức Qua đó, người dùng có thể dựa vào các yêu cầu cụ thể để lựa chọn giải pháp xây dựng một mạng VPN phù hợp.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 15

GIAO THỨC TRONG VPN

Giao thức đường hầm điểm nối điểm (Point-to-Point Tunneling Protocol)

Giao thức PPTP, được phát triển bởi một công ty chuyên về thiết bị viễn thông, tách biệt các chức năng truy cập từ xa dựa trên hạ tầng Internet hiện có, tạo ra kết nối đường hầm giữa người dùng và mạng riêng ảo Người dùng có thể quay số tới nhà cung cấp dịch vụ Internet để thiết lập đường hầm riêng, cho phép truy cập vào mạng riêng ảo Xây dựng trên nền tảng PPP, PPTP cung cấp khả năng truy cập qua Internet đến các địa điểm đích, sử dụng giao thức đóng gói tin GRE để xử lý và tách gói PPP, mang lại sự linh hoạt trong việc tương tác với các giao thức khác.

Nguyên tắc hoạt động của PPTP

PPP là giao thức truy cập Internet và các mạng IP phổ biến, hoạt động tại lớp liên kết dữ liệu trong mô hình OSI Giao thức này bao gồm các phương thức đóng gói và tách gói IP, cho phép truyền dữ liệu qua kết nối điểm tới điểm giữa các thiết bị.

PPTP là giao thức dùng để đóng gói các khung dữ liệu của giao thức PPP vào các gói tin IP nhằm truyền tải qua mạng IP Giao thức này sử dụng kết nối TCP để khởi tạo, duy trì và kết thúc đường hầm, đồng thời sử dụng gói định tuyến GRE để đóng gói các khung PPP Bên cạnh đó, phần tải của khung PPP có thể được mã hóa và nén lại để tối ưu hóa băng thông.

PPTP sử dụng giao thức PPP để thiết lập và kết thúc kết nối vật lý, xác định người dùng, và tạo các gói dữ liệu PPP.

PPTP cho phép thiết lập một mạng IP giữa khách hàng và máy chủ, với khả năng kết nối trực tiếp qua mạng NAS Khi kết nối được thiết lập, người dùng sẽ được xác thực, một giai đoạn tùy chọn trong PPP nhưng luôn được cung cấp bởi ISP Quá trình xác thực trong PPTP dựa vào các cơ chế xác thực của PPP, trong đó có một số cơ chế phổ biến được sử dụng.

Giao thức xác thực CHAP (Challenge Handshake Authentication Protocol) là một phương pháp bảo mật mật khẩu tiên tiến, được thiết kế tương tự như giao thức PAP nhưng mang lại độ bảo mật cao hơn CHAP sử dụng phương pháp bắt tay ba chiều để xác thực, giúp ngăn chặn các cuộc tấn công quay lại thông qua việc áp dụng các giá trị bí mật độc nhất và khó đoán.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 16

Giao thức xác thực mật khẩu PAP (Password Authentication Protocol) được thiết kế đơn giản để cho phép một máy tính tự xác thực với một máy tính khác thông qua giao thức điểm – điểm (Point-to-Point Protocol) PAP hoạt động như một giao thức bắt tay hai chiều, tuy nhiên, nó không đảm bảo an toàn vì thông tin xác thực được truyền đi dưới dạng rõ ràng, không có biện pháp bảo mật nào chống lại các cuộc tấn công trở lại hoặc lặp lại từ những kẻ tấn công.

Khi thiết lập kết nối PPP, PPTP sử dụng quy luật đóng gói của PPP để đóng gói các gói truyền trong đường hầm PPTP định nghĩa hai loại gói: gói điều khiển và gói dữ liệu, và phân chia chúng vào hai kênh riêng biệt Kênh điều khiển và kênh dữ liệu được tách thành các luồng điều khiển sử dụng giao thức TCP và luồng dữ liệu sử dụng giao thức IP Kết nối TCP giữa máy khách và máy chủ được dùng để truyền thông báo điều khiển.

Các gói dữ liệu là thông tin thông thường của người dùng, trong khi các gói điều khiển được gửi theo chu kỳ để thu thập thông tin và trạng thái kết nối giữa các máy khách và máy chủ PPTP Ngoài ra, các gói điều khiển cũng có chức năng gửi thông tin quản lý thiết bị và cấu hình giữa hai đầu của đường hầm.

Kênh điều khiển là cần thiết để thiết lập đường hầm giữa máy khách và máy chủ PPTP Máy chủ PPTP sử dụng giao thức PPTP, kết nối với Internet qua một giao diện và với Intranet qua giao diện khác Phần mềm Client có thể được cài đặt trên máy tính của người dùng từ xa hoặc trên các máy chủ ISP.

Nguyên tắc kết nối điều khiến đường hầm theo giao thức PPTP

Kết nối điều khiển PPTP là sự kết nối giữa địa chỉ IP của máy khách và máy chủ PPTP, mang theo các gói tin điều khiển và quản lý cần thiết để duy trì đường hầm PPTP Những bản tin này bao gồm yêu cầu và phản hồi của PPTP, giúp phát hiện các lỗi kết nối giữa máy trạm và máy chủ Gói tin kết nối điều khiển PPTP bao gồm tiêu đề IP, tiêu đề TCP, bản tin điều khiển PPTP và tiêu đề, phần cuối của lớp liên kết dữ liệu.

Tiêu đề liên kết dữ liệu

Bản tin điều khiển PPTP

Phần cuối của liên kết dữ liệu

Hình 3.1: Gói dừ liệu kết nối điều khiển PPTP

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 17

Nguyên lý đóng gói dữ liệu đường hầm PPTP Đóng gói khung PPP và gói định tuyến chung GRE

Dữ liệu đường hầm PPTP được đóng gói thông qua các mức được mô tả theo mô hình

Tiêu đề liên kết dữ liệu

Tải PPP đƣợc mã hóa

Phần cuối liên kết dữ liệu

Hình 3.2:Mô hình đóng gói dừ liệu đường hầm PPTP

Phần tải của khung PPP ban đầu được mã hóa và đóng gói với tiêu đề PPP, tạo thành khung PPP Sau đó, khung PPP này được đóng gói với tiêu đề của phiên bản giao thức GRE sửa đổi.

GRE là giao thức đóng gói chung, cung cấp cơ chế đóng gói dữ liệu cho việc định tuyến qua mạng IP Đối với PPTP, tiêu đề của GRE có một số thay đổi, bao gồm việc thêm một trường xác nhận dài 32 bits Trường xác nhận này chỉ định sự có mặt của trường 32 bits, trong khi trường Key được thay thế bằng trường độ dài Payload 16 bits và trường chỉ số cuộc gọi 16 bits Trường chỉ số cuộc gọi được thiết lập bởi máy trạm PPTP trong quá trình khởi tạo đường hầm.

Trong quá trình truyền tải dữ liệu, phần tải PPP và tiêu đề GRE được đóng gói trong một tiêu đề IP chứa thông tin địa chỉ nguồn và đích cho máy trạm và máy chủ PPTP Để có thể truyền qua mạng LAN hoặc WAN, gói tin IP cuối cùng sẽ được đóng gói với tiêu đề và phần cuối của lớp liên kết dữ liệu tại giao diện vật lý đầu ra Cụ thể, nếu gói tin IP được gửi qua giao diện Ethernet trong mạng LAN, nó sẽ được gói với tiêu đề và đuôi Ethernet, trong khi nếu được gửi qua đường truyền WAN điểm tới điểm, nó sẽ được đóng gói với tiêu đề và đuôi của giao thức PPP.

Nguyên tắc thực hiện gói tin dữ liệu tại đầu cuối đường hầm PPTP

Khi nhận được được dữ liệu đường hầm PPTP, máy trạm và máy chủ PPTP, sẽ thực hiện các bước sau:

- Xử lý và loại bỏ gói phần tiêu đề và đuôi của lớp liên kết dữ liệu hay gói tin

- Xử lý và loại bỏ tiêu đề IP

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 18

- Xử lý và loại bỏ tiêu đề GRE và PPP

- Giải mã hoặc nén phần tải tin PPP

- Xử lý phần tải tin đế nhận hoặc chuyên tiếp

Một số ưu nhược điếm của PPTP

PPTP được thiết kế để hoạt động ở lớp 2 của mô hình OSI, cho phép truyền dữ liệu linh hoạt hơn so với IPSec, vốn hoạt động ở lớp 3 Nhờ vào khả năng hỗ trợ các giao thức khác ngoài IP, PPTP có thể truyền tải thông tin hiệu quả trong đường hầm, trong khi IPSec chỉ giới hạn ở việc truyền các gói tin IP.

Giao thức chuyển tiếp lớp hai (L2F- Layer 2 Forwarding Protocol)

Giao thức L2F là một trong những phương pháp truyền thống đầu tiên được phát triển để cung cấp truy cập từ xa vào mạng doanh nghiệp thông qua các thiết bị L2F cho phép thiết lập các dịch vụ quay số ảo bằng cách tạo ra một đường hầm bảo mật qua hạ tầng công cộng như Internet Giao thức này hỗ trợ việc đóng gói các gói tin PPP trong định dạng L2F và thực hiện định tuyến hầm ở lớp liên kết dữ liệu.

Nguyên tắc hoạt động của L2F

Giao thức chuyển tiếp L2F đóng gói những gói tin lớp 2, sau đó trong truyền chúng đi qua mạng Hệ thống sử dụng L2F gồm các thành phần sau:

- Máy trạm truy nhập mạng NAS: Hướng lưu lượng đến và đi giữa các máy khách ở xa và Home Gateway

- Đường hầm: Định hướng đường đi giữa NAS và Home Gateway Một đường hầm gồm một số kết nối

- Kết nối: Là một kết nối PPP trong đường hầm Trong LCP, một kết nối L2F đƣợc xem nhƣ một phiên

- Điềm đích: Là điềm kết thúc ở đâu xa của đường hầm Trong trường hợp này thì Home Gateway là đích

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 19

Quá trình hoạt động của giao thức đường hầm chuyền tiếp (L2F) khá phức tạp, bắt đầu khi người sử dụng từ xa quay số vào hệ thống NAS để thiết lập kết nối PPP với ISP Trong quá trình này, NAS và máy trạm trao đổi các gói giao thức điều khiển liên kết, trong khi NAS sử dụng cơ sở dữ liệu cục bộ liên quan đến tên miền để xác định xem người sử dụng có yêu cầu dịch vụ L2F hay không.

Khi người sử dụng yêu cầu L2F, NAS sẽ thu nhận địa chỉ của Gateway đích và thiết lập một đường hầm mới nếu chưa có đường hầm nào giữa chúng Quá trình này bao gồm giai đoạn xác thực từ ISP tới Gateway đích nhằm ngăn chặn tấn công từ bên thứ ba Một kết nối PPP mới được tạo ra trong đường hầm, kéo dài phiên PPP cho người sử dụng từ xa tới Home Gateway Home Gateway sẽ tiếp nhận các lựa chọn và thông tin xác thực PAP/CHAP theo thỏa thuận giữa người sử dụng và NAS, sau đó chấp nhận hoặc thỏa thuận lại LCP và xác thực người sử dụng Khi NAS nhận lưu lượng dữ liệu từ người sử dụng, nó sẽ đóng gói lưu lượng vào các khung L2F và chuyển hướng chúng vào đường hầm Tại Home Gateway, các khung này sẽ được tách bỏ và dữ liệu sẽ được chuyển tiếp tới mạng của doanh nghiệp hoặc người dùng.

Khi hệ thống thiết lập điểm đích đường hầm và các phiên kết nối, việc quản lý lưu lượng L2F trở nên cần thiết Điều này bao gồm việc ngăn chặn việc tạo ra các điểm đến, đường hầm và phiên mới, đồng thời có thể đóng hoặc mở lại tất cả hoặc chọn lựa các điểm đích, đường hầm và phiên cụ thể Hệ thống cũng cần kiểm tra cổng UDP, thiết lập thời gian và lưu giữ cơ sở dữ liệu vào các đường hầm kết nối.

Một số ưu nhược điểm của L2F

 Nâng cao bảo mật cho quá trình giao dịch

 Có nền tảng độc lập

 Cho phép thiết lập đường hầm đa giao thức

 Không cần những sự lắp đặt đặc biệt với ISP

 Hỗ trợ một phạm vi rộng rãi các công nghệ mạng nhƣ ATM, IPX, NetBEUI, và Frame Relay

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 20

 L2F yêu cầu cấu hình và hỗ trợ lớn

 Thực hiện L2F dựa trên ISP Nếu trên ISP không hỗ trợ L2F thì không thể triển khai L2F đƣợc.

Giao thức đường hầm lớp 2 (L2TP- Layer 2 Tunneling Protocol)

Giao thức định đường hầm lớp 2 (L2TP) là một mở rộng của PPP, được phát triển từ Cisco L2F và giao thức định đường hầm điểm-điểm của Microsoft Tiêu chuẩn L2TP được hoàn thiện vào cuối năm 1998 và hiện là công nghệ chính của Cisco Access VPN, cung cấp khả năng kiểm soát bảo mật toàn diện và quản lý chính sách hiệu quả, bao gồm việc kiểm soát bảo mật cho đầu cuối người dùng.

Các thành phần chính của L2TP:

Máy chủ Truy cập Mạng (NAS) L2TP là thiết bị cung cấp kết nối Internet cho người dùng từ xa thông qua các phương thức quay số như PSTN hoặc ISDN, sử dụng giao thức PPP NAS xác nhận thông tin người dùng từ nhà cung cấp dịch vụ Internet (ISP) và kiểm tra yêu cầu kết nối ảo Tương tự như NAS PPTP, L2TP NAS được đặt tại địa điểm của ISP và hoạt động như một khách hàng trong quá trình thiết lập đường hầm L2TP Thiết bị này có khả năng xử lý nhiều yêu cầu kết nối đồng thời và hỗ trợ đa dạng các loại khách hàng.

L2TP Access Concentrator (LAC) đóng vai trò quan trọng trong việc thiết lập đường hầm L2TP qua mạng công cộng như PSTN, ISDN hoặc Internet, kết nối đến LNS tại điểm cuối của mạng chủ LACs hoạt động như điểm kết thúc của môi trường vật lý giữa client và LNS, đảm bảo quá trình truyền tải dữ liệu diễn ra hiệu quả và an toàn.

Máy chủ mạng L2TP (LNS) được đặt tại cuối mạng chủ, có chức năng kết thúc kết nối L2TP tương tự như việc kết thúc đường hầm từ client của LACs Khi LNS nhận yêu cầu kết nối ảo từ một LAC, nó sẽ thiết lập đường hầm và xác nhận danh tính người dùng khởi tạo yêu cầu Nếu LNS chấp nhận yêu cầu, nó sẽ tạo ra một giao diện ảo.

Nguyên tắc hoạt động của L2TP:

Khi một người dùng từ xa cần thiết lập một L2TP tunnel thông qua Internet hoặc mạng chung khác, theo các bước tuần tự sau đây:

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 21

Người dùng từ xa gửi yêu cầu kết nối đến NAS của ISP gần nhất và khởi tạo kết nối PPP với nhà cung cấp dịch vụ Internet cuối.

Bước 2: NAS xác nhận yêu cầu kết nối sau khi kiểm tra danh tính người dùng cuối, sử dụng các phương pháp xác thực PPP như PAP, CHAP, SPAP và EAP.

Bước 3: Sau đó NAS kích hoạt LAC, nhằm thu nhập thông tin cùng với LNS của mạng đích

Bước 4: Tiếp theo, LAC thiết lập một đường hầm LAC-LNS thông qua mạng trung gian giữa hai đầu cuối, có thể sử dụng các công nghệ như ATM, Frame Relay, hoặc IP/UDP.

Bước 5: Sau khi đường hầm đã được thiết lập thành công, LAC chỉ định một Call

ID (CID) được sử dụng để kết nối và gửi thông điệp thông báo đến LNS, trong đó chứa thông tin xác thực người dùng Thông điệp này cũng bao gồm các tùy chọn LCP nhằm thiết lập thỏa thuận giữa người dùng và LAC.

Bước 6: LNS sử dụng thông tin từ thông điệp thông báo để xác nhận người dùng cuối Khi người dùng được xác nhận thành công và LNS chấp nhận yêu cầu đường hầm, một giao diện PPP ảo (L2TP tunnel) sẽ được thiết lập với sự hỗ trợ từ các tùy chọn LCP nhận được trong thông điệp thông báo.

Bước 7: Sau đó người dùng từ xa và LNS bắt đầu trao đổi dữ liệu thông qua đường hầm

Quá trình đóng gói dữ liệu trong đường hầm L2TP

Tương tự PPTP tunneled packets, L2TP đóng gói dữ liệu trải qua nhiều tầng đóng gói Sau đây là một số giai đoạn đóng gói của L2TP data tunneling:

PPP đóng gói dữ liệu khác với PPTP, vì dữ liệu không được mã hóa trước khi đóng gói Chỉ có header của PPP được thêm vào dữ liệu gốc.

L2TP đóng gói khung của PPP Sau khi original payload đƣợc đóng gói bên trong một PPP packet, một L2TP header đƣợc thêm vào nó

L2TP frames are encapsulated within UDP frames, meaning that a UDP header is added to the already packaged L2TP frame The source and destination ports in the UDP header are set to 1710 as specified.

IPSec Encapsulation of IJDP datagrams Sau khi L2TP frame trở thành IJDP đã đƣợc

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 22 Trong quá trình đóng gói, khung UDP được mã hóa và một phần đầu IPSec ESP được thêm vào Đồng thời, một phần đuôi IPSec AH cũng được chèn vào gói dữ liệu đã được mã hóa và đóng gói.

IP encapsulation involves adding an IP header to IPSec-encapsulated datagrams This final IP header includes the IP addresses of both the L2TP server (LNS) and the remote user.

Trailer Đóng gói Data Link

Mô hình hoàn tất quá trình đóng gói dữ liệu qua đường hầm L2TP liên quan đến việc đóng gói tầng Data Link, trong đó phần đầu và phần cuối của tầng Data Link được thêm vào gói dữ liệu IP Những phần này giúp gói dữ liệu đến được nút đích một cách hiệu quả Nếu nút đích nằm trong nội bộ, phần đầu và phần cuối sẽ dựa trên công nghệ LAN, chẳng hạn như mạng Ethernet Ngược lại, nếu gói dữ liệu được sử dụng như một phương tiện, quá trình này sẽ có những yêu cầu khác.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 23 vị trí từ xa, phần đầu và phần cuối PPP đƣợc thêm vào gói dữ liệu L2TP đã đóng gói

Quá trình xử lý gói dữ liệu khi ra khỏi đường hầm L2TP

Qui trình xử lý de-tunneling các gói dữ liệu L2TP bắt đầu khi một thành phần L2TP (LNS hoặc người dùng cuối) nhận được gói dữ liệu đã được tunnel Đầu tiên, gói dữ liệu sẽ được xử lý bằng cách gỡ bỏ header và trailer của lớp Data Link Sau đó, phần IP header cũng sẽ được loại bỏ Gói dữ liệu sẽ được xác nhận thông qua thông tin trong phần IPSec ESP header và AH trailer, trong khi IPSec ESP header cũng được sử dụng để giải mã và mã hóa thông tin Tiếp theo, UDP header sẽ được xử lý và loại bỏ Tunnel ID và Call ID trong phần L2TP header giúp nhận diện tunnel và phiên làm việc L2TP Cuối cùng, PPP header được xử lý và gỡ bỏ, và phần PPP payload sẽ được chuyển đến protocol driver thích hợp để tiếp tục xử lý.

Hình 3.4 Mô hình hoàn tất quá trình xử lý gói dừ liệu khi ra khỏi đường hầm

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 24

Kết luận

Giao thức đường hầm là yếu tố quan trọng trong việc đóng gói và vận chuyển gói tin qua mạng công cộng Hiện nay, ba giao thức đường hầm cơ bản được sử dụng phổ biến bao gồm giao thức tầng hầm chuyên tiếp lớp 2 (L2F), giao thức đường hầm điểm tới điểm (PPTP) và giao thức tầng hầm lớp 2 (Layer 2).

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 25

GIẢI PHÁP MÃ NGUỒN MỞ OPENVPN TRÊN LINUX

Lịch sử phát triển của OpenVPN

Năm 2003, James Yonan đã nhận thấy sự thiếu an toàn khi kết nối internet qua các ISP ở châu Á và Nga, dẫn đến việc ông nghiên cứu và xác định hai mục tiêu chính của hệ thống VPN là tính an toàn và khả dụng Mặc dù Ipsec có thể đảm bảo an toàn, nhưng cấu trúc phức tạp của nó lại dễ bị tấn công Do đó, ông đã chọn giải pháp sử dụng thiết bị card mạng ảo TUN/TAP trong hệ điều hành Linux, mang lại tính linh hoạt mà các giải pháp VPN khác không có OpenVPN, được phát triển với sự tôn trọng dành cho các thư viện của dự án Open SSI, đã trở thành phần mềm mã nguồn mở và miễn phí, sử dụng OpenSSL để xác thực, mã hóa và giải mã dữ liệu, tạo ra một mạng an toàn giữa hai bên.

OpenVPN là gì?

OpenVPN là một phần mềm mạng riêng ảo mã nguồn mở dành cho việc tạo các đường ống (tunnel) điểm-tới-điểm được mã hóa giữa các máy chủ

Phần mềm này do James Yonan viết và được phổ biến dưới giấy phép GNU GPL

OpenVPN cho phép xác thực lẫn nhau giữa các máy đồng đẳng thông qua khóa bí mật chia sẻ, chứng chỉ mã công khai hoặc tên người dùng/mật khẩu Phần mềm này tương thích với nhiều hệ điều hành như Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS và Windows 2000/XP OpenVPN cung cấp nhiều tính năng bảo mật và kiểm soát, nhưng không phải là một mạng riêng ảo web và không tương thích với IPsec hay các gói VPN khác Toàn bộ phần mềm bao gồm một file nhị phân cho cả kết nối client và server, một file cấu hình không bắt buộc, cùng với một hoặc nhiều file khóa tùy thuộc vào phương thức xác thực được sử dụng.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 26

- Bảo vệ người làm việc bên ngoài bằng bức tường lửa nội bộ

Kết nối OpenVPN có khả năng vượt qua hầu hết các tường lửa và proxy, cho phép truy cập các trang web HTTPS một cách hiệu quả Việc cấm thiết lập đường hầm OpenVPN là rất hiếm gặp, và OpenVPN còn hỗ trợ ủy quyền đầy đủ, bao gồm cả xác thực.

OpenVPN hỗ trợ cả giao thức UDP và TCP, cho phép cấu hình linh hoạt trên máy chủ và client Khi hoạt động như một máy chủ, OpenVPN chỉ cần chờ đợi yêu cầu kết nối từ khách hàng, và kết nối sẽ được thiết lập dựa trên cấu hình của khách hàng đó.

Chỉ cần một cổng trong tường lửa được mở, nhiều kết nối vào sẽ được phép thông qua Kể từ phiên bản OpenVPN 2.0, máy chủ đặc biệt này hỗ trợ nhiều kết nối trên cùng một cổng TCP hoặc UDP, đồng thời cho phép sử dụng các cấu hình khác nhau cho mỗi kết nối.

OpenVPN cho phép cả máy chủ và máy khách hoạt động trong cùng một mạng với địa chỉ IP riêng mà không gặp vấn đề về NAT Mỗi tường lửa có thể được cấu hình để chuyển tiếp lưu lượng đến điểm cuối của đường hầm một cách hiệu quả.

Giao diện ảo có khả năng tuân thủ các quy tắc về tường lửa, cho phép chia sẻ tất cả các quy tắc, cơ chế chuyển tiếp và NAT qua đường hầm OpenVPN Ngoài ra, giao thức này cũng có thể thiết lập các đường hầm VPN khác như IPSec bên trong đường hầm OpenVPN.

Hỗ trợ hoạt động liên tục cho IP động: Hai đầu của đường hầm cho phép sử dụng IP động với sự thay đổi tối thiểu Khi IP bị thay đổi, các phiên làm việc của Windows Terminal Server và Secure Shell (SSH) chỉ bị gián đoạn trong vài giây, sau đó sẽ tiếp tục hoạt động bình thường.

- Cài đặt đơn giản trên bất kỳ hệ thống nào: Đơn giản hơn nhiều so với IPsec

3.4 Cài đặt OpenVPN trong CentOS 6.5

OpenVPN cung cấp nhiều phiên bản cho hệ điều hành Linux trên trang chủ OpenVPN.net Trong bài viết này, tôi sẽ trình bày cách triển khai OpenVPN trên hệ điều hành CentOS 6.5.

Để cài đặt OpenVPN, việc đăng nhập với quyền root là cần thiết, giúp người dùng thao tác tối đa với hệ thống mà không gặp trở ngại.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 27

Mô hình Site- to Site:

Các bước để cài đặt OpenVPN trong CentOS:

Để cài đặt OpenSSL, bạn cần sử dụng lệnh "yum install gcc" OpenSSL là thư viện mã nguồn mở cung cấp các tệp cần thiết để biên dịch ứng dụng, hỗ trợ nhiều thuật toán mã hóa và giao thức khác nhau.

Hình 4.1: Cài đặt thành công gcc

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 28

- Cài đặt gói LZO: LZO là thƣ viện nén dữ liệu CentOS o Cấu trúc lệnh:

Cp /root/Desktop/lzo-1.08.tar.gz /etc

Cd /etc Tar –xzvf lzo-1.08.tar.gz cd lzo-1.08 /configure Make Make install

Hình 4.2: Giải nén gói Lzo-1.08

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 29

Hình 4.4: Biên dịch gói lzo-1.08

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 30

Hình 4.5: Cài đặt biên dịch

- Cài đặt gói OpenVPN o Cấu trúc lệnh:

Cp /root/Desktop/openvpn-2.0.9.tar.gz /etc

Cd /etc Tar xzvf openvpn-2.0.9.tar.gz

Cd openvpn-2.0.9 /configure –with-ssl-headers=/usr/local/ssl/include/ disable-crypto Make

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 31

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 32

Hình 4.9: Cài đặt biên dịch

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 33

- Mở IP forward cho server Đổi net.ipv4.ip_forward = 0 thành net.ipv4.ip_forward = 1 o Cấu trúc lệnh: vi /etc/sysctl.conf

Hình 4.10: Mở IP forward cho server

- Tao file config cho sever o Cấu trúc lệnh : vi /etc/openvpn-2.0.9/server.conf

Hình 4.11: File config trên máy server 1

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 34

Hình 4.12: File config trên máy server 2

- Tạo site – to- site kết nối giữa 2 máy o Cấu trúc lệnh: openvpn –config /etc/openvpn-2.0.9/server

Hình 4.13: Kết nối site-to-site thành công

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 35

- Kiểm tra kết nối trên các máy server và client

Trên các máy server xuất hiện thêm card tun0-00

Hình 4.14: Card tun trên máy server 1

Hình 4.14: Kết nối thành công trên máy client 1

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 36

Hình 4.15: Đường đi từ máy client 2 sang client 1

3.5 Giám sát và xử lý sự cố

Để tránh các trở ngại khi thao tác với server, việc đăng nhập với quyền cao nhất là giải pháp hiệu quả Điều này giúp người dùng thực hiện cài đặt và thiết lập cấu hình cho hệ thống một cách thuận lợi và không bị hạn chế.

- Không kết nối đƣợc với server o Giải pháp: Việc không kết nối đƣợc với server có thể do nhiều nguyên nhân , nhƣng để hiểu quả tối đa thì:

 Thiết lập IP tĩnh với các máy client

 Tắt tường lửa: Tường lửa hầu hết là nguyên nhân chủ yếu đãn đến việc không kết nối đƣợc với server.

Cài đặt OpenVPN trong CentOS 6.5

OpenVPN cung cấp nhiều phiên bản cho hệ điều hành Linux tại trang chủ OpenVPN.net Trong báo cáo này, tôi sẽ trình bày cách triển khai OpenVPN trên hệ điều hành CentOS 6.5.

Để cài đặt OpenVPN, việc đăng nhập với quyền root là cần thiết, giúp người dùng thao tác tối đa với hệ thống mà không gặp phải bất kỳ rào cản nào.

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 27

Mô hình Site- to Site:

Các bước để cài đặt OpenVPN trong CentOS:

Cài đặt OpenSSL là bước quan trọng để sử dụng các thư viện mã nguồn mở hỗ trợ biên dịch ứng dụng với nhiều thuật toán mã hóa và giao thức khác nhau Để thực hiện cài đặt, bạn có thể sử dụng lệnh: yum install gcc.

Hình 4.1: Cài đặt thành công gcc

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 28

- Cài đặt gói LZO: LZO là thƣ viện nén dữ liệu CentOS o Cấu trúc lệnh:

Cp /root/Desktop/lzo-1.08.tar.gz /etc

Cd /etc Tar –xzvf lzo-1.08.tar.gz cd lzo-1.08 /configure Make Make install

Hình 4.2: Giải nén gói Lzo-1.08

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 29

Hình 4.4: Biên dịch gói lzo-1.08

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 30

Hình 4.5: Cài đặt biên dịch

- Cài đặt gói OpenVPN o Cấu trúc lệnh:

Cp /root/Desktop/openvpn-2.0.9.tar.gz /etc

Cd /etc Tar xzvf openvpn-2.0.9.tar.gz

Cd openvpn-2.0.9 /configure –with-ssl-headers=/usr/local/ssl/include/ disable-crypto Make

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 31

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 32

Hình 4.9: Cài đặt biên dịch

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 33

- Mở IP forward cho server Đổi net.ipv4.ip_forward = 0 thành net.ipv4.ip_forward = 1 o Cấu trúc lệnh: vi /etc/sysctl.conf

Hình 4.10: Mở IP forward cho server

- Tao file config cho sever o Cấu trúc lệnh : vi /etc/openvpn-2.0.9/server.conf

Hình 4.11: File config trên máy server 1

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 34

Hình 4.12: File config trên máy server 2

- Tạo site – to- site kết nối giữa 2 máy o Cấu trúc lệnh: openvpn –config /etc/openvpn-2.0.9/server

Hình 4.13: Kết nối site-to-site thành công

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 35

- Kiểm tra kết nối trên các máy server và client

Trên các máy server xuất hiện thêm card tun0-00

Hình 4.14: Card tun trên máy server 1

Hình 4.14: Kết nối thành công trên máy client 1

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 36

Hình 4.15: Đường đi từ máy client 2 sang client 1

Giám sát và xử lý sự cố

Để khắc phục các trở ngại khi thao tác với server, việc đăng nhập với quyền cao nhất là giải pháp hiệu quả Điều này giúp người dùng thực hiện các thao tác cài đặt và thiết lập cấu hình cho hệ thống một cách dễ dàng và không bị hạn chế.

- Không kết nối đƣợc với server o Giải pháp: Việc không kết nối đƣợc với server có thể do nhiều nguyên nhân , nhƣng để hiểu quả tối đa thì:

 Thiết lập IP tĩnh với các máy client

 Tắt tường lửa: Tường lửa hầu hết là nguyên nhân chủ yếu đãn đến việc không kết nối đƣợc với server

SVTH: Văn Thành Sơn – Lớp 51K1-CNTT- MSSV: 1051073779 37

Ngày đăng: 25/08/2021, 15:40

TỪ KHÓA LIÊN QUAN

w