Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 33

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.

com)
ĐẠI HỌC DUY TÂN
TRƯỜNG KHOA HỌC MÁY TÍNH
KHOA KỸ THUẬT MMT & TRUYỀN THÔNG
□□

ĐỒ ÁN CÁ NHÂN / NHÓM

Đề Tài: TÌM HIỂU VỀ VPN

Môn Học: HỆ ĐIỀU HÀNH LINUX-UNIX

GIẢNG VIÊN : ThS. HOÀNG PHI

CƯỜNG LỚP : CS 226Q

THỰC HIỆN ĐỀ TÀI:

STT MSSV HỌ TÊN SINH VIÊN ĐIỂM SỐ ĐIỂM CHỮ


2721123669
1 Lê Anh Biên Cương
7
2720214635
2 Lê Thị Ánh Ngọc
1
2720124541
3 Hồ Thị Thu Thảo
4
2721120192
4 Trần Anh Tuấn
6
2721120160
5 Nguyễn Long Vũ
8

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

Đà Nẵng,9/2023

MỤC LỤC
1
PHẦN 1:TỔNG QUAN VỀ LINUX VÀ DỊCH VỤ VPN 3
1.1. TỔNG QUAN VỀ LINUX: 3
1.1.1. Lịch sử ra đời Unix & Linux: 3
1.1.2. Các đặc trưng của Unix & Linux: 4
1.1.3. Các thành phần trong một bản Linux: 5
1.1.4. Nhân Linux: 5
1.1.5. Các ứng dụng trên Linux: 5
1.2. TỔNG QUAN VỀ DỊCH VỤ VPN: 6
1.2.1. Lịch sử hình thành và phát triển: 6
1.2.2. Khái niệm: 7
1.2.3. Phân loại: 8
1.2.3. Lợi ích: 9
PHẦN 2:CHI TIẾT VỀ DỊCH VỤ VPN 10
2.1. CẤU TRÚC: 10
2.1.1 Cấu trúc: 10
2.1.2 Chứng thực 12
2.1.3 Các loại VPN 12
2.1.4 Ưu điểm & Nhược điểm OpenVPN 13
2.2. CHỨC NĂNG: 14
2.2.1 Công dụng của OpenVPN 14
2.2.2 Nhiệm vụ/Vai trò của OpenVPN 14
2.2.3 Khi nào nên sử dụng giao thức OpenVPN? 15
2.3. HOẠT ĐỘNG: 15
2.3.1:Cách thức hoạt động: 15
2.3.2:Các giao thức và cách thức hoạt động: 18
PHẦN 3:CÀI ĐẶT VÀ TRIỂN KHAI (DEMO) 20
3.1 :LỜI DẪN: 20
1

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

3.2 :CÁC BƯỚC ĐỂ CÀI ĐẶT OPENVPN TRÊN LINUX: 21


TÀI LIỆU THAM KHẢO 24

PHẦN 1:TỔNG QUAN VỀ LINUX VÀ DỊCH VỤ VPN


1.1. TỔNG QUAN VỀ LINUX:

1.1.1. Lịch sử ra đời Unix & Linux:

Khái niệm

Hình 1.1:Linh vật của hệ điều hành Linux

Linux là một HĐH dạng UNIX (Unix-like Operating System) chạy trên máy PC
với bộ điều khiển trung tâm (CPU) Intel 80386 trở lên, hay các bộ vi xử lý trung tâm
tương thích AMD, Cyrix.

Linux ngày nay còn có thể chạy trên các máy Macintosh hoặc SUN Sparc.

Một đặc điểm nổi bật của Linux là một hệ điều hành miễn phí và mã nguồn mở.

Lịch sử ra đời

Giữa năm 1960, AT&T Bell Laboratories và một số trung tâm khác tham gia tạo
ra một HĐH mới được đặt tên là Multics (Multiplexed Information and Computing
Service)Đến năm 1969, chương trình Multics bị bãi bỏ vì đó là một dự án quá nhiều
tham vọng.Ken Thompson, Dennis Ritchie và một số đồng nghiệp của Bell Labs đã
2

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

không bỏ cuộc. Thay vì xây dựng một HĐH làm nhiều việc một lúc, họ phát triển một
HĐH đơn giản -chỉ làm tốt một việc là chạy chương trình. Peter Neumann đặt tên cho
HĐH đơn giản này là Unix.

Năm 1973, sử dụng ngôn ngữ C của Ritchie, Thompson đã viết lại toàn bộ hệ
điều hành Unix và đây là một thay đổi quan trọng của Unix.Nhờ đó Unix từ chỗ là hệ
điều hành cho một máy PDP-xx trở thành hệ điều hành có thể chạy trên nhiều loại máy
tính khác nhau .Khoảng 1977 bản quyền của UNIX được giải phóng và hệ điều hành
UNIX trở thành một thương phẩm.

Năm 1991, Linus Torvalds , sinh viên của đại học tổng hợp Helsinki, Phần Lan,
bắt đầu xem xét Minix với mục đích nghiên cứu cách tạo ra một HĐH Unix chạy trên
máy PC với bộ vi xử lý Intel 80386 Ngày 25/8/1991, Linus cho ra version 0.01 và
thông báo trên comp.os.minix của Internet về dự án của mình .Ngày 1/1992, Linus cho
ra version 0.12 với shell và C compiler. Linus đặt tên HĐH của mình là Linux.

