วิธีสร้างเซิร์ฟเวอร์ VPN ด้วย Raspberry Pi

เผยแพร่แล้ว: 2022-01-29

เมื่อคุณนึกถึง VPN คุณอาจนึกภาพบริการสมัครสมาชิกที่เจาะช่องสัญญาณอินเทอร์เน็ตของคุณผ่านเซิร์ฟเวอร์ที่ตั้งอยู่ในที่อื่นในโลก อย่างไรก็ตาม บริการเหล่านั้นไม่ใช่วิธีเดียวในการเข้ารหัสกิจกรรมออนไลน์ของคุณ

บริการ VPN แบบคลิกเดียวสามารถให้บริการได้อย่างยอดเยี่ยม และมี VPN บางตัวที่เราแนะนำหากคุณต้องการวิธีแก้ปัญหาง่ายๆ ที่ใช้งานได้ทันที บริการดังกล่าวมีค่าใช้จ่าย แม้ว่าโดยทั่วไปจะอยู่ที่ประมาณ 5 ถึง 10 เหรียญต่อเดือน ไม่ต้องพูดถึงการไว้วางใจใครก็ตามที่อยู่อีกด้านหนึ่ง สำหรับตัวเลือกที่ถูกกว่าที่คุณควบคุมได้ คุณสามารถตั้งค่าเซิร์ฟเวอร์ OpenVPN บน Raspberry Pi (หรือเราเตอร์บางตัว) และใช้การเชื่อมต่ออินเทอร์เน็ตที่บ้านของคุณเองเป็น VPN ในขณะที่คุณอยู่ข้างนอก

โปรดทราบว่าคุณจะไม่สามารถปลอมแปลงตำแหน่งของคุณไปยังต่างประเทศ หรือซ่อนตัวตนของคุณจากการสอดรู้สอดเห็น (เนื่องจากการจราจรจะดูเหมือนว่ามาจากการเชื่อมต่ออินเทอร์เน็ตที่บ้านปกติของคุณ) อย่างไรก็ตาม มันยังคงให้ความปลอดภัยเป็นพิเศษแก่คุณเมื่อเรียกดูบน Wi-Fi สาธารณะ และค่อนข้างมีประโยชน์เมื่อคุณต้องการเข้าถึงเครือข่ายในบ้านของคุณ เช่น ปลุกพีซีที่กำลังหลับ เพื่อให้คุณสามารถ Remote Desktop เข้ามาได้ ราคาถูก ง่าย และคุ้มค่าที่จะทำถ้าคุณมี Pi อยู่รอบ ๆ

สิ่งที่คุณต้องการ

ในการตั้งค่านี้ คุณจะต้องมีสิ่งที่ชัดเจน: Raspberry Pi พร้อมอุปกรณ์เสริมที่สำคัญทั้งหมด เช่น พาวเวอร์ซัพพลายและการ์ด SD คู่มือนี้ไม่ต้องการระบบปฏิบัติการพิเศษ คุณสามารถใช้ Raspbian ได้ ดังนั้นโปรดอ่านคำแนะนำสำหรับผู้เริ่มต้นใช้งาน Raspberry Pifor ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับการตั้งค่าพื้นฐาน (ตรวจสอบให้แน่ใจว่าคุณได้เปลี่ยนรหัสผ่านเริ่มต้นเมื่อคุณเปิดเครื่อง Pi เป็นครั้งแรก เนื่องจากมีความสำคัญอย่างยิ่งต่อความปลอดภัย ซึ่งท้ายที่สุดแล้วก็คือจุดสำคัญของโครงการนี้)

ฉันขอแนะนำให้ใช้เมาส์ คีย์บอร์ด และจอภาพสำหรับคำแนะนำนี้เช่นกัน—สำหรับการตั้งค่าเริ่มต้น—แม้ว่าจะไม่ได้บังคับอย่างเข้มงวดก็ตาม (คุณสามารถ SSH ใน Pi เพื่อตั้งค่า VPN ได้ แต่คุณอาจต้องเชื่อมต่อใหม่ในระหว่างกระบวนการ เนื่องจากการเปลี่ยนการตั้งค่าเครือข่ายอาจทำให้ Pi ขาดการเชื่อมต่อ)

รูปภาพของ Raspberry Pi และอุปกรณ์เสริมที่เกี่ยวข้อง
ทุกสิ่งที่คุณต้องการเพื่อเปลี่ยน Raspberry Pi ให้เป็นเซิร์ฟเวอร์ VPN

