- มีวิธีใดบ้างที่จะแสดง IP ต้นทางเป็น 10.8.0.2 (IP ไคลเอ็นต์ wireguard)
คุณอาจมีกฎ iptables ทำงานในคอนเทนเนอร์ที่มีลักษณะดังนี้:
iptables -t nat -A โพสต์ -o eth0 -j MASQUERADE
นั่นคือสิ่งที่กำลังเปลี่ยน IP ต้นทางของการเชื่อมต่อที่ส่งต่อผ่านคอนเทนเนอร์ WireGuard ด้วยแนวทางปัจจุบันของคุณ เพื่อหลีกเลี่ยงการใช้กฎนี้ คุณจะต้องปรับการกำหนดเส้นทางในแต่ละคอนเทนเนอร์อื่นๆ เพื่อใช้คอนเทนเนอร์ WireGuard เป็นเกตเวย์ไปยังไคลเอ็นต์ WireGuard ระยะไกล
- สิ่งนี้กำหนดความเสี่ยงด้านความปลอดภัยหรือไม่?
ไคลเอนต์ WireGuard ระยะไกลสามารถเข้าถึงบริการเครือข่ายใด ๆ ที่คอนเทนเนอร์ WireGuard สามารถเข้าถึงได้
- มีวิธีที่ดีกว่าในการทำเช่นนี้หรือไม่?
ทางเลือกที่ง่ายที่สุดคือการเปิดใช้งานคอนเทนเนอร์อื่นในเนมสเปซเครือข่ายของคอนเทนเนอร์ WireGuard ดังต่อไปนี้:
ขั้นแรก ให้เรียกใช้คอนเทนเนอร์ WireGuard ด้วยชื่อ เช่น my-wg-คอนเทนเนอร์
:
sudo docker ทำงาน \
--cap-เพิ่ม NET_ADMIN \
--ชื่อ my-wg-คอนเทนเนอร์ \
--เผยแพร่ 51820:51820/udp \
--rm \
--volume /srv/my-wg-container/conf:/etc/wireguard \
procustodibus/wireguard
จากนั้น เปิดใช้คอนเทนเนอร์อื่นในเนมสเปซเครือข่ายของคอนเทนเนอร์ WireGuard ด้วยไฟล์ --เครือข่ายคอนเทนเนอร์: my-wg-container
ตัวเลือก:
sudo docker ทำงาน \
--ชื่อเว็บเซิร์ฟเวอร์ของฉัน \
--เครือข่ายคอนเทนเนอร์:my-wg-container \
--rm \
จิงซ์
หากใช้คอนเทนเนอร์ WireGuard 10.8.0.1
สำหรับที่อยู่ของอินเทอร์เฟซ WireGuard (เช่นในตัวอย่างของคุณ) คุณสามารถเข้าถึงเว็บเซิร์ฟเวอร์ที่ทำงานใน เว็บเซิร์ฟเวอร์ของฉัน
ตู้คอนเทนเนอร์ ที่ http://10.8.0.1/
จากไคลเอนต์ WireGuard ระยะไกล ดู ใช้สำหรับเครือข่ายคอนเทนเนอร์ ส่วนนี้ คู่มือคอนเทนเนอร์ WireGuard สำหรับตัวอย่างที่สมบูรณ์
ด้วยวิธีนี้ คุณไม่ต้องทำอะไรเป็นพิเศษกับคอนเทนเนอร์อื่น (นอกเหนือจากการแนบกับคอนเทนเนอร์ WireGuard) และไคลเอนต์ WireGuard ระยะไกลสามารถเข้าถึงบริการในคอนเทนเนอร์ที่แนบมาเท่านั้น (แทนที่จะเป็นบริการเครือข่ายอื่น ๆ ที่เข้าถึงได้ คอนเทนเนอร์ WireGuard)