Năm 1994, phiên bản chính thức 1.0 được phát hành

Linux được viết lại toàn bộ từ con số không, tức là không sử dụng một dòng lệnh
nào của Unix, để tránh vấn đề bản quyền của Unix. Tuy nhiên hoạt động của Linux
hoàn toàn dựa trên nguyên tắc của hệ điều hành Unix. Vì vậy nếu một người nắm
được Linux, thì sẽ nắm được UNIX. Quá trình phát triển của Linux được tăng tốc bởi
sự hỗ trợ của chương trình GNU (GNU’s Not Unix).

Linux có một linh vật chính thức –Linux penguin, gọi là Tux.

1.1.2. Các đặc trưng của Unix & Linux:

Linux là miễn phí (free) và Mã nguồn mở (Open Source):Bao gồm cả kernel,


drivers, các công cụ phát triển,…

Tính ổn định: Linux có tính ổn định cao, ít bị lỗi khi sử dụng so với các HĐH
khác. Linux có thể chạy nhiều năm, không cần reboot.

Tính bảo mật: Linux cung cấp các mức bảo mật khác nhau cho người sử dụng.
Mỗi người dùng chỉ làm việc trên một không gian dành riêng.

Multi-Tasking, Multi-Threading: Là khả năng mà HĐH gán cho từng tiến trình
hoặc chiếm quyền sử dụng CPU trong một khoảng thời gian nhất định.
3

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

Multi-User: Là khả năng cho phép nhiều người dùng đồng thời truy cập vào
cùng một máy.

Multi-flatform: Chạy trên nhiều nền tảng phần cứng khác nhau.

Multi-Standard Compliant: Tương thích với hầu hết các hệ POSIX, System V,
và BSD.

Hỗ trợ nhiều hệ thống tập tin: Minix-1, MS-DOS, VFAT, FAT32, ISO 9660
(CD-ROMS), … Hệ thống tập tin chính của Linux là ext2, ext3, & ext4.

Multiple Networking Protocols: Các giao thức nền tảng được hỗ trợ bởi Kernel
như TCP, IPv4, IPv6, X.25, IPX, Appletalk, Netrom, …

1.1.3. Các thành phần trong một bản Linux:

● Hệ lõi (kernel-nhân): Xác lập nhiều chương trình cấp thấp và tương tác trực
tiếp với CPU, điều khiển thiết bị phần cứng và điều khiển việc thực hiện
chương trình.

● Cấu trúc hệ thống tập tin: Là hệ thống lưu trữ các thông tin trên thiết bị lưu
trữ.

● Hệ vỏ (shell): Là cách người dùng tương tác gián tiếp với phần cứng thông
qua kernel. Hệ vỏ ngầm định là bash. Các hệ vỏ khác như tcsh , ksh, zsh...

● Các tiện ích: Có chức năng chính là thực hiện các công việc dịch vụ của hệ
điều hành.
1.1.4.Nhân Linux:

Phần nhân (kernel) của Linux có thể hiểu đơn giản là một tập hợp các chương
trình thường trú trong bộ nhớ.

Kernel là phần chính của hệ điều hành, phụ trách hầu hết các chức năng chính
của hệ điều hành như quản lý bộ nhớ, thực thi nhiệm vụ và truy nhập phần cứng...

1.1.5. Các ứng dụng trên Linux:

Các ứng dụng cho văn phòng: OpenOffice, KOffice, StarOffice,…


4

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

Các ứng dụng mạng và Internet:

● WebServer, FTP Server, Mail Server, …

● WebBrowser, Instant Messenger: Firefox, GIMP,…

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

1.2. TỔNG QUAN VỀ DỊCH VỤ VPN:

1.2.1. Lịch sử hình thành và phát triển:

Sự xuất hiện mạng chuyên dụng ảo, còn gọi là mạng riêng ảo (VPN), bắt nguồn
từ yêu cầu của khách hàng (client), mong muốn có thể kết nối một cách có hiệu quả
với các tổng đài thuê bao (PBX) liên với nhau thông qua mạng diện rộng (WAN).

Trước kia, hệ thống điện thoại nhóm hoặc mạng cục bộ (LAN) trước kia sử dụng
các đường thuê riêng cho việc tổ chức mạng chuyên dùng để thực hiện việc thông tin
với nhau. Các mốc đánh dấu sự phát triển của VPN:

- Năm 1975, France Telecom đưa ra dịch vụ Colisee, cung cấp dịch vụ dây
chuyên dùng cho các khách hàng lớn. Colisee có thể cung cấp phương thức gọi số
chuyên dùng cho khách hàng. Dịch vụ này căn cứ vào lượng dịch vụ mà đưa ra cước
phí và nhiều tính năng quản lý khác.

- Năm 1985, Sprint đưa ra VPN, AT&T đưa ra dịch vụ VPN có tên riêng là mạng
được định nghĩa bằng phần mềm SDN.