นั่นคือทั้งหมดที่คุณต้องการในทางเทคนิค แม้ว่าจะมีบางอย่างที่ฉันแนะนำ อันดับแรก เป็นความคิดที่ดีที่จะตั้งค่าการจอง DHCP สำหรับ Raspberry Pi ของคุณ เพื่อให้ที่อยู่ IP ภายในไม่เปลี่ยนแปลงเมื่อเวลาผ่านไป

ประการที่สอง ฉันแนะนำบริการ DNS แบบไดนามิก ในการเข้าถึง Pi จากระยะไกล คุณจะต้องชี้ไปที่ที่อยู่ IP สาธารณะที่บ้าน สิ่งนี้หาได้ไม่ยาก แต่สามารถเปลี่ยนแปลงได้เป็นครั้งคราว ซึ่งอาจทำลาย VPN ของคุณจนกว่าคุณจะกำหนดค่าใหม่ การทำเช่นนี้ค่อนข้างยุ่งยาก ดังนั้นการใช้บริการ DNS แบบไดนามิกจึงง่ายกว่าที่จะให้ที่อยู่ที่จำง่ายแทน ซึ่งจะอัปเดตทุกครั้งที่ที่อยู่ IP ของคุณเปลี่ยนแปลง

ตรวจสอบการตั้งค่าเราเตอร์ของคุณเพื่อดูว่ารองรับบริการ DNS แบบไดนามิก เช่น DynDNS หรือ No-IP หรือไม่—บางรายการเป็นการสมัครสมาชิกแบบชำระเงิน แต่บริการอื่นๆ เช่น No-IP นั้นฟรีสำหรับการใช้งานแบบจำกัด ซึ่งน่าจะทำงานได้อย่างสมบูรณ์แบบสำหรับจุดประสงค์ของเรา เราจะไม่อธิบายขั้นตอนทั้งหมดในคู่มือนี้ แต่ฉันขอแนะนำให้ตรวจสอบหากคุณพบว่าผู้ให้บริการอินเทอร์เน็ตของคุณยังคงเปลี่ยนที่อยู่ IP สาธารณะและทำลาย VPN ของคุณ

วิธีการติดตั้ง OpenVPN ด้วย PiVPN

OpenVPN เป็นชุดซอฟต์แวร์โอเพ่นซอร์สที่ให้คุณตั้งค่า VPN บนฮาร์ดแวร์ทุกประเภท หากต้องการ คุณสามารถติดตั้งเซิร์ฟเวอร์ Linux ของ OpenVPN บน Pi และปรับแต่งไฟล์การกำหนดค่าได้ด้วยตนเอง แต่มีวิธีแก้ปัญหาที่ง่ายกว่า PiVPN เป็นชุดของสคริปต์โอเพนซอร์ซที่เปลี่ยนการกำหนดค่าของ OpenVPN ให้เป็นวิซาร์ดที่ใช้งานง่าย ดังนั้นแม้ว่าคุณจะใช้งาน OpenVPN เป็นครั้งแรก คุณไม่ควรมีปัญหามากเกินไปในการตั้งค่า

ภาพหน้าจอของ Windows Terminal
ติดตั้ง PiVPN ในหน้าต่าง Terminal ของ Windows

ดังนั้นให้เปิดเครื่อง Pi ของคุณ ตรวจสอบให้แน่ใจว่าซอฟต์แวร์ทั้งหมดเป็นเวอร์ชันล่าสุด และเปิดหน้าต่าง Terminal ใหม่ การติดตั้ง PiVPN นั้นง่ายพอๆ กับการรันคำสั่งต่อไปนี้:

curl -L https://install.pivpn.io | ทุบตี

สคริปต์จะใช้เวลาสองสามนาทีในการติดตั้ง OpenVPN จากนั้นจะแนะนำคุณตลอดขั้นตอนการกำหนดค่า อันดับแรก มันจะแจ้งให้คุณทราบว่า PiVPN นั้นต้องการที่อยู่ IP แบบคงที่ ดังนั้นคุณจึงสามารถเข้าถึงเซิร์ฟเวอร์ VPN ของคุณได้อย่างง่ายดายเมื่อคุณอยู่ข้างนอก หากคุณตั้งค่าการจอง DHCP คุณสามารถพูดว่าใช่เมื่อ PiVPN ถามว่าคุณกำลังใช้อยู่หรือไม่

