Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> VPN

Bảo mật mạng nhà: Triển khai VPN Raspberry Pi với Tailscale

Trong bài này, bạn sẽ học cách thiết lập VPN lưu trữ trên Raspberry Pi. Tôi thích Raspberry Pi vì những máy tính nhỏ gọn này là công cụ yêu thích của người sửa chữa, như tôi.

VPN này cho phép bạn truy cập mạng nhà từ bất cứ đâu như thể bạn vẫn ở nhà. Vậy tại sao điều này hữu ích? Nó cho phép bạn dùng IP mạng nhà, dù bạn ở đâu, tốt cho quyền riêng tư.

Chúng ta sẽ dùng Tailscale, dịch vụ VPN lưới (mesh VPN) mã nguồn mở giúp đơn giản hóa việc kết nối thiết bị và dịch vụ an toàn qua các mạng khác nhau. Nó cho phép kết nối điểm-điểm mã hóa dùng giao thức WireGuard mã nguồn mở. Nghĩa là chỉ thiết bị trên mạng riêng của bạn mới giao tiếp đượ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
  • Hết hạn khóa (Key Expiry)
  • Cấu hình Raspberry Pi làm Exit Node
  • Kết luận

Điều kiện tiên quyết

  • Raspberry Pi (tôi dùng Raspberry Pi 5)
  • Raspberry Pi Imager
  • Thẻ Micro SD (8GB đủ dùng)
  • Đọc thẻ Micro SD cho máy tính
  • Router nhà
  • Tài khoản Tailscale

Cài đặt Raspberry Pi OS Lite (32-bit)

Bắt đầu bằng cách cài Raspberry Pi OS Lite (32-bit) lên thẻ micro SD. Dùng phần mềm Raspberry Pi Imager miễn phí tại đây.

Khi chạy imager, chọn thiết bị Raspberry Pi (tôi dùng Pi 5).

Ở Hệ điều hành, bấm Raspberry Pi OS (other), cuộn xuống Raspberry Pi OS Lite (32-bit).

Tiếp, chọn thẻ SD đã gắn vào máy qua đầu đọc. Màn hình trông như bên dưới. Bấm Next.

Sau Next, sẽ có cửa sổ hỏi có muốn áp dụng tùy chỉnh OS không.

Bấm Edit settings. Bật đặt hostname và đặt tên cho Pi (tôi dùng dapivpn). Bật đặt username và password. Chọn username và mật khẩu mạnh.

Bạn có thể bật cấu hình WiFi nếu dùng không dây, nhưng nếu dùng cáp Ethernet thì bỏ qua. Tôi dùng WiFi trong hướng dẫn này.

Bây giờ bật cài đặt khu vực và chọn múi giờ, bố cục bàn phím phù hợp.

Sau đó, tab Services, bật SSH và chọn "Use password authentication". Bấm Save, Yes trên màn hình áp dụng tùy chỉnh, và Yes lại lần nữa. Nhớ là thao tác này xóa hết dữ liệu trên thẻ SD, hãy dùng thẻ không có file quan trọng.

Khởi động Raspberry Pi

Xong rồi, gắn thẻ SD vào Pi. Cắm nguồn và chờ vài phút để khởi động xong. Bạn biết nó sẵn sàng khi đèn LED xanh sáng liên tục.

Bây giờ vào router và đặt IP tĩnh cho Raspberry Pi. Của tôi là 192.168.8.21.

SSH vào Raspberry Pi và Đăng nhập

Mở terminal. Gõ "ssh <tên_user_pi>@<ip_raspberry_pi>". Với tôi:

ssh danpi@192.168.8.21

Nhập mật khẩu. Bạn sẽ thấy username và hostname Pi, xác nhận đăng nhập thành công.

Gõ:

sudo apt update && sudo apt upgrade -y

Lệnh này cập nhật mọi thứ cục bộ.

Khởi động lại Pi:

sudo reboot

Thêm khóa ký gói và kho 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 Tailscale:

sudo apt-get update
sudo apt-get install tailscale

Kết nối Pi vào mạng Tailscale và xác thực:

sudo tailscale up

Trình duyệt sẽ hiện ra để xác thực.

Để tìm địa chỉ IPv4 Tailscale của Pi, chạy:

tailscale ip -4

Cũng thấy được trên bảng điều khiển Tailscale trên trình duyệt.

Lúc này bạn đã xong cài Tailscale, chỉ còn vài chi tiết hoàn thiện.

Hết hạn khóa (Key Expiry)

Cần biết: mặc định, Tailscale yêu cầu thiết bị xác thực lại sau một thời gian (thường 180 ngày) như tính năng bảo mật.

Nếu không xác thực lại, khóa hết hạn và kết nối ngừng hoạt động. Tùy bạn chọn, vì đây là tính năng bảo mật đi kèm bất tiện.

Tôi sẽ tắt hết hạn khóa trên Pi, vì tôi tin tưởng nó hoàn toàn. Cách làm:

  • Mở trang Machines trên bảng điều khiển quản trị Tailscale.
  • Tìm Pi trên hàng và chọn menu tùy chọn.
  • Bấm Disable Key Expiry. Sẽ thấy nhãn Expiry Disable dưới tên máy.

Cách cấu hình Raspberry Pi làm Exit Node

Exit node trong Tailscale là thiết bị được chỉ định trong mạng Tailscale định tuyến toàn bộ lưu lượng internet qua nó. Dù bạn ở đâu, bật Tailscale và chọn exit node này, toàn bộ traffic internet sẽ đi qua thiết bị đó.

Lý tưởng là thiết bị bật 24/7 làm exit node. Đó là lý do chọn Pi, vì nó tiêu thụ ít điện.

Chúng ta đã làm được 90%, vì Tailscale đã chạy trên Pi. Nhớ cài Tailscale trên nhiều thiết bị trong mạng nội bộ nhất có thể. Còn lại là cho phép Pi làm exit node, để toàn bộ traffic internet hoặc LAN đi qua nó, cho bạn truy cập:

  • Thiết bị mạng nội bộ tại nhà
  • IP công cộng nhà bạn
  • Dịch vụ nội bộ như NAS, máy in, camera, v.v.

Làm như sau, SSH vào Pi và thực hiện:

  • Bật IP Forwarding. Cho phép Pi chuyển traffic giữa các interface mạng. Chạy lần lượ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 bá Pi làm exit node:
    sudo tailscale up --advertise-exit-node
    
  • Mở trang Machines trên bảng điều khiển Tailscale.
  • Tìm Pi. Sẽ thấy nhãn Exit Node trên tên.
  • Bấm menu tùy chọn và chọn Edit Route Settings.
  • Tích vào Use as an exit node, rồi lưu.

Bây giờ khi mở app Tailscale trên mobile/PC, bạn sẽ thấy tùy chọn định tuyến internet qua exit node, và Pi sẽ là một lựa chọn. Có thể thêm nhiều thiết bị làm exit node nếu muốn.

Kết luận

Dùng app Tailscale trên thiết bị khác, bạn có thể định tuyến traffic an toàn qua Pi bằng cách chọn nó làm exit node. Tailscale cũng cung cấp hướng dẫn từng bước rõ ràng cho từng loại thiết bị để thiết lập và dùng exit node.

Bây giờ bạn có thể xa mạng nhà nhưng vẫn kết nối internet như thể đang ở nhà. Hẹn gặp lại lần sau.

Học lập trình miễn phí. Chương trình mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người tìm được việc làm lập trình viên. Bắt đầu ngay