- Năm 1986, Sprint đưa ra Vnet, Telefonica Tây Ban Nha đưa ra Ibercom.

- Năm 1988, nổ ra đại chiến cước phí dịch vụ VPN ở Mỹ, làm cho một số khách
hàng lớn chịu nổi cước phí sử dụng VPN và có thể tiết kiệm gần 30% chi phí, đã kích
thích sự phát triển nhanh chóng dịch vụ này tại Mỹ.

- Năm 1989, AT&T đưa ra dịch vụ quốc tế I VPN là GSDN.

- Năm 1990, MCI và Sprint đưa ra dịch vụ VPN quốc tế VPN; Telstra của Ô-
xtrây-li-a đưa ra dịch vụ VPN rộng nước đầu tiên ở khu vực châu Á - Thái Bình
Dương.

- Năm 1992, Viễn thông Hà Lan và Telia Thuỵ Điển thành lập công ty hợp tác
đầu tư Unisource, cung cấp dịch vụ VPN.

- Năm 1993, AT&T, KDD và viễn thông Singapore tuyên bố thành lập Liên
minh toàn cầu World Partners, cung cấp hàng loạt dịch vụ quốc tế, trong đó có dịch vụ
VPN.

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

- Năm 1994, BT và MCI thành lập công ty hợp tác đầu tư Concert, cung cấp dịch
vụ VPN, dịch vụ chuyển tiếp khung (Frame relay)...

- Năm 1995, ITU-T đưa ra khuyến nghị F16 về dịch vụ VPN toàn cầu (GPS).

- Năm 1996, Sprint và viễn thông Đức (Deutsch Telecom), Viễn thông Pháp
(French Telecom) kết thành liên minh Global One.

- Năm 1997 có thể coi là một năm quan trọng đối với công nghệ VPN, công nghệ
này có mặt trên khắp các tạp chí khoa học công nghệ, các cuộc hội thảo... Các mạng
VPN xây dựng trên cơ sở hạ tầng mạng Internet công cộng đã mang lại một khả năng
mới, một cái nhìn mới cho VPN. Công nghệ VPN là giải pháp thông tin tối ưu cho các
công ty, tổ chức có nhiều văn phòng, chi nhánh ở xa. Ngày nay, với sự phát triển của
công nghệ, cơ sở hạ tầng mạng IP (Internet) ngày một hoàn thiện đã làm cho khả năng
của VPN ngày một hoàn thiện. Hiện nay, VPN không chỉ dùng cho dịch vụ thoại mà
còn dùng cho các dịch vụ dữ liệu, hình ảnh và các dịch vụ đa phương tiện.

1.2.2. Khái niệm:

Hình 1.2:Tổng quan về VPN

VPN (Virtual Private Network - Mạng riêng ảo) là công nghệ cung cấp cho
người dùng khả năng truy cập vào một mạng riêng (LAN) của các máy tính cá nhân và
7

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

máy chủ trong mạng riêng đó từ một điểm bên ngoài của mạng đó, và không làm ảnh
hưởng đến an ninh bảo mật của mạng đó.

Trong thực tế, VPN là 1 mạng dành riêng để kết nối các máy tính với nhau thông
qua (thường là) đường truyền Internet, là 1 dịch vụ mạng ảo được triển khai trên Cơ sở
hạ tầng của hệ thống mạng công cộng (Internet). VPN được dùng để kết nối các văn
phòng, chi nhánh, người dùng làm việc ở xa trụ sở chính. Máy tính thông qua mạng
riêng ảo (VPN) sẽ nhìn thấy nhau như 1 mạng LAN.

VPN có thể được sử dụng để gửi bất kì loại dữ liệu nào như voice, video, data.

VPN sử dụng kỹ thuật Tunneling Protocols - Đây là kỹ thuật đóng gói một gói tin
dữ liệu bên trong một gói tin khác để tạo ra một kênh truyền an toàn. Để cung cấp kết
nối giữa các máy tính, các gói thông tin được bao bọc bằng một header có chứa những
thông tin định tuyến, cho phép dữ liệu có thể gửi từ máy truyền qua môi trường mạng
chia sẻ và đến được máy nhận, như truyền trên các đường ống riêng được gọi là
tunnel. Để bảo đảm tính riêng tư và bảo mật trên môi trường chia sẻ này, các gói tin
được mã hóa và chỉ có thể giải mã với những khóa thích hợp, ngăn ngừa trường hợp
"trộm" gói tin trên đường truyền.

1.2.3. Phân loại:

VPN là khái niệm chung cho việc thiết lập kênh truyền ảo, nhưng còn tùy thuộc
vào mô hình mạng và nhu cầu sử dụng mà chọn loại thiết kế cho phù hợp. Công nghệ
VPN có thể được phân thành 2 loại cơ bản: Site-to-Site VPN và Remote Access VPN.

Site-to-Site VPN: là mô hình dùng để kết nối các hệ thống mạng ở các nơi khác
nhau tạo thành một hệ thống mạng thống nhất. Ở loại kết nối này thì việc chứng thực
ban đầu phụ thuộc vào thiết bị đầu cuối ở các Site, các thiết bị này hoạt động như
Gateway và đây là nơi đặt nhiều chính sách bảo mật nhằm truyền dữ liệu một cách an
toàn giữa các Site.

