ฉันกำลังพยายามเชื่อมต่อพอร์ตจากไคลเอ็นต์ wireguard กับเครือข่ายโฮสต์ของเซิร์ฟเวอร์
ฉันพยายามทำด้วย IPtables แต่ฉันได้รับคำตอบว่า "ไม่สามารถเข้าถึงได้" เสมอ
ดูเหมือนว่าการกำหนดค่าของฉันอาจเป็นปัญหา?
ขอบคุณ!
ทดสอบการเชื่อมต่อ
root@wiretest3:~# curl -I 10.7.0.2:6060
HTTP/1.1 200 ตกลง
เซิร์ฟเวอร์: nginx/1.20.1
วันที่: อาทิตย์ 18 กรกฎาคม 2564 10:37:38 GMT
ประเภทเนื้อหา: text/html
ความยาวเนื้อหา: 988
Last-Modified: วันเสาร์ที่ 17 กรกฎาคม 2021 10:07:05 GMT
การเชื่อมต่อ: มีชีวิตอยู่
ETag: "60f2abc9-3dc"
ยอมรับช่วง: ไบต์
root@wiretest3:~# ขด -I 192.168.1.180:6060
curl: (28) ไม่สามารถเชื่อมต่อกับพอร์ต 192.168.1.180 6060: การเชื่อมต่อหมดเวลา
root@wiretest3:~# curl -I 127.0.0.1:6060
curl: (7) ไม่สามารถเชื่อมต่อกับพอร์ต 127.0.0.1 6060: การเชื่อมต่อถูกปฏิเสธ
การกำหนดค่าเซิร์ฟเวอร์:
โฮสต์: 192.168.1.183
เครือข่ายไวร์การ์ด: 10.7.0.1
root@wiretest3:~# cat /etc/wireguard/wg0.conf
#ห้ามแก้ไขข้อความในคอมเม้น
# ใช้โดย wireguard-install
# จุดสิ้นสุด wireguard.demo.net
[อินเตอร์เฟซ]
ที่อยู่ = 10.7.0.1/24
คีย์ส่วนตัว = QAOETAJYMK3PcDhN/y+xFJKcJetm4...........
ListenPort = 51823
# ลูกค้า BEGIN_PEER
[เพียร์]
PublicKey = YxM7cwbmBm7VIyNcRdDBhtiEwFWL........
PresharedKey = W9Y0qCku0Fv1uFiMpy5ImStbs+.........
IP ที่อนุญาต = 10.7.0.2/32, 192.168.1.183/32
# ลูกค้า END_PEER
ไอพี
root@wiretest3:~# ip
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1,000
ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 ขอบเขตโฮสต์เลย
valid_lft ตลอดไป reserved_lft ตลอดไป
inet6 ::1/128 ขอบเขตโฮสต์
valid_lft ตลอดไป reserved_lft ตลอดไป
2: eth0@if47: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ 2e:f5:1e:38:32:06 brd ff:ff:ff:ff:ff:ff ลิงค์-netnsid 0
inet 192.168.1.183/24 brd 192.168.1.255 ขอบเขต global eth0
valid_lft ตลอดไป reserved_lft ตลอดไป
inet6 fe80::2cf5:1eff:fe38:3206/64 ลิงค์ขอบเขต
valid_lft ตลอดไป reserved_lft ตลอดไป
3: wg0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1420 qdisc mq state UNKNOWN กลุ่มเริ่มต้น qlen 500
ลิงค์/ไม่มี
inet 10.7.0.1/24 ขอบเขต global wg0
valid_lft ตลอดไป reserved_lft ตลอดไป
inet6 fe80::6613:2cc4:bb7d:6bd4/64 ลิงค์ขอบเขตความเสถียร - ความเป็นส่วนตัว
valid_lft ตลอดไป reserved_lft ตลอดไป
กฎ IPtables:
iptables -P ส่งต่อ DROP;
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;
IPtables: (บันทึก iptables)
root@wiretest3:~# iptables-save
# สร้างโดย iptables-save v1.8.7 เมื่ออา. 18 ก.ค. 13:17:28 น. 2564
*กรอง
: ยอมรับอินพุต [0:0]
:ทิ้งไปข้างหน้า [0:0]
:เอาต์พุตยอมรับ [0:0]
-อินพุต -p udp -m udp --dport 51823 -j ยอมรับ
-A FORWARD -m state --สถานะที่เกี่ยวข้อง,ESTABLISHED -j ยอมรับ
-A FORWARD -s 10.7.0.0/24 -j ยอมรับ
-A ส่งต่อ -i eth0 -j ยอมรับ
ให้สัญญา
# เสร็จสิ้นเมื่อ อา. 18 ก.ค. 13:17:28 น. 2564
# สร้างโดย iptables-save v1.8.7 เมื่ออา. 18 ก.ค. 13:17:28 น. 2564
*แนท
: ยอมรับ [0:0]
: ยอมรับอินพุต [0:0]
:เอาต์พุตยอมรับ [0:0]
:หลังยอมรับ [0:0]
-A PREROUTING -p tcp -m tcp --dport 6060 -j DNAT --to-ปลายทาง 10.7.0.2
-A Postrouting -s 10.7.0.0/24 ! -d 10.7.0.0/24 -j SNAT --to-แหล่งที่มา 192.168.1.183
-A โพสต์ -o eth0 -j MASQUERADE
ให้สัญญา
# เสร็จสิ้นเมื่อ อา. 18 ก.ค. 13:17:28 น. 2564
รูท@wiretest3:~#
IPtables: iptables -L -n -t แนท (ตอนนี้)
root@wiretest3:~# sudo iptables -L -n -t แนท
ห่วงโซ่ PREROUTING (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6060 ถึง:10.7.0.2
เชนอินพุท (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
Chain OUTPUT (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ห่วงโซ่โพสต์ (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
SNAT ทั้งหมด -- 10.7.0.0/24 !10.7.0.0/24 ถึง:192.168.1.183
สวมหน้ากากทั้งหมด -- 0.0.0.0/0 0.0.0.0/0
การกำหนดค่าไคลเอนต์:
root@wiredocker:/etc/wireguard# cat /etc/wireguard/wg0.conf
[อินเตอร์เฟซ]
ที่อยู่ = 10.7.0.2/24
DNS = 8.8.8.8, 8.8.4.4
คีย์ส่วนตัว = GAF31cqwu2YSWQPdiSvlWie2Pma.........
[เพียร์]
PublicKey = 3VMnaI8JvoXZ6DthLcDy5MnVmNq..............
PresharedKey = W9Y0qCku0Fv1uFiMpy5ImStbs+...............
AllowedIPs = 0.0.0.0/0, ::/0, 192.168.1.0/24
ปลายทาง = wireguard.demo.net:51823
PersistentKeepalive = 25
ไอพี
root@wiredocker:/etc/wireguard# ip
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1,000
ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 ขอบเขตโฮสต์เลย
valid_lft ตลอดไป reserved_lft ตลอดไป
inet6 ::1/128 ขอบเขตโฮสต์
valid_lft ตลอดไป reserved_lft ตลอดไป
2: eth0@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ 76:d3:5b:64:b4:f0 brd ff:ff:ff:ff:ff:ff ลิงค์-netnsid 0
inet 192.168.178.178/24 brd 192.168.178.255 ขอบเขต global eth0
valid_lft ตลอดไป reserved_lft ตลอดไป
ลิงค์ขอบเขต inet6 fe80::74d3:5bff:fe64:b4f0/64
valid_lft ตลอดไป reserved_lft ตลอดไป
4: นักเทียบท่า 0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue สถานะเริ่มต้นของกลุ่ม UP
ลิงค์/อีเธอร์ 02:42:bb:9b:28:90 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 ขอบเขต global docker0
valid_lft ตลอดไป reserved_lft ตลอดไป
inet6 fe80::42:bbff:fe9b:2890/64 ลิงค์ขอบเขต
valid_lft ตลอดไป reserved_lft ตลอดไป
10: veth508c767@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 สถานะกลุ่ม UP เริ่มต้น
ลิงค์/อีเธอร์ ea:cd:96:6e:33:0b brd ff:ff:ff:ff:ff:ff link-netnsid 1
ลิงค์ขอบเขต inet6 fe80::e8cd:96ff:fe6e:330b/64
valid_lft ตลอดไป reserved_lft ตลอดไป
15: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1000
ลิงค์/ไม่มี
inet 10.7.0.2/24 ขอบเขต global wg0
valid_lft ตลอดไป reserved_lft ตลอดไป