ในคอนเทนเนอร์ LXC ฉันได้ติดตั้ง Wireguard และไคลเอนต์เชื่อมต่อตามปกติ และฉันเห็นพอร์ตและข้อมูล แต่เมื่อฉันพยายามขดเป็น localhost (127.0.0.1) หรือไปยัง local ip (192.168.1.180) มันไม่ได้เชื่อมต่อ .
192.168.1.180 (ไอพีโฮสต์)
10.7.0.2 (ไอพี)
10.7.0.2:6060 <-> 192.168.1.180:6060
ขด -I 10.7.0.2:6060
-แก้ไขตกลง--
ขด -I 127.0.1:6060 (หรือ) ขด -I 192.168.1.180:6060
ตอบกลับไม่ได้
กฎ IPtables ของฉัน:
iptables -A ไปข้างหน้า -i eth0 -j ยอมรับ;
iptables -t nat -A PREROUTING -p tcp --dport 6060:6060 -j DNAT --to-destination 10.7.0.2;
iptables -w -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
IPv4 Forward ทำงานอยู่:
#sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
การกำหนดค่า Wireguard ของเซิร์ฟเวอร์:
root@wiretest:/etc/wireguard# cat wg0.conf
#ห้ามแก้ไขข้อความในคอมเม้น
# ใช้โดย wireguard-install
# จุดสิ้นสุด asd.demo.net
[อินเตอร์เฟซ]
ที่อยู่ = 10.7.0.1/24
คีย์ส่วนตัว = CI0heA/1InAo........
ListenPort = 51820
# BEGIN_PEER nodotest
[เพียร์]
PublicKey = y1t+k9cR06F7/y6ANJtEx.......
PresharedKey = +Tya8VsxbB3i9hkIRf......
IP ที่อนุญาต = 10.7.0.2/32
# END_PEER nodotest
root@wiretest:/etc/wireguard#
การกำหนดค่าไคลเอนต์:
root@wiredocker:/etc/wireguard# cat wg0.conf
[อินเตอร์เฟซ]
ที่อยู่ = 10.0.0.2/24
DNS = 8.8.8.8
คีย์ส่วนตัว = +GLTuJnydedy2QMvTj5SGdr......
[เพียร์]
PublicKey = qlNPgT7Fwbjmexq09EVF........
PresharedKey = +Tya8VsxbB3i9hkIR......
IP ที่อนุญาต = 0.0.0.0/0, ::/0
ปลายทาง = asd.demo.net:51820
PersistentKeepalive = 25
root@wiredocker:/etc/wireguard#
รายการเซิร์ฟเวอร์ IPTables:
# iptables -L
เชนอินพุท (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ยอมรับ udp -- ทุกที่ ทุกแห่ง udp dpt:51823
ส่งต่อไปข้างหน้า (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ยอมรับทั้งหมด - ทุกที่ ทุกรัฐ ที่เกี่ยวข้อง ก่อตั้ง
ยอมรับทั้งหมด -- 10.7.0.0/24 ทุกที่
Chain OUTPUT (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ขอบคุณ !