Site-to-Site VPN hay còn gọi là LAN-to-LAN VPN sử dụng kết nối dạng tunnel
mode giữa các Gateway. Gateway có thể là các Router hay Firewall router hỗ trợ
VPN.

Remote Access VPN: Loại này thường áp dụng cho nhân viên làm việc lưu động
hay làm việc ở nhà muốn kết nối vào mạng công ty một cách an toàn. Cũng có thể áp
dụng cho văn phòng nhỏ ở xa kết nối vào Văn phòng trung tâm của công ty. Remote
Access VPN còn được xem như là dạng User-to-LAN, cho phép người dùng ở xa dùng
phần mềm VPN Client kết nối với VPN Server.
8

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

VPN là giải pháp thiết kế mạng khá hay, VPN hoạt động nhờ vào sự kết hợp với
các giao thức đóng gói: PPTP, L2TP, IPSec, GRE, MPLS, SSL, TLS.

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

1.2.3. Lợi ích:

- Chi phí thấp: chi phí thiết lập mạng VPN thấp hơn so với các mạng WAN
truyền thống như Frame Relay, ATM, Leased Line.

- Tăng cường tính bảo mật cho hệ thống: sử dụng các giao thức đóng gói, các
thuật toán mã hóa và các phương pháp chứng thực để bảo mật dữ liệu trong quá trình
truyền.

- Tính mở rộng và linh động: VPN đã xóa bỏ rào cản về mặt địa lý cho hệ thống
mạng, sẵn sàng kết nối các mạng riêng lại với nhau một cách dễ dàng thông qua môi
trường Internet.

10

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

PHẦN 2:CHI TIẾT VỀ DỊCH VỤ VPN


2.1. CẤU TRÚC:

2.1.1 Cấu trúc:

Một hệ thống VPN được xây dựng lên bởi 2 thành phần chính là (Tunneling)
đường hầm kết nối và (Secure services) các dịch vụ bảo mật cho kết nối đó.Tunneling
chính là thành phần “Virtual” và Sercure services là thành phần “Private” của một
mạng riêng ảo VPN(Virtual Private Network).

• Đường hầm kết nối (Tunneling)

Khác với việc thuê một đường truyền riêng các kết nối bằng việc sử dụng cách
tạo đường hầm không liên tục mà chỉ được xác lập khi có yêu cầu kết nối .Do vậy khi
không còn được sử dụng các kết nối này sẽ được hủy giải phóng băng thông tài
nguyên mạng cho các yêu cầu khác. Điều này cho thấy một ưu điểm rất lớn của VPN
so với việc thuê đường truyền riêng đó là sự linh hoạt.

Cấu trúc logic của mạng được thiết lập dành cho thiết bị mạng tưởng ứng của
mạng đỏ mà không cần quan tâm đến hạ tầng mạng hiện có là một đặc điểm "áo" khác
của VPN Các thiết bị phần cứng của mạng đều trở nền tảng hình với người dùng và
thiết bị của mạng VPN .Chính vì thế trong quá trình tạo ra đường hầm những kết nối
hình thành nên mạng riêng áo không có cùng tỉnh chất vật lý với những kết nối cố định
trong mạng Lan thông thường

Tạo đường hàm chính là hình thành 2 kết nối đặc biệt giữa hai điểm cuối trên
mạng. Các gói tin IP trước khi chuyển đi phải được đóng gói mã hoa gói tin gốc và
thêm IP header mới. Sau đó các gói tin sẽ được giải mã tách bỏ phần tiêu để tại
gateway của điểm đến trước khi được chuyển đến điểm đến đầu cuối

Đường hãm kết nối khiến việc định tuyến trở nên dễ dàng hơn hoàn toàn trong
suốt với người sử dụng.

Có hai loại đường hầm kết nối thường trực và tạm thời Tính hiệu quả và tối ưu
của một đường hầm kết nối thưởng trực là không cao. Do đó đường hầm tạm thời
thường được sử dụng hơn vì tính linh động và hữu dụng hơn cho VPN.

Có hai kiểu kết nối hình thành giữa hai đầu kết nối của mỗi đường hầm là Lan to
Lan và Client to Lan

(i) Lan to Lan

Kết nối lan to lan được hình thành giữa 2 văn phòng chi nhánh hoặc chỉ nhánh
với công ty. Các nhân viên tại những văn phòng và chi nhánh đều có thể sử dụng
đường hầm để trao đổi dữ liệu.
11

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

(ii) Client to lan

Kiểu kết nối client to lan dành cho các kết nối di động của các nhân viên ở xa đến
công ty hay chỉ nhánh .Để thực hiện được điều này các máy client phải chạy một phần
mềm đặc biệt cho phép kết nối với gateway của công ty hay chỉnh nhánh. Khi kết nối
này được thực hiện thì đã xác lập một đường hầm kết nối giữa công ty và nhân viên ở
xa.

• Dịch vụ bảo mật (secure services)

Nếu chỉ thực hiện tạo ra một đường hầm kết nối đến chi nhánh hay nhân viên ở
xa mà không hề có cơ chế bảo vệ cho các dữ liệu di chuyển trên nó thì cũng như việc
các ngân hàng chuyển tiền mà không có lực lượng bảo vệ, hoàn toàn có thể bị đánh
cắp, thay đổi trên quá trình vận chuyển một cách dễ dàng. Chính vì vậy các cơ chế bảo
mật cho VPN chình là xương sống của giải pháp này.

Một mạng VPN cần cung cấp 4 chức năng bảo mật cho dữ liệu:

o Xác thực(Authentication): Đảm bảo dữ liệu đến từ một nguồn quy định.

o Điều khiển truy cập (Access control) : hạn chế quyền từ những người
dùng bất hợp pháp.

o Tin cậy (Confidentiality): Ngăn chặn việc theo dõi hay sao chép dữ liệu
trong quá trình vận chuyển trên mạng.

o Tính toàn vẹn (Data integrity): đảm bảo dữ liệu không bị thay đổi, được
bảo toàn từ đầu gửi đến đầu nhận.

Các dịch vụ bảo mật trên được cung cấp tại lớp 2 (Data nk) và lớp 3 (Network)
trong mô hình 7 lớp OSI.Các dịch vụ bảo mật đều được triển khai tại các lớp thấp của
mô hình OSI làm giảm sự tác động đến người dùng. Việc bảo mật có thể thực hiện tại
các đầu cuối (end to end) hoặc giữa các nút (node to node).

Bảo mật tại các điểm đầu cuối là hình thức bảo mật có được độ tin cậy cao ,ví dụ
như tại 2 máy tính đầu cuối .Tuy vậy nhưng hình thức bảo mật đầu cuối hay client to
client lại có nhược điểm làm tang sự phức tạp cho người dùng khó khăn cho việc quản
lý.

12

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

2.1.2 Chứng thực

Có 2 loại chứng thực: chứng thực thiết bị và chứng thực người dùng

• Chứng thực thiết bị:

Cho phép hạn chế các truy cập vào hệ thống mạng dựa vào các thông tin cung cấp bởi
các thiết bị VPN đầu xa.

Có 2 dạng chứng thực kiểu này: Pre-shared key, Digital signature hoặc certificate.

o Pre-shared key được sử dụng trong các môi trường VPN nhỏ. Một hay nhiều
khóa được cấu hình và dùng để chứng thực để nhận dạng một thiết bị.
o Digital signature (digital certificate) được sử dụng để chứng thực thiết bị
trong các môi trường triển khai VPN lớn.

• Chứng thực người dùng:

Chứng thực người dùng trong hệ thống VPN là gì, tức là chỉ cho phép người dùng hợp
lệ kết nối và truy cập vào hệ thống. Người dùng phải cung cấp username và password.

2.1.3 Các loại VPN

Có 2 loại VPN thông dụng:


● Site-to-site VPN

13

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

● Remote Access VPN

Một số giao thức được sử đụng trong VPN: PPTP, L2TP, IPsec, …

2.1.4 Ưu điểm & Nhược điểm OpenVPN

Ưu điểm Nhược điểm

Khả năng bảo mật tốt. OpenVPN Tốc độ chậm khá chậm trong
giúp các thông tin dữ liệu được truyền dẫn quá trình truyền tải
một cách an toàn. Mọi dữ liệu cũng được
truyền tải đầy đủ

Khả năng mã hóa rất tốt. Trước mọi OpenVPN được thiết lập thủ
mục tiêu tấn công thì dữ liệu sẽ được vô công, khá phức tạp. Người sử dụng
hiệu hóa phải am hiểu chuyên môn về
OpenVPN là gì

Tương thích với mọi hệ điều hành. OpenVPN có thể yêu cầu ứng
Giúp các đơn vị sử dụng giao thức sử dụng dụng của bên thứ 3, khá cồng kềnh
an tâm hơn và lãng phí tài nguyên

14

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

2.2. CHỨC NĂNG:

2.2.1 Công dụng của OpenVPN

1. Bảo mật dữ liệu: OpenVPN sử dụng mã hóa mạnh mẽ để bảo vệ dữ liệu truyền
qua mạng, ngăn chặn người khác theo dõi hoạt động trực tuyến của bạn.
2. Truy cập từ xa an toàn: OpenVPN cho phép bạn kết nối mạng riêng ảo từ xa,
giúp bạn truy cập tài nguyên mạng trong một môi trường an toàn, như văn
phòng từ xa hoặc qua Internet.
3. Bypass kiểm duyệt và hạn chế địa lý: Bằng cách kết nối vào máy chủ VPN
đặt ở các quốc gia khác nhau, bạn có thể tránh kiểm duyệt Internet và các hạn
chế địa lý, cho phép truy cập nội dung trên toàn thế giới.
4. Mạng riêng ảo cho doanh nghiệp: OpenVPN thường được sử dụng bởi các tổ
chức và doanh nghiệp để tạo ra mạng riêng ảo bảo mật cho nhân viên, giúp họ
truy cập tài nguyên nội bộ từ xa một cách an toàn.
5. Tích hợp với ứng dụng và dịch vụ khác: OpenVPN có thể tích hợp dễ dàng
với nhiều ứng dụng và dịch vụ khác nhau như firewalls, quản lý danh sách truy
cập, và nhiều giải pháp bảo mật khác.
6. Tùy chỉnh linh hoạt: OpenVPN cho phép bạn tùy chỉnh cấu hình mạng VPN
của mình theo cách phù hợp với nhu cầu cụ thể của bạn.
7. Hỗ trợ đa nền tảng: OpenVPN có sẵn cho nhiều hệ điều hành khác nhau, bao
gồm Windows, Linux, macOS, Android và iOS.
8. Theo dõi và quản lý: OpenVPN cung cấp công cụ giám sát và quản lý để theo
dõi hoạt động mạng VPN và quản lý người dùng.
9. Chế độ cầu nối (Bridge Mode): OpenVPN cũng hỗ trợ chế độ cầu nối, cho
phép bạn kết nối hai mạng LAN với nhau qua mạng công cộng hoặc Internet.
2.2.2 Nhiệm vụ/Vai trò của OpenVPN

• Cho phép các bên xác thực lẫn nhau thông qua pre-shared key
• Cho phép xác nhận tên người dùng/mật khẩu đăng nhập,..
• Cho phép server phát hành chứng thư xác thực cho mỗi client trong cấu hình
Multi Client-server.
• Sử dụng thư viện mã hóa Openssl hoặc Tls

15

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

• Sở hữu nhiều tính năng kiểm soát và bảo mật thông qua hai giao thức là UDP
và TCP.
• Hỗ trợ kết nối nhanh hơn thông qua UDP/Giao thức dữ liệu người dùng đặt làm
mặc định.
• Hỗ trợ điều khiển truyền tín hiệu
• Hỗ trợ kiểm soát dữ liệu trong quá trình truyền tải, đảm bảo thông tin được
truyền đạt đầy đủ và chi tiết
2.2.3 Khi nào nên sử dụng giao thức OpenVPN?

Sự trao đổi thông tin qua internet cũng trở nên phổ biến hơn, rộng rãi hơn trong
thời đại công nghệ 4.0. Và lúc này, cần có OpenVPN hơn bao giờ hết để hạn chế việc
đánh cắp thông tin.

Ngoài ra, bạn muốn sở hữu giao thức bảo mật kết nối internet ổn định và có khả
năng mã hóa mạnh mẽ ít tốn kém thì nên chọn OpenVPN.

Người dùng từ xa truy cập an toàn đến mạng riêng của mình, hay thậm chí có
nhu cầu “ẩn danh” trong quá trình sử dụng mạng Internet thì giao thức này cũng sẽ
giúp được bạn.

Chỉ khi bạn cho phép thì những client được cấp tài khoản VPN mới được quyền
truy cập được vào hệ thống dữ liệu, đảm bảo an toàn hơn.

2.3. HOẠT ĐỘNG:

2.3.1 :Cách thức hoạt động:

Quy trình hoạt động của openVPN gồm các bước:


• Tunneling : tạo đường hầm.
• Encryption: Mã hóa dữ liệu truyền.
• Encapsulation: Đóng gói dữ liệu.
• Authentication: Xác thực người dùng
a) Tunneling : tạo đường hầm.

Công nghệ VPN dựa trên ý tưởng về tunneling. Quá trình tạo đường hầm của
VPN là thiết lập và duy trì một kết nối mạng logic.

Thiết lập đường hầm là quá trình xử lý của việc đưa toàn bộ một gói tin vào một
gói tin khác trước khi vận chuyển nó thông qua mạng Internet. Phần bên ngoài gói tin
(phần gói tin bọc gói tin chính cần chuyển) bảo vệ nội dung của nó khỏi mạng public
và đảm bảo gói tin được chuyển trong một đường hầm ảo.
16

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

Việc xây dựng các gói tin trong một định dạng giao thức VPN cụ thể là đóng gói
nó dựa trên giao thức chuyển vận trong tunnel, và chuyển giữa 2 đầu VPN, rồi cuối
cùng bóc lớp đóng gói ở bên nhận.

• Cho phép người gửi đóng gói dữ liệu trong gói tin IP và tránh khỏi sự định
tuyến và chuyển mạch trong Internet.

• Đảm bảo toàn vẹn dữ liệu trước những người dùng không mong muốn hoặc
hacker.

Có 2 kiểu tunnel:

• Voluntary: đường hầm kiểu tự nguyện: phía client quản lý việc thiết lập đường
truyền. Client đầu tiên tạo kết nối từ ứng dụng VPN client của nó. Client tự yêu
cầu để cấu hình và thiết lập đường hầm.

• Compulsory: Đường hầm kiểu bắt buộc: Người dùng không được quyền thiết
lập và tạo đường truyền. Việc thiết lập đã được thực hiện bởi nhà cung cấp
hoặc quản trị. Chi tiết về việc có VPN giữa 2 bên tunnel bị che giấu bởi người
dùng.

Một số giao thức sử dụng để thiết lập đường hầm:


17

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

• PPTP: Point-to-Point Tunneling Protocol: Là phương thức tạo VPN được sử


dụng rộng rãi với người dùng Window. So sánh với các phương pháp khác thì
PPTP nhanh hơn và cũng có sẵn trên Linux và Mac. Là kiểu đường hầm tự
nguyện.

• L2TP: Layer 2 Tunneling Protocol: Điểm khác biệt so với PPTP là không chỉ
cung cấp sự bảo mật mà còn cả sự toàn vẹn dữ liệu. Được phát triển bởi
Microsoft và Cisco như sự kết hợp giữa PPTP và L2F (Layer 2 Forwarding).

• IPSec: Internet Protocol Security: Có thể được sử dụng như một giải pháp VPN
hoàn chỉnh hoặc đơn giản là được sử dụng để mã hóa trong L2TP và PPTP.

b) Encryption: Mã hóa dữ liệu truyền.

Mã hóa là quá trình mã hóa dữ liệu để chỉ máy tính mà có khả năng giải mã đúng
mới có thể đọc và sử dụng nó.

VPN client ở mỗi cuối tunnel mã hóa dữ liệu gửi đi và giải mã dữ liệu nhận được
của nhau. Một số phương pháp mã hóa:

• Mã hóa đối xứng: DES, 3DES, AES

• Mã hóa phi đối xứng: RSA

c) Encapsulation : Đóng gói dữ liệu.

Là quá trình đóng gói các gói tin dữ liệu ban đầu vào trong một giao thức khác để
ẩn giấu dữ liệu thật sự bên trong.

VPN dựa trên một số công nghệ như GRE, IPSec, L2F, PPTP và L2TP để thực
hiện quá trình này, trong đó IPSec và PPTP là được sử dụng phổ biến hơn cả.

18

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

d) Authentication: Xác thực người dùng

Quá trình xác thực hiện quyết định xem người gửi có phải là người dùng được ủy
quyền có quyền truy cập hay không, và dữ liệu có bị chuyển hướng hay bị ngắt không.

2.3.2 :Các giao thức và cách thức hoạt động:

Các giao thức thường gặp trong VPN bao gồm 3 giao thức:

● IP security (IPsec), secure Sockets Layer (SSL)

● Transport Layer Security (TLS)

● Giao thức Point-To-Point Tunneling Protocol (PPTP).

19

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

PHẦN 3:CÀI ĐẶT VÀ TRIỂN KHAI (DEMO)


3.1 :LỜI DẪN:

OpenVPN là một công nghệ mạng ảo riêng (VPN) mã nguồn mở, cung cấp một
số lợi ích và ứng dụng đa dạng. Dưới đây là một số ứng dụng phổ biến của OpenVPN:
• Bảo mật Kết nối Internet: OpenVPN tạo ra một kênh kết nối an toàn và mã hóa
giữa máy tính cá nhân hoặc thiết bị di động và máy chủ OpenVPN. Điều này
giúp bảo vệ dữ liệu khỏi sự kiểm soát và theo dõi từ bên ngoài, đặc biệt là khi
sử dụng mạng không an toàn như Wi-Fi công cộng.
• Truy cập Mạng Nội Bộ An Toàn: Doanh nghiệp có thể triển khai OpenVPN để
cho phép nhân viên từ xa kết nối an toàn vào mạng nội bộ của họ. Điều này
giúp tạo điều kiện cho làm việc từ xa mà vẫn giữ được mức độ bảo mật cao.
• Bỏ qua Các Ràng Buộc Địa Lý: Người dùng có thể sử dụng OpenVPN để "đổi
địa chỉ IP" và truy cập nội dung mà có thể bị giới hạn địa lý. Điều này hữu ích
khi muốn xem nội dung trực tuyến từ quốc gia khác.
• Bảo vệ Dữ Liệu Cá Nhân: Các cá nhân có thể sử dụng OpenVPN để bảo vệ
thông tin cá nhân của họ trước những mối đe dọa trực tuyến. Kết nối qua VPN
giúp ẩn địa chỉ IP và mã hóa dữ liệu truyền qua mạng.
• An Toàn khi Sử Dụng Wi-Fi Công Cộng: Trong khi sử dụng Wi-Fi công cộng,
OpenVPN giúp bảo vệ khỏi các mối đe dọa bảo mật bằng cách tạo một kênh kết
nối an toàn giữa thiết bị của bạn và máy chủ OpenVPN.
• Thực Hiện Kết nối Site-to-Site: Doanh nghiệp có thể sử dụng OpenVPN để tạo
kết nối an toàn giữa các vị trí vật lý khác nhau, tạo ra một mạng VPN Site-to-
Site.
• Tạo VPN Client-Side: Cá nhân có thể tự triển khai OpenVPN để tạo một máy
chủ VPN cá nhân của họ, cho phép họ kết nối một cách an toàn từ bất kỳ đâu.
• Quản lý Dịch vụ: OpenVPN cung cấp các công cụ và giao diện quản lý để giúp
doanh nghiệp quản lý và giám sát kết nối VPN của họ một cách hiệu quả.
Các ứng dụng của OpenVPN là rất đa dạng, phục vụ cả cá nhân và tổ chức với nhu cầu
bảo mật và truy cập mạng linh hoạt.

20

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

3.2 :CÁC BƯỚC ĐỂ CÀI ĐẶT OPENVPN TRÊN LINUX:

