TL; DR: ฉันติดตั้ง Wireguard บน VPS เชื่อมต่อจากเราเตอร์ที่บ้านของฉันบน OpenWRT และเข้าถึงเครือข่ายย่อยที่บ้านจากโทรศัพท์ของฉัน
หากคุณเก็บโครงสร้างพื้นฐานส่วนบุคคลของคุณไว้บนโฮมเซิร์ฟเวอร์หรือมีอุปกรณ์ที่ควบคุม IP จำนวนมากที่บ้าน คุณอาจต้องการเข้าถึงอุปกรณ์เหล่านั้นจากที่ทำงาน จากรถบัส รถไฟ และรถไฟใต้ดิน บ่อยครั้งสำหรับงานที่คล้ายกัน IP จะถูกซื้อจากผู้ให้บริการ หลังจากนั้นพอร์ตของแต่ละบริการจะถูกส่งต่อไปยังภายนอก
แต่ฉันตั้งค่า VPN พร้อมการเข้าถึง LAN ที่บ้านของฉันแทน ข้อดีของโซลูชันนี้:
- ความโปร่งใส: ฉันรู้สึกเหมือนอยู่บ้านในทุกสถานการณ์
- ความเรียบง่าย: ตั้งค่าแล้วลืมไปเลย ไม่ต้องคิด Forward แต่ละพอร์ต
- Цена: ฉันมี VPS อยู่แล้ว สำหรับงานดังกล่าว VPN สมัยใหม่เกือบจะฟรีในแง่ของทรัพยากร
- ความปลอดภัย: ไม่มีอะไรโดดเด่น คุณสามารถออกจาก MongoDB ได้โดยไม่ต้องใช้รหัสผ่าน และจะไม่มีใครขโมยข้อมูลของคุณ
เช่นเคยมีข้อเสียอยู่บ้าง ขั้นแรก คุณจะต้องกำหนดค่าไคลเอนต์แต่ละเครื่องแยกกัน รวมถึงทางฝั่งเซิร์ฟเวอร์ด้วย อาจไม่สะดวกหากคุณมีอุปกรณ์จำนวนมากที่คุณต้องการเข้าถึงบริการ ประการที่สอง คุณอาจมี LAN ที่มีช่วงเดียวกันในที่ทำงาน คุณจะต้องแก้ไขปัญหานี้
เราจำเป็นต้องใช้:
- VPS (ในกรณีของฉันบน Debian 10)
- เราเตอร์ OpenWRT
- หมายเลขโทรศัพท์
- โฮมเซิร์ฟเวอร์พร้อมบริการเว็บสำหรับการทดสอบ
- แขนตรง.
เทคโนโลยี VPN ที่ฉันจะใช้คือ Wireguard วิธีแก้ปัญหานี้มีทั้งจุดแข็งและจุดอ่อน ฉันจะไม่อธิบายมัน สำหรับ VPN ฉันใช้ซับเน็ต 192.168.99.0/24
และที่บ้านของฉัน 192.168.0.0/24
.
การกำหนดค่า VPS
แม้แต่ VPS ที่น่าสังเวชที่สุดในราคา 30 รูเบิลต่อเดือนก็เพียงพอสำหรับธุรกิจ หากคุณโชคดีพอที่จะมี
ฉันดำเนินการทั้งหมดบนเซิร์ฟเวอร์ในฐานะรูทบนเครื่องที่สะอาด หากจำเป็น ให้เพิ่ม `sudo` และปรับคำแนะนำ
Wireguard ไม่มีเวลาที่จะนำเข้าคอกม้า ดังนั้นฉันจึงเรียกใช้ `apt edit-sources` และเพิ่ม backport เป็นสองบรรทัดที่ท้ายไฟล์:
deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main
แพ็คเกจถูกติดตั้งด้วยวิธีปกติ: apt update && apt install wireguard
.
ต่อไป เราจะสร้างคู่คีย์: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public
. ทำซ้ำขั้นตอนนี้อีกสองครั้งสำหรับแต่ละอุปกรณ์ที่เข้าร่วมในวงจร เปลี่ยนเส้นทางไปยังไฟล์คีย์สำหรับอุปกรณ์อื่นและอย่าลืมเกี่ยวกับความปลอดภัยของคีย์ส่วนตัว
ตอนนี้เราเตรียมการกำหนดค่า หากต้องการไฟล์ /etc/wireguard/wg0.conf
วางการกำหนดค่า:
[Interface]
Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=
[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24
[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32
ในส่วน [Interface]
มีการระบุการตั้งค่าของเครื่องและใน [Peer]
— การตั้งค่าสำหรับผู้ที่จะเชื่อมต่อ ใน AllowedIPs
คั่นด้วยเครื่องหมายจุลภาค เครือข่ายย่อยที่จะกำหนดเส้นทางไปยังเพียร์ที่เกี่ยวข้องจะถูกระบุ ด้วยเหตุนี้ เพียร์ของอุปกรณ์ "ไคลเอนต์" ในเครือข่ายย่อย VPN จึงต้องมีมาสก์ /32
ทุกสิ่งทุกอย่างจะถูกส่งโดยเซิร์ฟเวอร์ เนื่องจากเครือข่ายในบ้านจะถูกส่งผ่าน OpenWRT มา AllowedIPs
เราเพิ่มเครือข่ายย่อยภายในบ้านของเพียร์ที่เกี่ยวข้อง ใน PrivateKey
и PublicKey
แยกย่อยคีย์ส่วนตัวที่สร้างขึ้นสำหรับ VPS และคีย์สาธารณะของเพียร์ตามลำดับ
บน VPS สิ่งที่เหลืออยู่คือการรันคำสั่งที่จะเรียกอินเทอร์เฟซขึ้นมาและเพิ่มลงในการทำงานอัตโนมัติ: systemctl enable --now wg-quick@wg0
. สามารถตรวจสอบสถานะการเชื่อมต่อปัจจุบันได้ด้วยคำสั่ง wg
.
การกำหนดค่า OpenWRT
ทุกสิ่งที่คุณต้องการสำหรับขั้นตอนนี้อยู่ในโมดูล luci (เว็บอินเตอร์เฟส OpenWRT) เข้าสู่ระบบและเปิดแท็บซอฟต์แวร์ในเมนูระบบ OpenWRT จะไม่เก็บแคชไว้ในเครื่อง ดังนั้นคุณต้องอัปเดตรายการแพ็คเกจที่มีอยู่โดยคลิกที่ปุ่มอัปเดตรายการสีเขียว เสร็จแล้วขับเข้ากรอง luci-app-wireguard
และเมื่อมองไปที่หน้าต่างที่มีแผนผังการพึ่งพาที่สวยงาม ให้ติดตั้งแพ็คเกจนี้
ในเมนูเครือข่าย ให้เลือกอินเทอร์เฟซ แล้วคลิกปุ่มเพิ่มอินเทอร์เฟซใหม่สีเขียวใต้รายการที่มีอยู่ หลังจากกรอกชื่อแล้ว (เช่น wg0
ในกรณีของฉัน) และเลือกโปรโตคอล WireGuard VPN แบบฟอร์มการตั้งค่าที่มีสี่แท็บจะเปิดขึ้น
บนแท็บการตั้งค่าทั่วไป คุณต้องป้อนคีย์ส่วนตัวและที่อยู่ IP ที่เตรียมไว้สำหรับ OpenWRT พร้อมกับซับเน็ต
บนแท็บการตั้งค่าไฟร์วอลล์ ให้เชื่อมต่ออินเทอร์เฟซกับเครือข่ายท้องถิ่น ด้วยวิธีนี้ การเชื่อมต่อจาก VPN จะเข้าสู่พื้นที่ท้องถิ่นได้อย่างอิสระ
บนแท็บ Peers ให้คลิกปุ่มเดียว หลังจากนั้นคุณกรอกข้อมูลเซิร์ฟเวอร์ VPS ในรูปแบบที่อัปเดต: รหัสสาธารณะ, IP ที่อนุญาต (คุณต้องกำหนดเส้นทางเครือข่ายย่อย VPN ทั้งหมดไปยังเซิร์ฟเวอร์) ใน Endpoint Host และ Endpoint Port ให้ป้อนที่อยู่ IP ของ VPS ด้วยพอร์ตที่ระบุไว้ก่อนหน้านี้ในคำสั่ง ListenPort ตามลำดับ ตรวจสอบ IP ที่อนุญาตเส้นทางสำหรับเส้นทางที่จะสร้าง และอย่าลืมกรอก Persistent Keep Alive มิฉะนั้นอุโมงค์จาก VPS ไปยังเราเตอร์จะใช้งานไม่ได้หากอันหลังอยู่หลัง NAT
หลังจากนี้คุณสามารถบันทึกการตั้งค่าได้จากนั้นบนเพจที่มีรายการอินเทอร์เฟซให้คลิกบันทึกและนำไปใช้ หากจำเป็น ให้เปิดอินเทอร์เฟซอย่างชัดเจนด้วยปุ่มรีสตาร์ท
การตั้งค่าสมาร์ทโฟน
คุณจะต้องมีไคลเอนต์ Wireguard ซึ่งมีให้ใช้งานใน
ภาพหน้าจอตัวหนาจากโทรศัพท์
คลิกที่ฟล็อปปี้ดิสก์ที่มุม เปิดขึ้นมาแล้ว...
ทำ
ตอนนี้คุณสามารถเข้าถึงการตรวจสอบบ้าน เปลี่ยนการตั้งค่าเราเตอร์ หรือทำอะไรก็ได้ที่ระดับ IP
ภาพหน้าจอจากพื้นที่ท้องถิ่น
ที่มา: will.com