Score:0

การใช้คอนเทนเนอร์กับไคลเอนต์ openvpn เพื่อกำหนดเส้นทางไคลเอนต์ lan อื่น

ธง nl

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

ฉันตั้งค่าคอนเทนเนอร์โดยใช้ macvlan ที่มีช่วง ip ของเครือข่ายท้องถิ่น สิทธิ์พิเศษและสิทธิ์ net_admin หลังจากหลายเดือนของการลองผิดลองถูก ฉันทำให้มันใช้งานได้เพียงครั้งเดียว จากนั้นเซิร์ฟเวอร์ของฉันก็หยุดทำงาน และฉันก็ลืมว่าฉันใส่ iptables อะไรไว้บนคอนเทนเนอร์เพื่อให้มันใช้งานได้ ฉันไม่ได้เขียนมันในสคริปต์จุดเริ่มต้นเพราะไม่มีเวลา และตอนนี้ฉันต้องจัดการกับเรื่องนี้อีกครั้ง

ทุกอย่างบนเซิร์ฟเวอร์ openvpn เครือข่ายและเซิร์ฟเวอร์ของบริษัทรู้วิธีกำหนดเส้นทางกลับทุก ip ของไคลเอ็นต์ VPN

สิ่งที่ฉันต้องทำตอนนี้คือกำหนดเส้นทางเครือข่ายท้องถิ่นของฉันผ่านไคลเอนต์ openvpn ภายในคอนเทนเนอร์

รายละเอียด:

  • เครือข่ายท้องถิ่น: 192.168.0.0/24
  • เกตเวย์ท้องถิ่น: 192.168.0.1
  • พีซี:192.168.0.17
  • โฮมเซิร์ฟเวอร์: 192.168.0.16
  • คอนเทนเนอร์: 192.168.0.242
  • ไคลเอ็นต์ OpenVPN: 10.1.2.4
  • เกตเวย์ OpenVPN: 10.1.2.1
  • ช่วงเซิร์ฟเวอร์ของบริษัท: 192.168.2-19.0/24

บนเซิร์ฟเวอร์ที่บ้านของฉัน (192.168.0.16) มันทำงานได้อย่างสมบูรณ์ ฉันต้องเพิ่มบางเส้นทางที่ชี้ไปที่คอนเทนเนอร์ IP เช่นนี้ เส้นทาง ip เพิ่ม 192.168.19.0/24 ผ่าน 192.168.0.242 แต่สิ่งที่ฉันไม่สามารถทำงานได้คือเครือข่ายท้องถิ่นที่เหลือ ในคอมพิวเตอร์ส่วนบุคคลของฉัน ฉันตั้งค่าเราเตอร์ให้ชี้ไปที่คอนเทนเนอร์ ip (192.168.0.242) สำหรับช่วงเซิร์ฟเวอร์ของบริษัทเหมือนกับที่ฉันทำบนเซิร์ฟเวอร์ของฉัน

หากฉันเรียกใช้ ping ไปยังรายการใดรายการหนึ่ง ฉันสามารถดูได้ด้วย tcpdump และ tshark ว่ามันกำลังถึงปลายทางในอีกด้านหนึ่ง (PC > Home Server > Container > VPN Client > VPN Server > Gateway > Server) สิ่งนี้ไปถึงปลายทางตามที่ตั้งใจไว้ แต่ เมื่อมันกลับไปที่พีซีของฉัน (เซิร์ฟเวอร์ > เกตเวย์ > เซิร์ฟเวอร์ VPN > ไคลเอนต์ VPN ) การตอบกลับ ping กลับมาและตายบนคอนเทนเนอร์ดังนั้นปัญหาที่ฉันต้องจัดการตอนนี้คือวิธีสร้างคอนเทนเนอร์หรือส่งต่อแพ็คเกจนั้นไปยังคอมพิวเตอร์ส่วนบุคคลของฉัน

ฉันรู้แน่นอนว่าเป็นเพียงกฎ iptables เท่านั้นที่ฉันต้องเพิ่มหรือลบภายในคอนเทนเนอร์

ที่จุดเริ่มต้นของฉัน ฉันมี iptables เหล่านี้ที่โหลดหลังจากไคลเอนต์ VPN แบบเปิดเริ่มทำงาน

iptables -t nat -A โพสต์ -o tun0 -j MASQUERADE
iptables -A FORWARD -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
iptables -A FORWARD -i tun0 -o eth0 -j ยอมรับ
iptables -A FORWARD -i eth0 -o tun0 -j ยอมรับ

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

โพสต์คำตอบ

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