TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT
KHOA CÔNG NGHỆ THÔNG TIN
Trần Anh Khoa
NGHIÊN CỨU VÀ TRIỂN KHAI MẠNG RIÊNG ẢO
VPN TRÊN RASPBERRY PI
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: CNKT Điện Tử Truyền Thông
HÀ NỘI - 2018
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT
KHOA CÔNG NGHỆ THÔNG TIN
Trần Anh Khoa
NGHIÊN CỨU VÀ TRIỂN KHAI MẠNG RIÊNG ẢO
VPN TRÊN RASPBERRY PI
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: CNKT Điện Tử Truyền Thông
Cán bộ hướng dẫn: ThS. Lê Thị Hồng Vân
HÀ NỘI - 2018
TĨM TẮT
Tóm tắt: Sự bùng nổ của cơng nghệ thơng tin, cách mạng công nghiệp 4.0, các thiết bị,
các dự án IoT phát triển mạnh kèm theo đó là những vấn đề về an tồn thơng tin qua Internet,
các cá nhân, tổ chức cần có những phương án bảo vệ dữ liệu cho riêng mình. Một trong những
giải pháp tối ưu được ưa chuộng là VPN mà trong đó OpenVPN là một giải pháp khá thông
dụng hiện tại. Nội dung của đồ án sẽ tập trung vào việc tìm hiểu về OpenVPN và triển khai nó
trên một máy tính nhỏ, tiết kiệm điện năng là Raspberry Pi qua đó có thể thiết lập một mạng
riêng ảo, bảo vệ thông tin cho chính chúng ta trong thời buổi kết nối mạng có ở mọi nơi.
Từ khóa: Raspberry Pi, OpenVPN
LỜI CAM ĐOAN
Em xin cam đoan đây là đồ án do riêng em thực hiện dưới sự hướng dẫn của giảng
viên hướng dẫn. Các tài liệu trong đồ án là trung thực, có nguồn trích dẫn rõ ràng, minh
bạch, có tính kế thừa và phát triển từ các tài liệu tham khảo và chương trình.
Em xin hồn tồn chịu trách nhiệm về lời cam đoan danh dự của em!
Hà Nội, ngày 26 tháng 6 năm 2018
Tác giả đồ án
Trần Anh Khoa
LỜI CẢM ƠN
Lời đầu tiên em xin gửi lời tri ân và biết ơn sâu sắc đến ThS. Lê Thị Hồng Vân,
người hướng dẫn đồ án tốt nghiệp đã tận tình chỉ bảo, động viên, khích lệ em trong suốt
q trình nghiên cứu và thực hiện đề tài.
Em xin cảm ơn các thầy cô khoa Công Nghệ Thông Tin, trường Đại học Công
Nghệ Giao Thông Vận Tải, đặc biệt các thầy cô trong bộ môn Điện tử viễn thông đã
nhiệt tình giảng dạy và tạo mọi điều kiện giúp đỡ em trong suốt quá trình quá trình học
tập và nghiên cứu.
Cuối cùng em xin trân thành cám ơn những người thân trong gia đình em cùng
tồn thể bạn bè ln giúp đỡ động viên em những lúc gặp phải khó khăn trong quá trình
làm đồ án.
Em xin chân thành cảm ơn !
MỤC LỤC
MỞ ĐẦU ..................................................................................................................... 1
CHƯƠNG 1: TỔNG QUAN VỀ RASPBERRY PI VÀ CÔNG NGHỆ VPN ......... 2
1.1. TỔNG QUAN VỀ RASPBERRY PI ................................................................. 2
1.1.1. Giới thiệu về Raspberry Pi........................................................................... 2
1.1.2. Cấu trúc và thành phần của Raspberry Pi 3 model B .................................... 2
1.1.3. Cài đặt ban đầu cho Raspberry Pi ................................................................ 5
1.1.4. Ứng dụng của Raspberry Pi ....................................................................... 11
1.2. TỔNG QUAN VỀ CÔNG NGHỆ VPN. .......................................................... 12
1.2.1. Giới thiệu về công nghệ VPN. ................................................................... 12
1.2.2. Ưu nhược điểm của VPN........................................................................... 14
1.2.3. Các thành phần cần thiết để tạo kết nối VPN ............................................. 15
1.2.4. Một số các giao thức VPN ......................................................................... 16
1.2.5. Kết nối....................................................................................................... 19
1.2.6. VPN và an toàn bảo mật ............................................................................ 23
CHƯƠNG 2: GIẢI PHÁP XÂY DỰNG VPN TRÊN RASPBERRY PI SỬ DỤNG
OPENVPN................................................................................................................ 26
2.1. MỘT SỐ GIẢI PHÁP VPN TRÊN RASPBERRY PI ...................................... 26
2.1.1. PPTP VPN ................................................................................................ 26
2.1.2. PiVPN ....................................................................................................... 27
2.1.3. OpenVPN .................................................................................................. 28
2.2. GIẢI PHÁP XÂY DỰNG VPN SỬ DỤNG OPENVPN. ................................. 28
2.2.1. Giới thiệu về OpenVPN............................................................................. 28
2.2.2. Bảo mật trong OpenVPN ........................................................................... 31
2.2.3. Giải pháp OpenVPN .................................................................................. 38
2.2.4. So sánh OpenVPN với một số giải pháp VPN khác ................................... 44
CHƯƠNG 3: THỰC NGHIỆM .............................................................................. 46
3.1. MƠ HÌNH TRIỂN KHAI VÀ KỊCH BẢN ...................................................... 46
3.1.1. Mơ hình triển khai ..................................................................................... 46
3.1.2. Kịch bản .................................................................................................... 46
3.2. CÁC BƯỚC THỰC HIỆN .............................................................................. 47
3.3. KIỂM TRA KẾT QUẢ .................................................................................... 64
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................................. 67
TÀI LIỆU THAM KHẢO.......................................................................................... 68
DANH MỤC HÌNH ẢNH
Chương 1.
Hình 1. 1. Máy tính Raspberry Pi 3 Model B ............................................................... 2
Hình 1. 2. Cấu trúc Raspberry Pi 3 Model B ................................................................ 4
Hình 1. 3. Hệ điều hành Raspbian ................................................................................ 5
Hình 1. 4. Image Raspbian Stretch ............................................................................... 6
Hình 1. 5. Phần mềm SD Card Formatter ..................................................................... 6
Hình 1. 6. Phần mềm Win32 Disk Imager .................................................................... 7
Hình 1. 7. Kết nối Raspberry Pi với nguồn và Modem ................................................. 7
Hình 1. 8. Giao diện đồ họa Raspbian .......................................................................... 9
Hình 1. 9. Địa chỉ IP của Raspberry Pi ....................................................................... 10
Hình 1. 10. Kết nối SSH qua phần mềm Putty ........................................................... 10
Hình 1. 11. Kết nối chia sẻ file với Raspberry Pi bằng phần mềm WinSCP ............... 11
Hình 1. 12. VPN ........................................................................................................ 13
Hình 1. 13. Giao thức L2F ......................................................................................... 16
Hình 1. 14. Giao thức L2TP ....................................................................................... 16
Hình 1. 15. Giao thức PPTP ....................................................................................... 17
Hình 1. 16. Giao thức GRE ........................................................................................ 18
Hình 1. 17. Giao thức IPSec ....................................................................................... 18
Hình 1. 18. Remote Access VPN ............................................................................... 20
Hình 1. 19. Site-to-Site VPN...................................................................................... 22
Hình 1. 20. Thiết lập kết nối Client to Server ............................................................. 23
Chương 2.
Hình 2. 1. Giao diện cài đặt PiVPN............................................................................ 27
Hình 2. 2. Cấu trúc mơ hình SSL ............................................................................... 32
Hình 2. 3. Hoạt động của SSL Record Protocol ......................................................... 33
Hình 2. 4. Giao thức bắt tay giai đoạn 1 ..................................................................... 34
Hình 2. 5. Giao thức bắt tay giai đoạn 2 ..................................................................... 35
Hình 2. 6. Giao thức bắt tay giai đoạn 3 ..................................................................... 35
Hình 2. 7. Giao thức bắt tay giai đoạn 4 ..................................................................... 36
Chương 3.
Hình 3. 1. Mơ hình triển khai ..................................................................................... 46
Hình 3. 2. Cài đặt OpenVPN và cập nhật OpenSSL ................................................... 47
Hình 3. 3. Copy easy-rsa và sửa đổi file vars ............................................................. 48
Hình 3. 4. Sửa đổi export EASY_RSA....................................................................... 48
Hình 3. 5. Cấp quyền, tạo các thiết lập ban đầu cần thiết để tạo chứng chỉ ................. 49
Hình 3. 6. Tạo chứng chỉ cho các Client .................................................................... 50
Hình 3. 7. Thay đổi mã hóa sang AES256.................................................................. 50
Hình 3. 8. Tạo Diffie Hellman dùng cho việc trao đổi khóa ....................................... 51
Hình 3. 9. Tạo ta.key tăng cường bảo mật .................................................................. 51
Hình 3. 10. File cấu hình cho Server OpenVPN ......................................................... 52
Hình 3. 11. File cấu hình cho Client ........................................................................... 53
Hình 3. 12. File Script cho phép Client truy cập Internet ............................................ 53
Hình 3. 13. Đặt IP của Raspberry Pi vào vùng "DMZ" .............................................. 54
Hình 3. 14. Cấu hình Port Forwarding ....................................................................... 55
Hình 3. 15. Đăng ký Hostname tại No-IP ................................................................... 55
Hình 3. 16. Cài đặt DUC trên Raspbian ..................................................................... 56
Hình 3. 17. Cài đặt dịch vụ IP DUC ........................................................................... 57
Hình 3. 18. Kiểm tra hoạt động của No-IP ................................................................. 57
Hình 3. 19. Cấp các quyền cần thiết cho Script "khoavpn" ......................................... 58
Hình 3. 20. Đóng zip các file cần thiết cho Client ...................................................... 58
Hình 3. 21. Truy cập Raspberry Pi bằng WinSCP ...................................................... 59
Hình 3. 22. Các file cấu hình cần thiết cho Client ...................................................... 59
Hình 3. 23. Đặt ca.crt, *.key, *.cert, ta.key vào file cấu hình Client ........................... 60
Hình 3. 24. Giao diện truy cập OwnCloud ................................................................. 63
Hình 3. 25. Kiểm tra kết nối 4G Viettel ..................................................................... 64
Hình 3. 26. Sử dụng Viscosity để kết nối với Server OpenVPN ................................. 64
Hình 3. 27. Kiểm tra kết nơi với Server OpenVPN .................................................... 65
Hình 3. 28. Kiểm tra gói tin bằng WireShark ............................................................. 66
DANH MỤC BẢNG BIỂU
Chương 1.
Bảng 1.1. Các câu lệnh cơ bản dùng cho Raspbian .................................................... 8
Bảng 1.2. So sánh VPN Client-to-Site và VPN Site-to-Site........................................ 24
Chương 2.
Bảng 2.1. Lịch sử phát triển OpenVPN phiên bản 1 ................................................... 29
Bảng 2.2. Lịch sử phát triển OpenVPN phiên bản 2 ................................................... 30
Bảng 2.3. Ba block IP cho Private Subnet ..................................................................38
Bảng 2.4. Key Files ...................................................................................................40
Bảng 2.5. So sánh OpenVPN với một số giải pháp VPN khác ...................................44
DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT
Từ viết tắt
Tiếng Anh
Tiếng Việt
ADSL
Asymmetric Digital Subscriber Line Đường dây thuê bao số bất đối
xứng
AES
Advanced Encryption Standard
Tiêu chuẩn mã hóa tiên tiến
ARM
Advanced RISC Machine
Cấu trúc vi xử lý kiểu RISC
CBC
Cipher Block Chaning
Mã hóa chuỗi khối
CPU
Centre Processor Unit
Bộ xử lý trung tâm
DMZ
Demilitarized Zone
Vùng mạng trung lập giữa mạng
nội bộ và mạng Internet
DNS
Domain Name System
Hệ thống phân giải tên miền
GPIO
General Purpose Input Output
Cổng đầu vào và đầu ra với mục
đích cơ bản
GPU
Graphic Processing Unit
Bộ xử lý đồ họa
GRE
Generic Routing Encapsulation
Giao thức đóng gói định tuyến
chung
HDMI
High-Definition Multimedia
Interface
Giao diện đa phương tiện độ
phân giải cao
HMAC
Hashing Message Authentication
Codes
Hàm băm xác thực
IoT
Internet of Thing
Mạng lưới các thiết bị kết nối
Internet
IP
Internet Protocol
Giao thức Internet
IPSEC
Internet Protocol Security
Giao thức bảo mật Internet
ISP
Internet Service Provider
Nhà cung cấp dịch vụ Internet
LAN
Local Area Network
Mạng nội bộ
L2F
Layer 2 Forwarding
Giao thức lớp 2
L2TP
Layer 2 Tunneling Protocol
Giao thức đường hầm lớp 2
LPDDR
Low Power Dance Dance
Revolution
DRAM dành cho thiết bị di động
MPLS
Multi Protocol Label Switching
Chuyển mạch nhãn đa giao thức
NAT
Network Address Translation
Biên dịch địa chỉ mạng
NAS
Network-Attached Storage
Lưu trữ mạng
PPP
Point-to-Point Protocol
Giao thức điểm-điểm
PPTP
Point-to-Point Tunneling Protocol
Giao thức đường hầm điểmđiểm
SD
Secure Digital
Định dạng thẻ lưu trữ trên các
thiết bị di động
SHA
Secure Hash Algorithm
Thuật giải băm an toàn
SSH
Secure Shell
Giao thức thiết lập kết nối mạng
bảo mật
SSL
Secure Socket Layer
Chuẩn an ninh cơng nghệ tồn
cầu
TCP
Transmission Control Protocol
Giao thức điều khiển truyền vận
TLS
Transport Layer Security
Bảo mật tầng truyền tải
USB
Universal Serial Bus
Chuẩn kết nối tuần tự
VPN
Virtual Private Network
Mạng riêng ảo
Lưu ý: Một số từ đã được giải thích trong đồ án.
MỞ ĐẦU
Với sự phát triển của công nghệ thông tin, mạng máy tính và đặc biệt là mạng
Internet phát triển ngày càng đa dạng và phong phú. Các dịch vụ trên mạng Internet đã
xâm nhập vào hầu hết các lĩnh vực trong đời sống xã hội. Các thông tin trao đổi trên
Internet cũng đa dạng cả về nội dung và hình thức, trong đó có rất nhiều thơng tin cần
bảo mật cao bởi tính kinh tế, tính chính xác và độ tin cậy của nó.
Miễn phí, đó là những điểm truy cập mạng không dây ở mọi nơi, nhưng bạn
không nên kiểm tra tài khoản cá nhân, tài khoản ngân hàng ở những nơi như vậy nếu
bạn khơng muốn có người nhịm ngó, đánh cắp dữ liệu. Vậy giải pháp là gì? Đó là
mạng riêng ảo, hay cịn gọi là VPN.
Một VPN sẽ mở rộng mạng riêng của bạn đến nơi cơng cộng, vậy nên dù bạn có
dùng một điểm truy cập Wi-fi công cộng, dữ liệu gửi và nhận của bạn vẫn được mã
hóa và bảo đảm an tồn.
Có rất nhiều cách để thiết lập một VPN, bao gồm cả trả phí và miễn phí, mỗi giải
pháp đều có ưu nhược điểm riêng, được quyết định bởi cách nhà cung cấp dịch vụ VPN
hoạt động, chi phí và các tùy chọn VPN được nhà cung cấp dịch vụ cung cấp.
Cách dễ dàng và tiết kiệm chi phí nhất để giữ cho dữ liệu của bạn an toàn là hạn
chế truy cập những điểm Wi-fi cơng cộng. Tuy nhiên đó khơng cịn là vấn đề khi bạn
có thể tự tạo một Server VPN tại nhà và chạy nó trên một thiết bị nhỏ, tiết kiệm năng
lượng là Raspberry Pi.
Nội dung đề tài gồm 3 chương tập trung vào tìm hiểu máy tính Raspberry Pi, tìm
hiểu về cơng nghệ VPN nói chung cũng như OpenVPN nói riêng. Qua đó nêu lên được
tính cần thiết của VPN cũng như việc triển khai VPN trên Raspberry Pi là một giải pháp
tiết kiệm, an tồn, bảo mật thơng tin cho chính mỗi cá nhân.
1
CHƯƠNG 1: TỔNG QUAN VỀ RASPBERRY PI VÀ CÔNG NGHỆ VPN
1.1. TỔNG QUAN VỀ RASPBERRY PI
1.1.1. Giới thiệu về Raspberry Pi
Raspberry Pi được phát triển bởi Eben Upton ra mắt năm 2012 là một máy vi tính
nhỏ, giá rẻ (35$), kích thước chỉ bằng một thẻ tín dụng, tiết kiệm điện năng (nguồn cung
cấp chỉ 5V). Raspberry Pi sử dụng hệ điều hành Linux bởi đặc điểm đòi hỏi cấu hình
thấp, nguồn mở và có tính lập trình cao hơn so với Windows.
Hình 1. 1. Máy tính Raspberry Pi 3 Model B
Raspberry Pi là một bo mạch, muốn Raspberry Pi trở thành máy tính thực thụ, ta
phải kết nối Raspberry Pi với các thiết bị ngoại vi như màn hình, bàn phím và chuột
thơng qua các cổng kết nối trên bo mạch, cấp nguồn cho Raspberry Pi bằng microUSB
5V. Trong phần cấu trúc Raspberry Pi, sẽ trình bày chi tiết về các cổng kết nối của
Raspberry Pi.
Raspberry Pi cho phép mọi người ở mọi lứa tuổi có thể tìm hiểu, khám phá máy vi
tính, học lập trình với các ngơn ngữ lập trình như Python, C,... Với Raspberry Pi và hệ
điều hành Raspbian ta có thể làm được gần như tất cả mọi thứ mà một máy vi tính thơng
thường có thể làm.
1.1.2. Cấu trúc và thành phần của Raspberry Pi 3 model B
Cho đến thời điểm hiện tại (05/2018), Raspberry Pi có 3 mẫu chính, đó là:
Raspberry Pi 2 model B (2/2/2015), Raspberry Pi 3 model B (29/2/2016) và mới nhất là
Raspberry Pi 3 model B+ (14/3/2018). Về cơ bản, phần lớn cấu trúc của 3 mẫu này giống
nhau. Với đề tài này ta sẽ tìm hiểu về Raspberry Pi 3 model B.
2
a) Phần cứng
CPU: Raspberry Pi 3 model B sử dụng vi xử lý BCM2837 (nhanh hơn 50% so với
Raspberry Pi 2) của Broadcom. Đây là loại SoC (System on Chip) tích hợp cùng
lúc:
CPU: 1.2 GHz quad-core ARM Corter A53 (cấu trúc ARMv8)
RAM: 1 GB LPDDR2-900 SDRAM
GPU: 400 MHz VideoCore IV
Khe cắm thẻ micro SD: Raspberry Pi không hỗ trợ ổ cứng mà thay vào đó là thẻ
micro SD. Tất cả dữ liệu sẽ được lưu trữ trên thẻ micro SD này. Cần dùng ít nhất
là thẻ 4GB cho Raspberry Pi (khuyên dùng thẻ 16GB class 10).
Cổng USB: Raspberry Pi 3 model B có 4 cổng USB 2.0. Đủ để cắm các ngoại vi
cần thiết như chuột, bàn phím và USB Wireless.
Cổng Ethernet: Cổng Ethernet chuẩn RJ45.
Cổng HDMI: Dùng để truyền tín hiệu Video và Audio số. Có tới 14 chuẩn video
được hỗ trợ và tín hiệu HDMI có thể dễ dàng chuyển đổi thành các chuẩn khác
như DVI, RCA, hoặc SCART.
Ngõ ra Audio-Video: Giắc cắm chuẩn 3.5mm, hỗ trợ cho người dùng khơng có
màn hình hỗ trợ HDMI. Âm thanh và hình ảnh lấy ra từ cổng này có chất lượng
kém hơn một chút so với từ cổng HDMI.
Cổng cấp nguồn Micro USB: Một trong những điều đầu tiên có thể nhận thấy là
Raspberry Pi khơng có nút nguồn. Micro USB được chọn làm cổng cấp nguồn.
Nguồn cấp cho Raspberry Pi là 5v điện áp (bắt buộc) và dòng nên lớn hớn 1A. Cấp
nguồn quá 5v sẽ rất dễ làm cháy board mạch.
Cổng CSI (Camera Serial Interface): Cổng này dùng để kết nối với module
Camera riêng của Raspberry Pi. Module này thu được hình ảnh chất lượng lên đến
1080p.
Network: 10/100 MBPS Ethernet, 802.11n Wireless LAN, Bluetooth 4.0.
3
GPIO (General Purpose Input and Output): Giống như các chân của vi điều
khiển, các IO này của Raspberry Pi cũng được sử dụng để xuất tín hiệu ra LED,
thiết bị… hoặc đọc tín hiệu vào từ các nút nhấn, cơng tắc,cảm biến… Ngồi ra cịn
có các IO tích hợp các chuẩn truyền dữ liệu UART, I2C và SPI.
Hình 1. 2. Cấu trúc Raspberry Pi 3 Model B
b) Phần mềm
Raspberry Pi sử dụng hệ điều hành dựa trên nền tảng Linux, có rất nhiều hệ điều
hành hỗ trợ Raspberry Pi, trong đó có Raspbian là hệ điều hành chính thức
của Raspberry Pi Foundation, ngồi ra có 7 hệ điều hành khác được xác nhận hỗ trợ và
kha khá hệ điều hành do các nhà phát triển tự tối ưu.
Một số hệ điều hành thông dụng cho Raspberry Pi:
Raspbian: Là hệ điều hành do Raspberry Pi Foundation cung cấp, được
khuyên dùng cho người mới làm quen với Raspberry Pi. Dùng để sử dụng
nhiều tác vụ như: Lướt Web, soạn thảo văn bản, nghe nhạc, xem phim, sử
dụng như một Server cung cấp các dịch vụ Web, File, VPN, Print,… Hoạt
động ổn định, tốc độ nhanh.
Ubuntu Mate: Là hệ điều hành được phát triển từ Ubuntu, giao diện bắt mắt,
tối ưu tốt cho Raspberry Pi, sử dụng thẻ SD class 6 trở lên để được tối ưu tốt
nhất.
4
Windows 10 IoT Core: Có nhân của Windows, khơng có giao diện đồ họa
hay các phần mềm Office, được sử dụng cho các dự án IoT.
Pidora: Là phiên bản của Fedora được tối ưu cho Raspberry Pi, có sẵn giao
diện đồ họa. Giành cho những ai đã quen xài Fedora.
1.1.3. Cài đặt ban đầu cho Raspberry Pi
Theo cấu trúc, Raspberry Pi khơng tích hợp ổ cứng trên bo mạch, do đó hệ điều
hành của Raspberry Pi được cài đặt trên một thẻ micro SD. Để cài đặt hệ điều hành cho
Raspberry Pi, ta có thể sử dụng NOOBS (New Out Of the Box Software), là một trình
quản lý cài đặt hệ điều hành cho Raspberry Pi hoặc chọn một hệ điều hành xác định
trước để cài đặt như Pidora, Raspbian,...
Người mới sử dụng Raspberry Pi nên cài đặt hệ điều hành Raspbian hoặc Pidora,
vì hai hệ điều hành này dễ tiếp cận nhất.
a) Cài đặt hệ điều hành cho Raspberry Pi
Trong phần này, ta sẽ cài đặt hệ điều hành Raspbian lên Raspberry Pi 3 model B.
Để cài đặt hệ điều hành Raspbian cho Raspberry Pi, ta sử dụng Image “2018-0418-raspbian-stretch”. Với một thẻ micro SD trống (tối thiểu 8GB, tốt nhất là 16GB trở
lên), ta có thể tải miễn phí và cài đặt hệ điều hành Raspbian lên thẻ micro SD.
Để cài đặt hệ điều hành cho Raspberry Pi, thực hiện theo quy trình sau:
Tải Raspbian tại:
/>Chọn Download ZIP bên dưới RASPBIAN STRETCH WITH DESKTOP.
Hình 1. 3. Hệ điều hành Raspbian
5
Lưu ý: Có 2 gói Raspbian khác nhau, một gói Raspbian và Raspbian lite. Gói Raspbian
lite sẽ cần kết nối Internet để tải hết toàn bộ dung lượng cài đặt.
Sau khi tải về hồn tất, ta có gói “2018-04-18-raspbian-stretch.zip”. Giải nén gói
zip này, ta sẽ có Image “2018-04-18-raspbian-stretch.img”
Hình 1. 4. Image Raspbian Stretch
Định dạng (Format) thẻ micro SD:
Tải SD Card Formatter tại:
/>Mở SD Card Formatter để tiến hành định dạng thẻ micro SD.
Kết nối thẻ micro SD với máy tính qua thiết bị đọc thẻ, chú ý ký tự đại diện cho
thẻ (D, G hay H …) -> Tiến hành chọn Format để định dạng lại thẻ micro SD.
Hình 1. 5. Phần mềm SD Card Formatter
Ghi hệ điều hành Raspbian lên thẻ micro SD:
Tải Win32DiskImager tại:
/>
6
Mở Win32DiskImager -> chọn Image “2018-04-18-raspbian-stretch.img” và tiến
hành Write để chương trình ghi hệ điều hành lên thẻ micro SD.
Hình 1. 6. Phần mềm Win32 Disk Imager
Cài đặt các thiết bị sẵn sàng sử dụng Raspberry Pi:
Một nguồn 5V-2A (cổng kết nối microUSB), một thẻ micro SD đã cài đặt
Raspbian, một cáp HDMI, một bàn phím và một chuột USB. Kết nối bàn phím và chuột
qua 2 cổng USB 2.0 trên Raspberry Pi, kết nối Raspberry Pi đến một màn hình qua cáp
HDMI.
Lưu ý: Với đề tài này, ta sẽ cấu hình qua Putty vì vậy khơng cần kết nối các thiết bị ngoại
vi như bàn phím, chuột, màn hình,….
Cắm nguồn microUSB để cung cấp nguồn điện và khởi động Raspberry Pi.
Hình 1. 7. Kết nối Raspberry Pi với nguồn và Modem
Như vậy, ta đã hoàn thành cài đặt ban đầu cho Raspberry Pi 3 model B.
7
a) Câu lệnh
Dòng lệnh là một thế mạnh của hệ điều hành Linux, thành thạo lệnh Linux sẽ giúp
ta sử dụng Raspberry Pi nhanh, mạnh mẽ hơn nhiều so với sử dụng giao diện đồ họa,
đồng thời, thể hiện sự chuyên nghiệp của người dùng.
Ta sẽ tìm hiểu một số lệnh cơ bản thực hiện công việc trên Raspberry Pi.
Bảng 1.1. Các câu lệnh cơ bản dùng cho Raspbian
Ý nghĩa
Câu lệnh
ls
Listing. Liệt kê tất cả File và Folder hiện có trong thư mục
cd
Change directory. Chuyển sang thư mục khác
mkdir
Make directory. Tạo New Folder
rmdir
Remove directory. Xóa thư mục
mv
Move. Di chuyển File hay Folder.
rm
Remove. Xóa File.
nano
Open Nano text editor. Mở trình soạn thảo văn bản Nano
sudo
Câu lệnh được sử dụng bởi super user
shutdown -h now Tắt Raspberry Pi ngay lập tức
reboot
Khởi động lại Raspberry Pi
apt-get install
Cài đặt phần mềm (package) mới
apt-get remove
Gỡ bỏ (uninstall) package
apt-get purge
Uninstall hoàn toàn. Kể cả những settings và log.
apt-get update
Cập nhật danh sách package mới nhất
apt-get upgrade
Nâng cấp tất cả package hiện có trong máy lên phiên bản mới
nhất
raspi-config
Mở menu thiết lập cấu hình Raspberry Pi hay Raspbian.
chown
Thay đổi quyền (permission) của một file hay folder
chmod
Thay đổi chủ sở hữu của một tập tin
su
Super user. Siêu người dùng
iptables
Cấu hình các bảng Firewall trong nhân Linux
8
b) Giao diện
Ở giao diện đồ họa, mọi thứ sẽ trở nên trực quan, dễ nhìn hơn so với dịng lệnh.
Các thao tác cơ bản khá giống với hệ điều hành Window thông dụng với các chức
năng cơ bản như trình duyệt, Menu, quản lý File, Command, Wifi, Bluetooth,…
Hình 1. 8. Giao diện đồ họa Raspbian
c) Điều khiển
Vì Raspberry Pi là một máy tính khơng hồn chỉnh, vì vậy muốn vận hành được ta
phải kết nối Raspberry Pi với đầy đủ các thiết bị ngoại vi cần thiết, đôi khi tạo sự bất
tiện khi muốn thao tác với Raspberry Pi đối với người thường xuyên di chuyển.
Để có thể thao tác với Raspberry Pi mọi lúc, mọi nơi mà không cần phải di chuyển
Raspberry Pi, ta có thể sử dụng phần mềm Putty để sử dụng Raspberry Pi ở giao diện
dòng lệnh, và WinSCP để chia sẻ File với mọi thiết bị khác, chỉ cần biết địa chi IP, user
và password để kết nối Raspberry Pi.
Để biết được địa chỉ IP của của Raspberry Pi, từ cửa sổ dòng lệnh, gõ “ifconfig”.
9
Hình 1. 9. Địa chỉ IP của Raspberry Pi
Khi dùng lệnh “ifconfig”, ta có được địa chỉ IP của Raspberry Pi, sử dụng địa chỉ
IP này nhập vào phần mềm Putty hoặc WinSCP để kế nối đến Raspberry Pi từ máy tính
khác.
Hình 1. 10. Kết nối SSH qua phần mềm Putty
Để điều khiển Raspberry Pi bằng phần mềm Putty, chạy phần mềm Putty -> nhập
địa chỉ IP của Raspberry Pi -> chọn Open -> nhập user và password của Raspberry Pi.
10
Khi đã kết nối tới Raspberry Pi, từ giao diện dịng lệnh của phần mềm Putty, ta có
thể điểu khiển Raspberry Pi bằng lệnh giống như khi thao tác trên Raspberry Pi thực sự.
Tải Putty tại:
/>Để chia sẻ file từ Raspberry Pi với các máy tính khác bằng WinSCP, chạy phần
mềm WinSCP -> nhập địa chỉ IP của Raspberry Pi -> chọn Login -> nhập User và
Password của Raspberry Pi.
Tải WinSCP tại:
/>
Hình 1. 11. Kết nối chia sẻ file với Raspberry Pi bằng phần mềm WinSCP
Khi đã kết nối tới Raspberry Pi, ta có thể luân chuyển File giữa Raspberry Pi và
các máy tính khác.
Như vậy, với phần mềm Putty và WinSCP ta có thể kết nối và thao tác trên
Raspberry Pi mà không cần phải làm việc trực tiếp trên Raspberry Pi, giúp công việc
tiện lợi hơn rất nhiều.
1.1.4. Ứng dụng của Raspberry Pi
Raspberry Pi được ưa chuộng không chỉ vì giá thành rẻ, tiêu tốn ít điện năng mà
cịn về tính ứng dụng của nó. Raspberry Pi được sử dụng cho rất nhiều các dự án khoa
học và học tập. Raspberry Pi có thể kết nối với nhiều loại thiết bị ngoại vi và tương
11
tương tác với thế giới bên ngồi. Raspberry Pi có thể được sử dụng cho nhiều ứng dụng
khác nhau, từ đơn giản đến phức tạp như:
Một máy tính cơ bản dùng để lướt web, xem phim
Một ổ cứng sao lưu dữ liệu trên mạng nội bộ
Điều khiển robot
Tạo các Server
Điều khiển các thiết bị
a) Biến Raspberry Pi thành máy chủ lưu trữ đám mây với OwnCloud
Lưu trữ các File, thư mục, danh bạ, thư viện ảnh, lịch,… Có thể truy cập nó từ điện
thoại di động, máy tính, hoặc trình duyệt web.
Dịch vụ đám mây này cho phép đồng bộ hóa tất cả các tập tin của, địa chỉ liên lạc,
hình ảnh, lịch,… đồng bộ hóa giữa các thiết bị.
Trong thời đại cơng nghệ với dịch vụ Facebook, Twitter, Google+,… OwnCloud
phép ta chia sẻ dữ liệu với những người khác và chia sẻ công khai hay riêng tư theo nhu
cầu.
Giao diện người dùng dễ dàng cho phép ta quản lý , tải lên, tạo người dùng,… một
cách rất dễ dàng.
Một tính năng đặc biệt cho dù người dùng có lỡ may xóa tệp tin thì họ vẫn có thể
lấy lại tệp tin đó trong thùng rác. Hệ thống cài đặt mặc định trong khoảng thời gian nhất
định 30 ngày sẽ xóa tồn bộ dữ liệu trong thùng rác.
Tính năng tìm kiếm trong OwnCloud rất mạnh được thực hiện trong nền và cho
phép người dùng tìm kiếm theo tên cũng như loại tập tin .
Tạo không giới hạn người dùng, và phân quyền cho họ.
Hỗ trợ client dành cho Windows, Mac OS, iOS và Android.
1.2. TỔNG QUAN VỀ CƠNG NGHỆ VPN.
1.2.1. Giới thiệu về cơng nghệ VPN.
Virtual Private Network (mạng riêng ảo) thường được gọi tắt là VPN là một kỹ
thuật đã xuất hiện từ lâu, tuy nhiên nó thực sự bùng nổ và trở nên cạnh tranh khi xuất
hiện công nghệ mạng thông minh với đà phát triển mạnh mẽ của Internet.
12
VPN là một mơ hình mạng tận dụng lại những cơ sơ hạ tầng hiện có của Internet.
Với mơ hình mạng này, người ta không phải đầu tư thêm nhiều về cơ sở hạ tầng và các
tính năng như bảo mật, độ tin cậy đảm bảo, đồng thời có thể quản lý riêng được sự hoạt
động của mạng này. VPN cho phép người sử dụng làm việc tại nhà, trên đường đi hay
văn phịng chi nhánh kết nối an tồn đến máy chủ. Trong nhiều trường hợp VPN cũng
giống như WAN (Wide Area Network), tuy nhiên đặc tính quyết định của VPN là chúng
có thể dùng mạng cơng cộng như Internet mà đảm bảo tính riêng tư và tiết kiệm hơn
nhiều.
VPN được hiểu đơn giản như là sự mở rộng của một mạng riêng (Private Network)
thông qua các mạng công cộng. Về căn bản, mỗi VPN là một mạng riêng lẻ sử dụng một
mạng chung (thường là Internet) để kết nối cùng các Site (các mạng riêng lẻ) hay nhiều
người dùng từ xa. Thay cho việc sử dụng bởi một kết nối thực, chuyên dụng như đường
Lease Line, mỗi VPN sử dụng các kết nối ảo được dẫn đường qua Internet từ mạng riêng
của công ty tới các Site hay các nhân viên từ xa.
Để có thể gửi và nhận dữ liệu thông qua mạng công cộng mà vẫn đảm bảo tính an
tồn và bảo mật, VPN cung cấp cơ chế mã hóa dữ liệu trên đường truyền tạo ra một
đường hầm bảo mật giữa nơi nhận và nơi gửi (Tunnel) giống như một kết nối Point-toPoint trên mạng riêng. Để có thể tạo ra một đường hầm bảo mật đó, dữ liệu phải được
mã hóa hay che dấu đi, chỉ cung cấp phần đầu gói dữ liệu (Header) là thơng tin về đường
đi cho phép nó có thể đi đến đích thơng qua mạng cơng cộng một cách nhanh chóng. Dữ
liệu được mã hóa một cách cẩn thận do đó nếu các Packet bị bắt lại trên đường truyền
cơng cộng cũng khơng thể đọc được nội dung vì khơng có khóa để giải mã. Liên kết với
dữ liệu được mã hóa và đóng gói được gọi là kết nối VPN. Các đường kết nối VPN
thường được gọi là đường hầm VPN (VPN Tunnel).
Hình 1. 12. VPN
13