วิธีปฏิเสธเส้นทางที่ PUSHed โดยเซิร์ฟเวอร์ OpenVPN ทำอย่างไร


27

เมื่อฉันสร้างการเชื่อมต่อไคลเอนต์ OpenVPN ผ่านอินเทอร์เน็ตไปยังเซิร์ฟเวอร์ OpenVPN ของ บริษัท ของเรามันจะผลักดันเส้นทางคงที่หลาย ๆ เส้นทาง น่าเสียดายที่เส้นทางเหล่านี้หยุดการเชื่อมต่อบางอย่างภายในสภาพแวดล้อมเครือข่ายท้องถิ่นของฉันเนื่องจากเส้นทางเหล่านั้นชนกับเส้นทางของฉันเอง ฉันจะปฏิเสธเส้นทางเหล่านั้นได้อย่างไร

คำตอบ:


30

มีการย้ายครั้งและในปี 2560 (OpenVPN 2.4) เป็นไปได้ด้วย

pull-filter accept "route 192.168."
pull-filter ignore "route 172."
pull-filter accept "route 1"
pull-filter ignore "route "

(ตัวอย่างที่วางแผนไว้) นี้จะอนุญาตให้เรียนรู้เส้นทางที่เริ่มต้นด้วย 192.168 โดยไม่สนใจเส้นทางทั้งหมด 172. อนุญาตเส้นทางอื่น ๆ ไปที่ 1. ทุกอย่างจากนั้นข้ามเส้นทางอื่น ๆ ทั้งหมด

หากต้องการเพิกเฉยredirect-gatewayคุณสามารถ:

pull-filter ignore redirect-gateway

คำสั่งเหล่านี้จะถูกเพิ่มลงในไฟล์ปรับแต่งไคลเอ็นต์ของคุณ

ในทำนองเดียวกันคุณสามารถใช้คำหลักrejectที่บอกเซิร์ฟเวอร์ VPN ว่ามันไม่ได้รับการยอมรับ ไม่แน่ใจเรื่องการใช้งานนี้

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


3
หมายเหตุทำงานได้เฉพาะใน OpenVPN 2.4.x
ab77

ทำงานบน OpenVPN 2.4.7 โดยใช้ OpenVPN GUI 11.13.0 บน Windows 10 เพื่อแก้ไขข้อขัดแย้งของซับเน็ตระหว่างเซิร์ฟเวอร์ OpenVPN Access สองเครื่องโดยใช้การกำหนดค่าเริ่มต้นที่ฉันต้องการในเวลาเดียวกัน ขอขอบคุณที่แจ้งชิ้นสุดท้ายเพื่อให้ใช้งานได้!
flickerfly

24

หลังจากศึกษาopenvpnคู่มืออย่างละเอียดฉันพบคำตอบสำหรับคำถามของฉัน:

ฉันไม่ต้องการเส้นทางที่จะดำเนินการโดยอัตโนมัติ แต่เครื่องมือของคุณจะจัดการโดยใช้ตัวเลือกต่อไปนี้:

   --route-noexec
          Don't add or remove routes automatically.  Instead pass routes to --route-up script using environmental variables.

หากคุณยอมรับทุกสิ่งที่เซิร์ฟเวอร์ผลักดันยกเว้นเส้นทางให้ใช้ตัวเลือกต่อไปนี้:

  --route-nopull
          When used with --client or --pull, accept options pushed by server EXCEPT for routes.
          When used on the client, this option effectively bars the server from adding routes to the client's routing table, however note that
          this option still allows the server to set the TCP/IP properties of the client's TUN/TAP interface.

2
fyi คุณสามารถใช้route-nopullในไฟล์. opvn config: stackoverflow.com/questions/35698215/…
knocte

1

คุณไม่สามารถปฏิเสธเส้นทางแต่ละเส้นทางได้อย่างไรก็ตามหากคุณมีสิทธิ์เข้าถึงเพื่อแก้ไขการกำหนดค่า OpenVPN ของคุณคุณสามารถหยุดการทำงานเซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพ--pushโดยการลบอินสแตนซ์ทั้งหมดของclientหรือpullออกจากการกำหนดค่าของคุณ คุณจะต้องแทนเพื่อเพิ่มtls-clientถ้าสั่งนี้ไม่ได้มีอยู่แล้วในการกำหนดค่าของคุณ ( clientเป็นเพียงคำพ้องความหมายสำหรับpull, tls-client)

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


เฮ้ไมค์และวิธีกำหนดค่าเส้นทางไปยังเครือข่ายย่อยที่ฉันสนใจด้วยตนเองได้อย่างไร (10.0.0._) มีวิธีใดในการกำหนดค่านี้ในไฟล์. opvn
knocte

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