ในบทความนี้ คุณจะได้เรียนรู้วิธีตั้งค่า VPN ที่คุณสามารถโฮสต์บน Raspberry Pi ผมเป็นแฟนของ Raspberry Pi เพราะคอมพิวเตอร์ขนาดเล็กรูปแบบนี้เป็นเครื่องมือโปรดของนักทดลองอย่างผม
VPN นี้จะอนุญาตให้คุณเข้าถึงเครือข่ายบ้านจากที่ไหนก็ได้olah您感覺彷彿還在家裡 那么这有什么用呢? 它允许您无论身在何处都使用家庭网络 IP,这对隐私有好处。
ในบทความนี้ เราจะใช้ Tailscale บริการ mesh VPN (Virtual Private Network) โอเพนซอร์ส ที่ทำให้การเชื่อมต่ออุปกรณ์และบริการข้ามเครือข่ายต่างๆ อย่างปลอดภัยง่ายขึ้น มันเปิดใช้การเชื่อมต่อ point-to-point ที่เข้ารหัสด้วยโปรโตคอล WireGuard โอเพนซอร์ส หมายความว่าเฉพาะอุปกรณ์ในเครือข่ายส่วนตัวของคุณเท่านั้นที่สามารถสื่อสารกันได้
สารบัญ
- ข้อกำหนดเบื้องต้น
- ติดตั้ง Raspberry Pi OS Lite (32-bit)
- บูท Raspberry Pi
- SSH เข้า Raspberry Pi และล็อกอิน
- ติดตั้ง Tailscale บน Raspberry Pi
- Key Expiry (การหมดอายุคีย์)
- ตั้งค่า Raspberry Pi เป็น Exit Node
- สรุป
ข้อกำหนดเบื้องต้น
- Raspberry Pi (ผมใช้ Raspberry Pi 5)
- Raspberry Pi Imager
- Micro SD Card (8GB พอแล้ว)
- Micro SD Card reader สำหรับคอมพิวเตอร์
- เราเตอร์บ้าน
- บัญชี Tailscale
ติดตั้ง Raspberry Pi OS Lite (32-bit)
เราจะเริ่มต้นด้วยการติดตั้ง Raspberry Pi OS Lite (32-bit) บน micro SD card ที่เรามี เราจะใช้ซอฟต์แวร์ Raspberry Pi Imager ซึ่งดาวน์โหลดฟรีได้
เมื่อรันโปรแกรม Imager เลือกอุปกรณ์ Raspberry Pi ซึ่งของผมคือ Raspberry Pi 5
จากนั้นใน Operating System คลิกที่ Raspberry Pi OS (other) แล้วเลื่อนลงมาที่ Raspberry Pi OS Lite (32-bit)
ต่อไป เลือก SD card ที่คุณใส่ใน card reader และ card reader ต่อเข้าคอมพิวเตอร์ หน้าจอควรจะเหมือนภาพด้านล่าง คลิก Next

หลังจาก Next คุณควรจะเห็น pop-up ถามว่าอยาก apply OS customisation settings ไหม

ต่อไป คลิก Edit settings เปิดใช้ Set hostname และใส่ชื่อที่อยากให้ Pi ใช้ สำหรับบทช่วยสอนนี้ ผมจะใช้ dapivpn จากนั้นเปิดใช้ Set username and password เลือก username และ password ที่แข็งแกร่งและปลอดภัย
คุณสามารถเปิดใช้ Configure wireless LAN ถ้าวางแผนใช้ WiFi แต่ถ้าคุณทีม Ethernet cable ข้ามได้ ผมจะใช้ WiFi ในบทช่วยสอนนี้
ตอนนี้คุณต้องเปิดใช้ Set locale settings และเลือก time zone และ keyboard layout ที่ถูกต้อง
หลังจากนั้น ไปที่แท็บ Services แล้วเปิดใช้ SSH และคลิก "Use password authentication" แล้วคลิก Save แล้ว Yes บนหน้าจอ apply customisation และ Yes อีกครั้ง จำไว้ว่านี้จะลบข้อมูลทั้งหมดบน SD card ดังนั้นตรวจสอบให้แน่ใจว่าคุณใช้ SD card ที่ไม่มีไฟล์สำคัญ
Raspberry Pi Imager ของคุณควรจะเป็นแบบนี้ตอนนี้:

บูท Raspberry Pi
หลังจากเสร็จสิ้น ใส่ SD card เข้า Raspberry Pi แล้วเสียบสายไฟ และรอสักพักให้มันบูทสมบูรณ์ คุณจะรู้ว่าพร้อมแล้วเมื่อไฟ LED สีเขียวติดค้าง
ตอนนี้คุณควรไปที่เราเตอร์และตั้งค่า static IP ให้ Raspberry Pi สำหรับของผม ตั้งเป็น 192.168.8.21
SSH เข้า Raspberry Pi และล็อกอิน
เปิด command line terminal พิมพ์ "ssh <pi username>@<raspberry_pi_ip_address>" สำหรับผมจะเป็น:
ssh danpi@192.168.8.21
จากนั้นพิมพ์ password ที่คุณใช้ คุณควรเห็น username และ hostname ของ Pi ซึ่งยืนยันว่าล็อกอินสำเร็จแล้ว

พิมพ์:
sudo apt update && sudo apt upgrade -y
คุณรันคำสั่งนี้เพื่อให้แน่ใจว่าทุกอย่างทันสมัยในท้องถิ่น

ตอนนี้ reboot Pi ของคุณด้วยการพิมพ์:
sudo reboot
ตอนนี้คุณจะเพิ่ม package signing key และ repository ของ 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
ติดตั้ง Tailscale ด้วยคำสั่งเหล่านี้:
sudo apt-get update
sudo apt-get install tailscale
ต่อไป คุณต้องเชื่อมต่อ Pi ของคุณกับเครือข่าย Tailscale และยืนยันตัวตน คุณสามารถทำได้ด้วยคำสั่ง:
sudo tailscale up
เบราวเซอร์ของคุณควรจะเป็นแบบนี้

