ไคลเอนต์หลายตัวของเซิร์ฟเวอร์ openvpn จะค้นหากันได้อย่างไร


14

ฉันกำลังนำเซิร์ฟเวอร์ openvpn ที่จะรองรับลูกค้าหลายรายเข้าสู่ซับเน็ตส่วนตัว ดังนั้นในซับเน็ตส่วนตัวการเชื่อมต่อไคลเอนต์จะได้รับที่อยู่ IP เช่น 10.8.0.10, 10.8.0.11 เป็นต้น

หนึ่งในสิ่งอำนวยความสะดวกที่ฉันต้องการคือการให้ลูกค้าได้พบกัน มีวิธีที่ง่ายและเป็นที่ยอมรับโดยทั่วไปสำหรับลูกค้าที่จะดูรายการที่อยู่ IP ที่กำหนดให้กับลูกค้าทั้งหมดหรือไม่

ฉันไม่ต้องการชื่อ DNS หรืออะไรแบบนั้น


4
คุณพยายามทำอะไรให้สำเร็จ
MDMarra

@MDMarra ฉันต้องการให้ใครบางคนในสนามที่ไซต์ของผู้ใช้สามารถเริ่มต้นการเชื่อมต่อขาออกเพื่อให้ผู้ให้การสนับสนุนด้านเทคโนโลยีภายใน บริษัท ของเราสามารถเชื่อมต่อกับระบบนั้นได้
AlanObject

คำตอบ:


22

ในไฟล์กำหนดค่าเซิร์ฟเวอร์ OpenVPN ข้อกำหนดเบื้องต้นคือคำสั่งดังต่อไปนี้:

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
client-to-client

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

  • ค้นหาวิธีการกระจายหรือทำให้ openvpn-status.log ให้กับลูกค้าหรือไม่?
  • แจกจ่ายสคริปต์ ping หรือคล้ายกับไคลเอนต์บางทีทำการค้นหา DNS ย้อนกลับสำหรับทุกโฮสต์สด
  • ให้ไคลเอนต์ลงทะเบียน / ยกเลิกการลงทะเบียนตัวเองในฐานข้อมูลหรือไฟล์ที่กำหนดเองเมื่อเชื่อมต่อและมีกลไกในการจัดการบางอย่าง ทางเลือกนี้ดูเหมือนจะเป็นการสร้างนวัตกรรมใหม่ทั้งหมด แต่ไม่ต้องสงสัยเลยว่ามันจะเป็นวิธีที่สนุกในการใช้เวลาหนึ่งชั่วโมงซึ่งจะไม่เพิ่มอะไรให้กับโลกของไอทีในวงกว้าง

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

4

นี่คือลิงค์ดั้งเดิมที่สนับสนุนคุณสมบัติไคลเอนต์ OpenVPN 2.x ต่อไคลเอ็นต์:

https://openvpn.net/index.php/open-source/documentation/howto.html#scope

Uncomment คำสั่งนี้เพื่อให้ลูกค้าที่แตกต่างกันสามารถ "ดู" ซึ่งกันและกัน โดยค่าเริ่มต้นลูกค้าจะเห็นเฉพาะเซิร์ฟเวอร์ หากต้องการบังคับให้ไคลเอ็นต์เห็นเฉพาะเซิร์ฟเวอร์คุณจะต้องไฟร์วอลล์ไฟร์วอลล์ของอินเตอร์เฟส TUN / TAP อย่างเหมาะสม

;client-to-client

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

ถัดไปถามตัวเองว่าคุณต้องการอนุญาตการรับส่งข้อมูลเครือข่ายระหว่างเครือข่ายย่อยของ client2 (192.168.4.0/24) และไคลเอนต์อื่น ๆ ของเซิร์ฟเวอร์ OpenVPN หรือไม่ หากเป็นเช่นนั้นให้เพิ่มสิ่งต่อไปนี้ในไฟล์ config ของเซิร์ฟเวอร์

client-to-client
push "route 192.168.4.0 255.255.255.0"

สิ่งนี้จะทำให้เซิร์ฟเวอร์ OpenVPN โฆษณา subnet ของ client2 ไปยังไคลเอนต์ที่เชื่อมต่ออื่น ๆ

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