วิธีกำหนดค่าเราเตอร์ไคลเอนต์ OpenVPN


13

ฉันกำลังพยายามตั้งค่า OpenVPN Router เพื่อให้ฉันสามารถเชื่อมต่อแท็บเล็ต (ไร้สาย) และ Blu-Ray (ต่อสาย) เข้ากับบริการ VPN แบบชำระเงินในประเทศอื่นบน Ubuntu 12.10 ฉันทำสิ่งนี้สำเร็จโดยใช้ DD-WRT (ช้าเกินไป) และอินสแตนซ์เสมือนของ PFSense (จำกัด มากเกินไป)

ฉันยังใหม่กับ Linux แต่ฉันเสร็จสมบูรณ์ 90% กับโครงการนี้ ฮาร์ดแวร์คือพอร์ตอีเธอร์เน็ตแบบมีสาย 2 พอร์ตซึ่งหนึ่งในนั้นเชื่อมต่อกับเราเตอร์แบบดั้งเดิมที่บ้านและการ์ดไร้สาย

จนถึงตอนนี้ฉันมี ..

  1. ตั้งค่าไร้สายของฉันเพื่อทำหน้าที่เป็นจุดเข้าถึงหลักอย่างแท้จริงโดยใช้ hostapd
  2. สร้างบริดจ์ (ฉันคิดว่า) ระหว่าง Wireless และ Local LAN
  3. ตั้งค่าเซิร์ฟเวอร์ DHCP ที่กำหนดที่อยู่ให้กับบริดจ์ได้สำเร็จ - ทั้งแบบไร้สายและแบบใช้สายกำลังรับที่อยู่เหล่านั้น
  4. ตั้งค่า OpenVPN เพื่อให้สามารถสร้างการเชื่อมต่อแบบช่องสัญญาณเมื่อบูตได้สำเร็จ

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

คำถาม / เป้าหมายของฉัน:

ฉันจะกำหนดค่าการกำหนดเส้นทางเพื่อให้ OpenVPN ควบคุมการรับส่งข้อมูลจากบริดจ์ของฉันเท่านั้น (อุปกรณ์ภายใต้ 192.168.10.x) ผ่านอุโมงค์ VPN และไม่รับส่งข้อมูลจากคอมพิวเตอร์ Ubuntu จริงได้อย่างไร

OpenVPN ตั้งค่าบางเส้นทางโดยอัตโนมัติ แต่ดูเหมือนว่าจะไม่สนใจบริดจ์ที่ฉันตั้งค่า

ฉันได้อ่านเอกสารจำนวนมากiptablesแล้วrouteแต่มันก็ไม่สมเหตุสมผลสำหรับฉัน แม้จะมีบทเรียนหลายบท แต่ฉันก็ยังไม่เข้าใจวิธีการอ่านผลลัพธ์จากrouteคำสั่ง ฉันยังสงสัยว่าสิ่งนี้สามารถทำได้ด้วยroute-noexecและroute-upในไฟล์กำหนดค่า OpenVPN แต่ไม่มีอะไรประสบความสำเร็จ

ฉันรู้ว่าไฟล์การตั้งค่าและการตั้งค่า จำกัด อยู่ที่ไหน งานด้านบนทำให้ฉันต้องซ่อมอย่างน้อย 30 ชั่วโมงดังนั้นโปรดไปกับฉัน :)

ขอบคุณ!

แก้ไข

ฉันโพสต์โซลูชันด้านล่างที่ควบคุมการรับส่งข้อมูลบริดจ์ แต่ไม่ได้ป้องกันการรับส่งข้อมูลในคอมพิวเตอร์ Ubuntu จากการใช้งาน VPN

คำตอบ:


1

ฉันไม่แน่ใจว่านี่เป็นอุดมคติ แต่อย่างน้อยก็ใช้งานได้ ในโลกที่สมบูรณ์แบบการจราจรบนคอมพิวเตอร์ Ubuntu จะไม่ผ่านเส้นทาง VPN - เฉพาะอุปกรณ์ที่เชื่อมต่อกับคอมพิวเตอร์ Ubuntu ต่อไปนี่คือวิธีแก้ปัญหา ..

ในส่วนของopenvpn.confไฟล์

script-security 2
up "/path/to/external/script.sh"

ในส่วนของ/path/to/external/script.shไฟล์

iptables -A FORWARD -o tun0 -i br0 -s 192.168.10.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

ในข้างต้นtun0เป็นอุโมงค์ที่สร้างขึ้นโดย OpenVPN br0เป็นสะพานเชื่อมระหว่าง LAN ไร้สายในพื้นที่ของฉันกับ Local LAN และ192.168.10.0/24เป็น subnet / DHCP pool สำหรับ LAN ในพื้นที่ของฉัน

ฉันไม่รู้ว่าสคริปต์นั้นทำอะไร แต่ฉันทำแบบเดียวกันกับบางไซต์ใน Internet Connection Sharing

ฉันจะปล่อยให้คำตอบนี้ไม่ได้รับการตรวจสอบในกรณีที่ทุกคนต้องการที่จะให้ดีขึ้นหรืออธิบายวิธีการป้องกันการจราจรบนคอมพิวเตอร์ Ubuntu ผ่าน VPN


0

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

ในการอนุญาตให้อุปกรณ์ที่เชื่อมต่อกับพีซีของคุณสามารถเข้าถึงอินเทอร์เน็ตคุณต้องทำการแบ่งปันอินเทอร์เน็ตจากพีซีเครื่องนั้นกับผู้อื่น


ง่ายกว่าใช่ แต่ฉันทำไปแล้วและมันช้าเกินไป
jbrookover
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.