เพื่อหา Tailscale IPv4 address สำหรับ Raspberry Pi รันคำสั่งนี้:
tailscale ip -4
คุณยังสามารถเห็นได้บน Tailscale dashboard ในเบราวเซอร์
ในจุดนี้ คุณติดตั้ง Tailscale เรียบร้อยแล้ว แค่ต้องทำ finishing touches เหลืออยู่
Key Expiry (การหมดอายุคีย์)
มีบางอย่างที่คุณต้องรู้เกี่ยวกับการเพิ่มอุปกรณ์เข้า Tailscale โดยค่าเริ่มต้น และเป็นฟีเจอร์ความปลอดภัย Tailscale กำหนดให้อุปกรณ์ต้อง re-authenticate หลังจากผ่านไปสักระยะเวลา ปกติ 180 วัน
ถ้า re-authentication ไม่เกิดขึ้น คีย์จะหมดอายุและการเชื่อมต่อจะหยุดทำงาน ขึ้นอยู่กับคุณว่าชอบแบบไหน เพราะนี่คือฟีเจอร์ความปลอดภัยที่มาพร้อมกับความไม่สะดวกบ้าง
ผมจะปิด key expiry บน Raspberry Pi เพราะผมไว้วางใจมันเต็มที่ ในการทำนี้ คุณต้อง:
- เปิดหน้า Machines ของ Tailscale admin console
- หา Raspberry Pi บนแถว และเลือกเมนูตัวเลือกที่นั่น
- คลิกที่ Disable Key Expiry option คุณควรเห็นป้าย Expiry Disabled ใต้ชื่อเครื่อง
วิธีตั้งค่า Raspberry Pi เป็น Exit Node
อีกอย่างที่คุณต้องรู้เกี่ยวกับ Tailscale คือ Exit Node คืออะไร Exit Node ของ Tailscale คืออุปกรณ์ที่กำหนดในเครือข่าย Tailscale ของคุณ ที่ route traffic อินเทอร์เน็ตทั้งหมดของคุณผ่านมัน ไม่ว่าคุณจะอยู่ที่ไหน เมื่อคุณเปิดใช้งานอุปกรณ์นี้เป็น exit node และเปิด Tailscale มันจะ route traffic อินเทอร์เน็ตของคุณผ่านอุปกรณ์นี้
ในทาง lý tưởng คุณอยากได้อุปกรณ์ที่เปิดอยู่ 24/7 เพื่อเป็น exit node นั่นคือเหตุผลที่เราเลือก Raspberry Pi เพราะมันคอมพิวเตอร์ที่ใช้พลังงานต่ำ
เราทำไปแล้ว 90% เพราะเรามี Tailscale ทำงานบน Pi ของเรา จำได้ด้วยว่าติดตั้ง Tailscale บนอุปกรณ์ให้มากที่สุดในเครือข่ายท้องถิ่นของคุณ สิ่งที่เหลือคืออนุญาตให้ Pi ของคุณทำหน้าที่เป็น exit node เพื่อให้ traffic อินเทอร์เน็ตหรือ LAN ทั้งหมด route ผ่านมัน ให้คุณเข้าถึง:
- อุปกรณ์เครือข่ายท้องถิ่นที่บ้าน
- Public IP ของบ้านคุณ
- บริการภายในอย่าง NAS, พิมพ์, กล้อง, และอื่นๆ
เพื่อทำเช่นนี้ SSH เข้า Raspberry Pi และทำตามขั้นตอนเหล่านี้:
- เปิดใช้ IP Forwarding IP forwarding อนุญาตให้ Raspberry Pi ส่ง traffic ระหว่าง network interfaces ของมัน รันคำสั่งด้านล่างทีละบรรทัด:
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 - โฆษณา Raspberry Pi เป็น exit node:
sudo tailscale up --advertise-exit-node - เปิดหน้า Machines ของ Tailscale admin console
- หา Raspberry Pi บนแถว คุณควรเห็นป้าย Exit Node บนชื่อของมัน
- คลิกเมนูตัวเลือกที่นั่น และเลือก Edit Route Settings
- ติ๊กกล่อง Use as an exit node แล้ว save
ตอนนี้คุณควรเห็นตัวเลือกการ route อินเทอร์เน็ตผ่าน exit node เมื่อคุณเปิดแอพ Tailscale บนมือถือหรือ PC หรือที่ไหนก็ตามที่คุณติดตั้งไว้ เมื่อคุณเห็นตัวเลือกนั้น คุณจะเห็น Raspberry Pi เป็นตัวเลือก exit node ด้วย คุณยังสามารถเพิ่มอุปกรณ์อื่นเป็น exit node ได้อีกถ้าอยากมีตัวเลือกมากขึ้น
สรุป
ด้วยแอพ Tailscale บนอุปกรณ์อื่นๆ คุณสามารถ route traffic อย่างปลอดภัยผ่าน Raspberry Pi โดยเลือกมันเป็น exit node Tailscale ยังให้คำแนะนำขั้นตอนที่ชัดเจนสำหรับแต่ละประเภทอุปกรณ์สำหรับการตั้งค่าและใช้ exit node
ตอนนี้คุณสามารถอยู่ห่างจากอินเทอร์เน็ตบ้าน แต่ยังเชื่อมต่ออินเทอร์เน็ตได้เหมือนว่าคุณยังอยู่ที่บ้าน เจอกันใหม่คราวหน้า
เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพนซอร์สของ freeCodeCamp ช่วยให้ผู้คน 40,000+ คนได้งานเป็นนักพัฒนา เริ่มต้นเลย