VPN ไปยัง LAN ที่บ้าน

VPN ไปยัง LAN ที่บ้าน

TL; DR: ฉันติดตั้ง Wireguard บน VPS เชื่อมต่อจากเราเตอร์ที่บ้านของฉันบน OpenWRT และเข้าถึงเครือข่ายย่อยที่บ้านจากโทรศัพท์ของฉัน

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

แต่ฉันตั้งค่า VPN พร้อมการเข้าถึง LAN ที่บ้านของฉันแทน ข้อดีของโซลูชันนี้:

  • ความโปร่งใส: ฉันรู้สึกเหมือนอยู่บ้านในทุกสถานการณ์
  • ความเรียบง่าย: ตั้งค่าแล้วลืมไปเลย ไม่ต้องคิด Forward แต่ละพอร์ต
  • Цена: ฉันมี VPS อยู่แล้ว สำหรับงานดังกล่าว VPN สมัยใหม่เกือบจะฟรีในแง่ของทรัพยากร
  • ความปลอดภัย: ไม่มีอะไรโดดเด่น คุณสามารถออกจาก MongoDB ได้โดยไม่ต้องใช้รหัสผ่าน และจะไม่มีใครขโมยข้อมูลของคุณ

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

เราจำเป็นต้องใช้:

  1. VPS (ในกรณีของฉันบน Debian 10)
  2. เราเตอร์ OpenWRT
  3. หมายเลขโทรศัพท์
  4. โฮมเซิร์ฟเวอร์พร้อมบริการเว็บสำหรับการทดสอบ
  5. แขนตรง.

เทคโนโลยี 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 แบบฟอร์มการตั้งค่าที่มีสี่แท็บจะเปิดขึ้น

VPN ไปยัง LAN ที่บ้าน

บนแท็บการตั้งค่าทั่วไป คุณต้องป้อนคีย์ส่วนตัวและที่อยู่ IP ที่เตรียมไว้สำหรับ OpenWRT พร้อมกับซับเน็ต

VPN ไปยัง LAN ที่บ้าน

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

VPN ไปยัง LAN ที่บ้าน

บนแท็บ Peers ให้คลิกปุ่มเดียว หลังจากนั้นคุณกรอกข้อมูลเซิร์ฟเวอร์ VPS ในรูปแบบที่อัปเดต: รหัสสาธารณะ, IP ที่อนุญาต (คุณต้องกำหนดเส้นทางเครือข่ายย่อย VPN ทั้งหมดไปยังเซิร์ฟเวอร์) ใน Endpoint Host และ Endpoint Port ให้ป้อนที่อยู่ IP ของ VPS ด้วยพอร์ตที่ระบุไว้ก่อนหน้านี้ในคำสั่ง ListenPort ตามลำดับ ตรวจสอบ IP ที่อนุญาตเส้นทางสำหรับเส้นทางที่จะสร้าง และอย่าลืมกรอก Persistent Keep Alive มิฉะนั้นอุโมงค์จาก VPS ไปยังเราเตอร์จะใช้งานไม่ได้หากอันหลังอยู่หลัง NAT

VPN ไปยัง LAN ที่บ้าน

VPN ไปยัง LAN ที่บ้าน

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

การตั้งค่าสมาร์ทโฟน

คุณจะต้องมีไคลเอนต์ Wireguard ซึ่งมีให้ใช้งานใน F-Droid, Google Play และแอพสโตร์ หลังจากเปิดแอปพลิเคชัน ให้กดเครื่องหมายบวกและในส่วนอินเทอร์เฟซ ให้ป้อนชื่อการเชื่อมต่อ รหัสส่วนตัว (รหัสสาธารณะจะถูกสร้างขึ้นโดยอัตโนมัติ) และหมายเลขโทรศัพท์พร้อมมาสก์ /32 ในส่วนเพียร์ ให้ระบุคีย์สาธารณะ VPS คู่ที่อยู่: พอร์ตเซิร์ฟเวอร์ VPN เป็นปลายทาง และกำหนดเส้นทางไปยัง VPN และเครือข่ายย่อยภายในบ้าน

ภาพหน้าจอตัวหนาจากโทรศัพท์
VPN ไปยัง LAN ที่บ้าน

คลิกที่ฟล็อปปี้ดิสก์ที่มุม เปิดขึ้นมาแล้ว...

ทำ

ตอนนี้คุณสามารถเข้าถึงการตรวจสอบบ้าน เปลี่ยนการตั้งค่าเราเตอร์ หรือทำอะไรก็ได้ที่ระดับ IP

ภาพหน้าจอจากพื้นที่ท้องถิ่น
VPN ไปยัง LAN ที่บ้าน

VPN ไปยัง LAN ที่บ้าน

VPN ไปยัง LAN ที่บ้าน

ที่มา: will.com

เพิ่มความคิดเห็น