Trong bài viết này, bạn sẽ tìm hiểu cách thiết lập VPN mà bạn có thể lưu trữ trên Raspberry Pi. Tôi là một fan hâm mộ của Raspberry Pis vì những chiếc máy tính có kiểu dáng nhỏ gọn này là công cụ yêu thích của những người thích mày mò như tôi.
VPN này sẽ cho phép bạn truy cập mạng gia đình của mình từ mọi nơi như thể bạn vẫn đang ở nhà. Vậy tại sao điều này lại hữu ích, bạn có thể hỏi? Chà, nó cho phép bạn sử dụng IP mạng gia đình của mình, bất kể bạn ở đâu, điều này tốt cho sự riêng tư.
Trong bài viết này, chúng tôi sẽ sử dụng Tailscale, một dịch vụ VPN dạng lưới (Mạng riêng ảo) nguồn mở giúp hợp lý hóa việc kết nối các thiết bị và dịch vụ một cách an toàn trên các mạng khác nhau. Nó cho phép các kết nối điểm-điểm được mã hóa bằng giao thức WireGuard nguồn mở. Điều này có nghĩa là chỉ các thiết bị trên mạng riêng của bạn mới có thể liên lạc với nhau.
Mục lục
-
Điều kiện tiên quyết
-
Cài đặt Raspberry Pi OS Lite (32-bit)
-
Khởi động Raspberry Pi
-
SSH vào Raspberry Pi và đăng nhập
-
Cài đặt Tailscale trên Raspberry Pi
-
Khóa hết hạn
-
Định cấu hình Raspberry Pi làm Nút thoát
-
Kết luận
Điều kiện tiên quyết
-
Raspberry Pi (Tôi đang làm việc với Raspberry Pi 5)
-
Trình chụp ảnh Raspberry Pi
-
Thẻ Micro SD (8GB là đủ)
-
Đầu đọc thẻ Micro SD cho máy tính của bạn.
-
Bộ định tuyến gia đình
-
Tài khoản Tailscale
Cài đặt Raspberry Pi OS Lite (32-bit)
Chúng tôi sẽ bắt đầu quá trình này bằng cách cài đặt Raspberry Pi OS Lite (32-bit) trên thẻ micro SD mà chúng tôi có. Chúng tôi sẽ sử dụng phần mềm Raspberry Pi Imager được cung cấp miễn phí tại đây.
Khi bạn chạy phần mềm hình ảnh, hãy chọn Thiết bị Raspberry Pi, đối với tôi là Raspberry Pi 5.
Sau đó trong Hệ điều hành, nhấp vào Raspberry Pi OS (khác), sau đó cuộn xuống Raspberry Pi OS Lite (32-bit)
Tiếp theo, chọn thẻ SD mà bạn đã lắp vào đầu đọc thẻ và đầu đọc thẻ vào máy tính. Màn hình của bạn sẽ trông giống như những gì bạn nhìn thấy bên dưới. Nhấp vào tiếp theo.

Sau đó, bạn sẽ thấy một cửa sổ bật lên hỏi xem bạn có muốn áp dụng cài đặt tùy chỉnh hệ điều hành hay không.

Tiếp theo, nhấp vào chỉnh sửa cài đặt. Bật đặt tên máy chủ và viết tên bạn muốn đặt cho Pi. Đối với hướng dẫn này, tôi sẽ sử dụng dapivpn . Sau đó kích hoạt cài đặt tên người dùng và mật khẩu. Chọn tên người dùng và mật khẩu mạnh và an toàn
Bạn có thể bật cấu hình mạng LAN không dây nếu định sử dụng Wifi, nhưng nếu bạn là đội cáp Ethernet, bạn có thể bỏ qua phần này. Tuy nhiên, tôi sẽ sử dụng WiFi trong hướng dẫn này.
Bây giờ, bạn sẽ cần bật cài đặt cục bộ đã đặt và chọn bố cục bàn phím và múi giờ chính xác.
Sau đó, chuyển đến tab Dịch vụ, sau đó bật SSH và nhấp vào “Sử dụng xác thực mật khẩu”. Sau đó nhấp vào lưu, sau đó nhấp vào có trên màn hình áp dụng tùy chỉnh và có một lần nữa. Hãy nhớ rằng điều này sẽ xóa tất cả dữ liệu trên thẻ SD, vì vậy hãy đảm bảo bạn đang sử dụng thẻ mà không có bất kỳ tệp quan trọng nào trên đó.
Bây giờ Raspberry Pi Imager của bạn sẽ trông như thế này:

Khởi động Raspberry Pi
Sau khi hoàn tất, hãy lấy thẻ SD và lắp nó vào Raspberry Pi của bạn. Sau đó cắm cáp nguồn vào Raspberry Pi và đợi vài phút để nó khởi động bình thường. Bạn sẽ biết thiết bị đã sẵn sàng khi đèn LED màu xanh lá cây vẫn sáng.
Bây giờ bạn nên đi tới bộ định tuyến của mình và đặt IP tĩnh cho Raspberry Pi. Đối với tôi, tôi đặt nó thành 192.168.8.21 .
SSH vào Raspberry Pi và đăng nhập
Mở thiết bị đầu cuối dòng lệnh của bạn. Nhập “ssh <pi username>@<raspberry_pi_ip_address> ”. Đối với tôi, đây sẽ là:
ssh danpi@192.168.8.21
Sau đó nhập mật khẩu bạn đã sử dụng. Bạn sẽ thấy tên người dùng và tên máy chủ Pi của mình và điều này xác nhận rằng bạn đã đăng nhập thành công vào đó.