Bước 1: Các bạn setup 1 VPS Centos7 trắng, cài các dịch vụ cần thiết ( nano , wget )
và update:

yum update -y
yum install nano wget -y

Bước 2: Tải script về từ github

wget https://raw.githubusercontent.com/Angristan/openvpn-
install/master/openvpn-install.sh -O centos7-vpn.sh

Bước 3: Cấp permission cho file cài đặt

chmod +x centos7-vpn.sh

21

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

Bước 4: Chạy script để cài đặt OpenVPN

./centos7-vpn.sh

Xong sẽ hiện

Welcome to the OpenVPN installer!

The git repository is available at:


https://github.com/angristan/openvpn-install

I need to ask you a few questions before starting the setup.

You can leave the default options and just press enter if you
are ok with them.

I need to know the IPv4 address of the network interface you


want OpenVPN listening to.

Unless your server is behind NAT, it should be your public


IPv4 address.

IP address: 103.137.184.81

Checking for IPv6 connectivity...

Your host does not appear to have IPv6 connectivity.

Do you want to enable IPv6 support (NAT)? [y/n]: n

What port do you want OpenVPN to listen to?

1) Default: 1194

2) Custom

3) Random [49152-65535]

Port choice [1-3]: 1

22
Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)
Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

What protocol do you want OpenVPN to use?

UDP is faster. Unless it is not available, you shouldn't use


TCP.

1) UDP

2) TCP

Protocol [1-2]: 1

What DNS resolvers do you want to use with the VPN?

1) Current system resolvers (from /etc/resolv.conf)

2) Self-hosted DNS Resolver (Unbound)

3) Cloudflare (Anycast: worldwide)

4) Quad9 (Anycast: worldwide)

5) Quad9 uncensored (Anycast: worldwide)

6) FDN (France)

7) DNS.WATCH (Germany)

8) OpenDNS (Anycast: worldwide)

9) Google (Anycast: worldwide)

10) Yandex Basic (Russia)

11) AdGuard DNS (Anycast: worldwide)

12) NextDNS (Anycast: worldwide)

13) Custom

DNS [1-12]: 9

23
Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)
Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

Do you want to use compression? It is not recommended since


the VORACLE attack make use of it.

Enable compression? [y/n]: n

Do you want to customize encryption settings?

Unless you know what you're doing, you should stick with the
default parameters provided by the script.

Note that whatever you choose, all the choices presented in


the script are safe. (Unlike OpenVPN's defaults)

See https://github.com/angristan/openvpn-install#security-and-
encryption to learn more.

Customize encryption settings? [y/n]: n

24

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

25

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

Script tự động cài đặt OpenVPN xong và hỏi tạo user đầu tiên

Tell me a name for the client.

The name must consist of alphanumeric character. It may also


include an underscore or a dash.

Client name: sonht

Do you want to protect the configuration file with a password?

(e.g. encrypt the private key with a password)

1) Add a passwordless client


26

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

2) Use a password for the client

Select an option [1-2]: 1

Bước 5: Tải file .opvn về máy client


 Tiến hành kết nối tới VPS Linux qua giao thức sftp. Các bạn cần nhập các thông tin
sau:

• Host: Các bạn nhập sftp://ip_vps


• Username: Các bạn nhập root
• Password: Mật khẩu của tài khoản root
• Port: Port của SSH

27

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

 Sau khi kết nối thành công, các bạn tiến hành tải file xuống máy của các bạn

Bước 6: Import file opvn vào và connect .


• Bước 6.1: Download OpenVPN GUI.
• Bước 6.2: Cài đặt và Import file.
• Bước 6.3: Cài đặt xong sẽ thấy biểu tượng của ứng dụng ở góc phải
màn hình , các bạn click chuột phải vào biểu tượng chọn import (2) >>
select file tenfile.opvn.

28

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

Bước 7: Connect tới VPN.

29

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

** Tạo User mới: Chạy script 1 lần nữa và đặt tên cho user mới

./centos7-vpn.sh

30

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)


Đồ án Nhóm môn Hệ Điều Hành Unix / Linux – Mã môn: CS 226

TÀI LIỆU THAM KHẢO

Tài liệu :

[1] Hồ Văn Hương, Hoàng Chiến Thắng-Cục QLKTNVMM, Ban Cơ yếu Chính
phủ, Ký số và xác thực trên nền tảng web, Tạp trí An toàn thông tin
[2] Tuxtips.net - Tuxtips.net: The Greate source for Linux Tutorials, Tips and
Tricks., Accessed 11 October 2023.
[3] Linux Professional Institute _LPI_ Certification Level 1.pdf

Website:

[4] https://fptcloud.com/vpn-la-gi/

[5] https://quantrimang.com/cong-nghe/ly-thuyet-vpn-la-gi-117232
[6] Hướng dẫn cài OpenVPN trên VPS Centos 7 bằng Script - Hướng dẫn sử dụng
VPS, Hosting, tên miền, website (hostingviet.vn)
[7] How to create IPsec tunnel in pfsense - Tuxtips.net

31

Downloaded by Hoà Tr?n (onechamelee1232002@gmail.com)

You might also like