หลังจากเลือกผู้ใช้ของคุณแล้ว (ผู้ใช้ Pi ที่เป็นค่าเริ่มต้นนั้นใช้ได้ ยกเว้นกรณีที่คุณต้องการใช้) PiVPN จะถามว่าคุณต้องการใช้ WireGuard, โปรโตคอล VPN ใหม่ หรือ OpenVPN ฉันใช้ OpenVPN สำหรับคำแนะนำนี้ ดังนั้นให้ใช้แป้นลูกศรเพื่อย้ายเคอร์เซอร์ไปที่ OpenVPN จากนั้นกด Space เพื่อเลือกก่อนที่จะกด Enter เพื่อดำเนินการต่อ

WireGuard นั้นค่อนข้างใหม่และมีคำมั่นสัญญามากมาย ในขณะที่ OpenVPN นั้นเป็นที่นิยมมากกว่าและได้รับการสนับสนุนอย่างกว้างขวาง หากคุณต้องการลองใช้ WireGuard คุณสามารถอ่านเพิ่มเติมได้ที่นี่

ภาพหน้าจอของ PiVPN
ตั้งค่า VPN ของคุณด้วย PiVPN

สำหรับขั้นตอนต่อไป การตั้งค่าเริ่มต้นนั้นใช้ได้สำหรับผู้ใช้ส่วนใหญ่ ระบบจะถามว่าคุณต้องการใช้ UDP หรือ TDP หรือไม่ (คุณควรเลือก UDP เว้นแต่คุณจะมีเหตุผลที่ดีที่จะไม่ทำเช่นนั้น) พอร์ตใดที่คุณต้องการใช้ (1194 ใช้ได้เว้นแต่มีอย่างอื่นใช้อยู่) และอะไร ผู้ให้บริการ DNS ที่คุณต้องการใช้ (ใด ๆ ก็เหมาะสม)

ปัญหาหนึ่ง: ฉันพบว่าแม้จะใช้บริการ DNS แบบไดนามิก แต่ PiVPN ก็ไม่ยอมรับ URL ที่กำหนดเองของฉัน หากคุณประสบปัญหาเดียวกัน เพียงบอกให้ใช้ที่อยู่ IP สาธารณะของคุณ และคุณสามารถเปลี่ยนได้ในไฟล์การกำหนดค่าในภายหลัง

สุดท้ายนี้ ฟีเจอร์ OpenVPN 2.4 นั้นคุ้มค่าที่จะเปิดใช้งาน เว้นแต่คุณจะรู้ว่าคุณกำลังใช้แอพที่ไม่รองรับ เลือกใบรับรองความปลอดภัยที่แนะนำเมื่อได้รับแจ้ง ขนาดที่ใหญ่ขึ้นจะให้ความปลอดภัยที่ดีกว่า แต่อาจทำให้สิ่งต่างๆ ช้าลงและไม่จำเป็นสำหรับผู้ใช้ส่วนใหญ่ เปิดใช้งานการอัปเกรดอัตโนมัติ จากนั้น PiVPN จะติดตั้งแพ็คเกจที่จำเป็นและสร้างไฟล์การกำหนดค่าที่จำเป็น

สุดท้าย คุณสามารถเลือก DNS ที่จะใช้เมื่อคุณเชื่อมต่อกับ VPN ข้ามการเพิ่มโดเมนการค้นหาที่กำหนดเอง (เว้นแต่คุณจะรู้ว่าคืออะไรและต้องการใช้) เมื่อเสร็จแล้ว คุณจะได้รับแจ้งให้รีบูต Pi ของคุณ

ภาพหน้าจอของ PiVPN
ตั้งชื่อลูกค้าของคุณ

หลังจากรีบูต คุณจะต้องเปิดหน้าต่าง Terminal และเรียกใช้:

pivpn เพิ่ม

ตั้งชื่อไฟล์การกำหนดค่า (ฉันเลือก whitson-laptop) ตั้งค่าว่าใบรับรองมีอายุกี่วัน (ค่าเริ่มต้นใช้ได้) และป้อนรหัสผ่านที่คุณเลือก (ตรวจสอบให้แน่ใจว่าใบรับรองแข็งแรง) มันจะสร้างไฟล์ .ovpn ให้คุณภายใต้ /home/pi/ovpns ซึ่งคุณจะต้องเชื่อมต่อกับ VPN ของคุณ—คัดลอกไปยังพีซีของคุณและเก็บไว้ในที่ที่ปลอดภัย

PiVPN แนะนำให้ทำขั้นตอนนี้ซ้ำสำหรับอุปกรณ์อื่น ดังนั้นหากคุณมีแล็ปท็อปหรือโทรศัพท์เครื่องอื่นที่คุณต้องการใช้ VPN นี้ ให้เรียกใช้คำสั่งนี้อีกครั้งเพื่อสร้างไฟล์กำหนดค่าของตัวเองทันที

สกรีนช็อตของแอพ Notepad
แทนที่ที่อยู่ IP ด้วย URL ที่กำหนดเองของคุณ

นี่คือที่ที่ฉันต้องแก้ไขไฟล์ .ovpn ของฉัน หากคุณกำลังใช้บริการ DNS แบบไดนามิกเช่นฉัน ให้เปิดไฟล์ใน Notepad (หรือโปรแกรมแก้ไขข้อความที่คุณเลือก) และแทนที่ที่อยู่ IP ของคุณในบรรทัดที่ 4 ด้วย URL ที่กำหนดเอง หากคุณมีปัญหาในการเชื่อมต่อกับ VPN ของคุณ นี่เป็นบรรทัดแรกที่ฉันต้องทำ—มันเคยสร้างปัญหาให้กับฉันในอดีตด้วยตัวสร้างการกำหนดค่า OpenVPN จำนวนหนึ่ง

จากที่นี่ Pi ของคุณควรพร้อมแล้ว แต่คุณจะต้องทำอย่างอื่นก่อนจึงจะเชื่อมต่อได้: ส่งต่อพอร์ต VPN ของคุณบนเราเตอร์ กระบวนการนี้แตกต่างกันไปในแต่ละเราเตอร์ แต่จะมีลักษณะดังนี้: คุณลงชื่อเข้าใช้หน้าการกำหนดค่าเราเตอร์ ค้นหาตัวเลือกการส่งต่อพอร์ต และส่งต่อพอร์ต 1194 ไปยังที่อยู่ IP ภายในของ Pi คุณสามารถค้นหาคำแนะนำโดยละเอียดเพิ่มเติมสำหรับเราเตอร์เฉพาะที่ portforward.com

เชื่อมต่อกับ VPN ของคุณได้จากทุกที่

ตอนนี้คุณอยู่ในบ้านแล้ว เพราะที่เหลือนั้นง่ายมาก หากต้องการเชื่อมต่อกับ VPN เมื่อคุณไม่อยู่บ้าน คุณจะต้องมีแอป VPN หรือ "ไคลเอนต์" ที่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ OpenVPN ของคุณได้ OpenVPN มีไคลเอนต์อย่างเป็นทางการชื่อ OpenVPN Connect ซึ่งพร้อมใช้งานบน Windows, macOS, Linux, iOS และ Android

คุณสามารถคว้ามันจากโฮมเพจของ OpenVPN—เพียงเลื่อนลงมาเพื่อเริ่มต้นใช้งาน OpenVPN Connect แล้วคลิกแพลตฟอร์มที่คุณเลือก นอกจากนี้ยังมีโปรแกรมของบริษัทอื่นยอดนิยม เช่น Viscosity(Windows/Mac) และ Tunnelblick(Mac) ที่มีตัวเลือกเพิ่มเติมสำหรับผู้ใช้ขั้นสูง คุณสามารถดูไคลเอนต์ OpenVPN อื่น ๆ ในหน้านี้ได้ที่ชุมชน OpenVPN

สกรีนช็อตของ OpenVPN
จัดการ VPN ของคุณด้วย OpenVPN

เปิดแอป OpenVPN Connect แล้วคลิกแท็บ "ไฟล์" เพื่อเพิ่มโปรไฟล์ใหม่ ไปที่ไฟล์การกำหนดค่าที่คุณคัดลอกจาก Pi (อีกครั้งของฉันถูกเรียกว่า whitson-laptop.ovpn) และเลือก คลิกปุ่มเพิ่ม และคุณสามารถเชื่อมต่อกับ VPN ของคุณได้โดยเปิดสวิตช์สลับและป้อนรหัสผ่านของคุณ

เมื่อคุณทำแล้ว การรับส่งข้อมูลทั้งหมดของคุณจะถูกเข้ารหัส และกำหนดเส้นทางผ่านการเชื่อมต่ออินเทอร์เน็ตที่บ้านของคุณที่ Pi อาศัยอยู่ การรับส่งข้อมูลของคุณจะปลอดภัยจากการสอดรู้สอดเห็น Wi-Fi ร้านกาแฟนั้น และคุณจะสามารถเข้าถึงทรัพยากรใดๆ บนเครือข่ายในบ้านของคุณราวกับว่าคุณอยู่ที่นั่น โดยไม่ต้องเสียค่าสมัคร