Nhập vào:
sudo apt update && sudo apt upgrade -y
Bạn chạy lệnh này để đảm bảo mọi thứ đều được cập nhật cục bộ.

Bây giờ hãy khởi động lại Pi của bạn sau này bằng cách gõ:
sudo reboot
Bây giờ bạn sẽ thêm kho lưu trữ và khóa ký gói của Tailscale.
curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
Cài đặt Tailscale bằng các lệnh sau:
sudo apt-get update
sudo apt-get install tailscale
Tiếp theo, bạn cần kết nối Pi với mạng Tailscale và xác thực. Bạn có thể làm điều đó bằng lệnh sau:
sudo tailscale up
Trình duyệt của bạn sẽ trông như thế này.

Để xác định địa chỉ Tailscale IPv4 cho Raspberry Pi, hãy chạy lệnh này:
tailscale ip -4
Bạn cũng có thể xem nó trên trang tổng quan Tailscale trong trình duyệt của mình.
Tại thời điểm này, bạn đã cài đặt xong Tailsacle và bạn chỉ cần thực hiện một số thao tác hoàn thiện.
Hết hạn khóa
Có một số điều bạn cần biết khi thêm thiết bị vào Tailsacle. Theo mặc định và là một tính năng bảo mật, Tailscale yêu cầu các thiết bị xác thực lại sau một khoảng thời gian nhất định trôi qua, thường là 180 ngày.
Nếu việc xác thực lại không xảy ra, khóa sẽ hết hạn và kết nối sẽ ngừng hoạt động. Bạn có quyền chọn những gì mình thích vì đây là tính năng bảo mật có một số bất tiện.
Tôi sẽ vô hiệu hóa tính năng hết hạn khóa trên Raspberry Pi vì tôi hoàn toàn tin tưởng vào nó. Để làm điều này, bạn cần:
-
Mở trang Máy của bảng điều khiển dành cho quản trị viên Tailscale.
-
Tìm Raspberry Pi trên hàng và chọn menu tùy chọn ở đó.
-
Nhấp vào tùy chọn Tắt hết hạn khóa. Bạn sẽ thấy nhãn Tắt hết hạn bên dưới tên máy.
Cách định cấu hình Raspberry Pi làm nút thoát
Một điều khác mà bạn cần biết khi nói đến Tailscale là nút thoát là gì. Nút thoát Tailscale là một thiết bị được chỉ định trong mạng Tailscale của bạn để định tuyến tất cả lưu lượng truy cập Internet của bạn thông qua nó. Bất kể bạn ở đâu, sau khi kích hoạt thiết bị này làm nút thoát, khi bạn bật Tailscale, thiết bị sẽ định tuyến lưu lượng truy cập Internet của bạn qua thiết bị.
Lý tưởng nhất là bạn muốn một thiết bị được cấp nguồn 24/7 làm nút thoát của bạn. Đó là lý do tại sao chúng tôi chọn Raspberry Pi vì đây là máy tính có công suất thấp.
Chúng tôi đã đi được 90% chặng đường vì chúng tôi có Tailscale đang chạy trên Pi của mình. Hãy nhớ cài đặt Tailscale trên càng nhiều thiết bị trên mạng cục bộ của bạn càng tốt. Những gì còn lại là cho phép Pi của bạn hoạt động như một nút thoát, để tất cả lưu lượng truy cập internet hoặc lưu lượng mạng LAN của bạn đều đi qua nó, cho phép bạn truy cập vào:
-
Thiết bị mạng cục bộ tại nhà
-
IP công cộng tại nhà của bạn
-
Các dịch vụ nội bộ như NAS, máy in, máy ảnh, v.v.
Để thực hiện việc này, hãy SSH vào Raspberry Pi của bạn và làm theo các bước sau:
-
Kích hoạt chuyển tiếp IP. Chuyển tiếp IP cho phép Raspberry Pi của bạn chuyển lưu lượng giữa các giao diện mạng của nó. Chạy các lệnh bên dưới từng dòng một:
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf echo "net.ipv6.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p /etc/sysctl.conf -
Quảng cáo Raspberry Pi dưới dạng nút thoát:
sudo tailscale up --advertise-exit-node -
Mở trang Máy của bảng điều khiển dành cho quản trị viên Tailscale.
-
Tìm Raspberry Pi trên hàng. Bạn sẽ thấy nhãn Nút thoát trên tên của nó.
-
Nhấp vào menu tùy chọn ở đó và chọn Chỉnh sửa cài đặt tuyến đường.
-
Chọn hộp Sử dụng làm nút thoát, sau đó lưu.
Bây giờ, bạn sẽ thấy tùy chọn định tuyến Internet thông qua nút thoát khi mở ứng dụng Tailscale trên thiết bị di động hoặc PC hoặc bất cứ nơi nào bạn đã cài đặt ứng dụng này. Khi thấy tùy chọn đó, bạn cũng sẽ thấy Raspberry Pi là tùy chọn nút thoát. Bạn cũng có thể thêm nhiều thiết bị hơn làm nút thoát nếu muốn có thêm tùy chọn.
Kết luận
Bằng cách sử dụng ứng dụng Tailscale trên các thiết bị khác, giờ đây bạn có thể định tuyến lưu lượng truy cập một cách an toàn thông qua Raspberry Pi bằng cách chọn nó làm nút thoát. Tailscale cũng cung cấp hướng dẫn rõ ràng, từng bước phù hợp với từng loại thiết bị để thiết lập và sử dụng nút thoát.
Bây giờ bạn có thể không sử dụng Internet ở nhà nhưng vẫn kết nối Internet như thể bạn đang ở nhà. Hẹn gặp lại bạn lần sau.
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu