Score:0

OpenVPN: อนุญาตให้เข้าถึงเครือข่ายไคลเอ็นต์เฉพาะเท่านั้น

ธง ro

OpenVPN: จำกัดการเข้าถึงไคลเอ็นต์เฉพาะไคลเอนต์ปลายทาง ฉันมีไคลเอนต์ OpenVPN สองตัว (ovpn_dest1, ovpn_dest2) ซึ่งทำงานอย่างต่อเนื่องและมีเครือข่ายส่วนตัว (10.60.10.0/24 & 10.60.20.0/24) ซึ่งฉันต้องการเข้าถึงจากไคลเอนต์ Windows OpenVPN สองไคลเอนต์

อย่างไรก็ตาม ไคลเอ็นต์ Windows OpenVPN (ovpn_user1, ovpn_user2) ควรเข้าถึงได้เฉพาะเครือข่ายของตนเท่านั้น (10.60.10.0/24 หรือ 10.60.20.0/24)

เมื่อ ovpn_user1 เข้าถึง ovpn_dest1 (10.60.10.0/24) และ ovpn_user2 ควรเข้าถึงได้เฉพาะ ovpn_dest2 (10.60.20.0/24)

การตั้งค่าปัจจุบันใช้คำสั่งระหว่างไคลเอ็นต์กับไคลเอ็นต์ในไฟล์โฮสต์ OpenVPN server.conf ซึ่งจำเป็นเพื่อให้ไคลเอ็นต์ Windows พูดคุยกับ ovpn_dest1/2 และอุปกรณ์เครือข่าย (device1_1/device1_2/etc)

ขออภัย คำสั่งระหว่างไคลเอนต์กับไคลเอ็นต์หมายความว่าไคลเอนต์ Windows สามารถเข้าถึงไคลเอนต์ ovpn_dest1/2 ทั้งหมดซึ่งไม่ต้องการจากมุมมองด้านความปลอดภัย

การกำหนดเครือข่ายและ IP:

ovpn_dest1 - 10.60.10.2
  อุปกรณ์ 1_1 - 10.60.10.3
  อุปกรณ์ 1_2 - 10.60.10.4
ovpn_dest2 - 10.60.20.2
  อุปกรณ์ 2_1 - 10.60.20.3

ovpn_user1 - 10.60.10.0/24
ovpn_user2 - 10.60.20.0/24

/etc/openvpn/server/server.conf:

ท้องถิ่น 188.166.226.159
พอร์ต 1194
โปรโตคอล udp
การพัฒนา tun0
แคลิฟอร์เนีย ca.crt
ใบรับรอง server.crt
คีย์เซิร์ฟเวอร์.คีย์
dh dh.pem
รับรองความถูกต้อง SHA512
tls-crypt tc.key
ซับเน็ตโทโพโลยี
เซิร์ฟเวอร์ 10.8.0.0 255.255.255.0
กด "เปลี่ยนเส้นทางเกตเวย์ def1 บายพาส-dhcp"
ifconfig-pool-persist ipp.txt
กด "dhcp-option DNS 67.207.67.3"
กด "dhcp-option DNS 67.207.67.2"
รักษาชีวิต 10 120
รหัส AES-256-CBC
ผู้ใช้ไม่มีใคร
กลุ่มโนกรุ๊ป
คีย์คงอยู่
คงอยู่-tun
กริยา 3
crl-ตรวจสอบ crl.pem
แจ้งออกอย่างชัดเจน
บันทึกต่อท้าย /var/log/openvpn.log

ลูกค้าต่อลูกค้า
ไคลเอ็นต์-config-dir ccd

/etc/openvpn/server/ccd/ovpn_dest1

เส้นทาง 10.60.10.0 255.255.255.0
เส้นทาง 10.60.10.0 255.255.255.0
กด "เส้นทาง 10.60.10.0 255.255.255.0"

/etc/openvpn/server/ccd/ovpn_dest2

เส้นทาง 10.60.20.0 255.255.255.0
เส้นทาง 10.60.20.0 255.255.255.0
กด "เส้นทาง 10.60.20.0 255.255.255.0"

ฉันยังสามารถเชื่อมต่อกับอุปกรณ์ต่อไปนี้ทั้งหมดจากไคลเอนต์ Windows OpenVPN (ovpn_user1/ovpn_user2):

http://10.8.0.2/ (ovpn_dest1)
http://10.8.0.3/ (ovpn_dest2)
http://10.60.10.2/ (ovpn_dest1)
http://10.60.20.2/ (ovpn_dest2)
10.60.10.3 (อุปกรณ์ 1_1)

อย่างไรก็ตาม ฉันต้องการจำกัดการเข้าถึงสำหรับไคลเอนต์ windows เพื่อให้ไคลเอ็นต์ที่กำหนดสามารถเข้าถึงเครือข่าย ovpn_destN เฉพาะของมันเท่านั้น

ฉันได้ลองใช้ iptables แต่ฉันไม่ใช่ผู้เชี่ยวชาญในเรื่องนี้ และดูเหมือนว่าคำสั่งไคลเอนต์ถึงไคลเอนต์ในไฟล์ server.conf จะแทนที่ทุกสิ่งที่พยายามใน iptables เพื่อบล็อกเส้นทางระหว่างต้นทางและปลายทางได้อย่างมีประสิทธิภาพ (คำสั่ง "ไคลเอนต์กับไคลเอนต์เครือข่ายจะทำภายใน OpenVPN โดยไม่ต้องไปถึงชั้นโฮสต์") ดูเหมือนว่าฉันอาจต้องลบ "client-to-client" ออกจาก server.conf เพื่อจำกัดการเชื่อมต่อ แต่ฉันไม่สามารถสื่อสารได้เมื่อบรรทัดนี้ถูกลบ

ฉันได้พิจารณาใช้อินสแตนซ์ OpenVPN หลายอินสแตนซ์ (หนึ่งอินสแตนซ์สำหรับแต่ละชุดของ ovpn_destN, ovpn_userN) อย่างไรก็ตาม ด้วยอินสแตนซ์หลายสิบนี้อาจไม่เหมาะ แม้ว่าจะไม่สามารถเข้าถึงเครือข่ายหลายเครือข่ายพร้อมกันได้บ่อยนัก

อะไร (และอย่างไร) เป็นวิธีที่ดีที่สุดในการจำกัดไคลเอ็นต์ Windows ให้อยู่ในเครือข่ายปลายทางเฉพาะ

us flag
ลูกค้าจะได้รับที่อยู่ IP ได้อย่างไร
vbscript avatar
ro flag
@TeroKilkanen ขออภัย ไม่ค่อยแน่ใจว่าคุณหมายถึงอะไร ฉันมีไฟล์ ipp.txt ซึ่งจะถูกเติมโดยอัตโนมัติเมื่อลูกค้าใหม่เข้าร่วม แต่ฉันคิดว่ามันไม่เกี่ยวข้องจริงๆ
Score:0
ธง us

เนื่องจากการกำหนดค่าของคุณประกอบด้วย กด "เปลี่ยนเส้นทางเกตเวย์ def1 บายพาส-dhcp"หมายความว่าไคลเอนต์ OpenVPN จะตั้งค่าเกตเวย์เริ่มต้นเป็นที่อยู่ของเซิร์ฟเวอร์ OpenVPN

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

ขั้นแรก ตรวจสอบให้แน่ใจว่าไคลเอนต์ของคุณได้รับการกำหนดที่อยู่ IP แบบคงที่ เพิ่มบรรทัดต่อไปนี้ใน ovpn_dest1 ไฟล์ในเซิร์ฟเวอร์ ซีซีดี ไดเรกทอรีสำหรับลูกค้า:

ifconfig-push 10.8.0.2 255.255.255.0

และตามลำดับไป ovpn_dest2:

ifconfig-push 10.8.0.3 255.255.255.0

จากนั้นกำหนดค่าไฟร์วอลล์บนเซิร์ฟเวอร์ OpenVPN ดังนี้:

iptables -I FORWARD -s 10.8.0.2 -d 10.60.20.2 -j DROP
iptables -I FORWARD -s 10.8.0.3 -d 10.60.10.2 -j DROP

อันแรกบล็อกการรับส่งข้อมูลจากลูกค้า 1 ไปยังปลายทาง 2 และอันที่สองจากไคลเอ็นต์ 2 ไปยังปลายทาง 1

vbscript avatar
ro flag
ขออภัยในความสับสน แต่คุณกำลังบอกให้เพิ่ม `ifconfig-push 10.8.0.2 255.255.255.0` ในไฟล์คอนฟิกูเรชัน .ovpn ของไคลเอนต์หรือในไฟล์ server.conf ของเซิร์ฟเวอร์ นอกจากนี้ ควรลบบรรทัด "client-to-client" ออกจากไฟล์ server.conf เนื่องจากจะทำให้กฎ iptable ไม่มีผล
vbscript avatar
ro flag
เพื่อชี้แจง ovpn_user1 และ ovpn_user2 เป็นผู้ใช้ Windows ซึ่งควรเข้าถึงเครือข่าย 10.60.10.0/24 และ 10.60.20.0/24 ตามลำดับ
us flag
ควรเพิ่มบรรทัดเหล่านี้ในฝั่งเซิร์ฟเวอร์ไปยังไฟล์ในไดเร็กทอรี `ccd` ดังนั้นจึงเป็นการกำหนดค่าเฉพาะไคลเอ็นต์
vbscript avatar
ro flag
คำสั่ง `push "redirect-gateway def1 bypass-dhcp" และ `client-to-client` ยังคงอยู่ หรือควรลบออกทั้งคู่?
us flag
การพุชเกตเวย์เริ่มต้นควรถูกลบออกอย่างน้อย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา