ฉันหวังว่าคุณจะสามารถช่วยฉันแก้ปัญหาของฉันได้ ฉันกำลังสร้างเครือข่ายสำหรับการใช้งานส่วนตัว และพบปัญหาบางอย่าง ฉันไม่มีประสบการณ์เกี่ยวกับเครือข่าย ฉันจะอธิบายโดยใช้รูปภาพที่แนบมา:
แผนภาพโครงสร้างพื้นฐานเครือข่าย
ปัญหา:
ฉันไม่สามารถเข้าถึงอุปกรณ์บนเครือข่ายท้องถิ่นโดยใช้ Wireguard และเราเตอร์ VPN ที่ใช้ Raspberry ซึ่งมีบริการภายในเครือข่ายท้องถิ่น (กล้อง เว็บเซิร์ฟเวอร์ส่วนตัว ฐานข้อมูล)
เป้าหมาย:
เข้าถึงอุปกรณ์และบริการจากเซิร์ฟเวอร์ระยะไกลและไคลเอนต์ ฉันค้นหาและเปลี่ยนการกำหนดค่าแล้วแต่ไม่ได้ผล บางครั้งจาก 10.6.0.1 ฉันสามารถเข้าถึง IP 172.16.0.1 และนั่นคือทั้งหมด
คำอธิบายของโครงสร้างพื้นฐาน:
เซิร์ฟเวอร์ Wireguard (a) ตั้งอยู่บนอินสแตนซ์ของ Oracle ตามที่แสดงในภาพ และมีคุณสมบัติดังต่อไปนี้:
IP สาธารณะ 158.43.56.3 (ตัวอย่าง IP)
IP ภายใน 10.0.0.183 บนอินเทอร์เฟซ ens3
เซิร์ฟเวอร์ Wireguard IP 10.6.0.1 ผ่านอินเทอร์เฟซ wg0
พอร์ตไวร์การ์ด 51820
Wireward ติดตั้งผ่าน pivpn
ในเครือข่ายท้องถิ่น โมเด็มให้เครือข่าย 192.168.100.XX (wifi หรืออีเธอร์เน็ต)
ในเครือข่ายที่ให้บริการโมเด็มนั้นจะมี Raspberry Pi 4 (b) ที่มี Ubuntu 20.04 ทำงานเป็นเราเตอร์แบบใช้สายที่มีคุณสมบัติดังต่อไปนี้:
- IP ท้องถิ่น 192.168.100.182 ผ่านอินเทอร์เฟซ eth0
- IP Wireguard เป็น Peer 10.6.0.5 ผ่านอินเทอร์เฟซ wg0
- เครือข่ายย่อยภายใน IP 172.16.0.1 ผ่านอินเทอร์เฟซ eth1 (อะแดปเตอร์ usb-ethernet)
- เซิร์ฟเวอร์ DHCP บนอินเทอร์เฟซ eth1
สวิตช์เชื่อมต่อกับอินเทอร์เฟซ eth1
อุปกรณ์ต่างๆ (เซิร์ฟเวอร์, กล้อง IP, DVR) เชื่อมต่อกับสวิตช์และ DHCP ให้ IP ที่มีรูปแบบ 172.16.0.XX โดยมีช่วงระหว่าง 172.16.0.10 ถึง 172.16.0.200 (b.a, b.b, b.c เป็นต้น)
อุปกรณ์บนเครือข่ายอื่นที่เชื่อมต่อกับ VPN (เช่น 10.6.0.3)
การตั้งค่าปัจจุบันของฉันเป็นดังนี้ (อย่างที่คุณเห็น ฉันได้ลองแล้ว):
เซิร์ฟเวอร์ไวร์การ์ด:
[อินเตอร์เฟซ]
คีย์ส่วนตัว = yL743NyU0M1z7guWxA9kekW7DAOXzO8EDfkAaG+jSGQ=
ที่อยู่ = 10.6.0.1/24
มทร. = 1420
ListenPort = 51820
PostUp = iptables -A ส่งต่อ -i wg0 -j ยอมรับ;
PostUp = iptables -A ไปข้างหน้า -o wg0 -j ยอมรับ;
PostUp = iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostUp = sysctl -q -w net.ipv4.ip_forward=1
#PostUp = เส้นทาง del -net 172.16.0.0/24 dev wg0
#iptables -t nat -A PREROUTING -d 172.16.0.0/24 -j DNAT --to-destination 10.6.0.1
#PostUp = iptables -t nat -A PREROUTING -d 172.16.0.0/24 -j DNAT --to-destination 10.6.0.1
#PostUp = iptables -t filter -A FORWARD -s 10.6.0.0/24 -d 172.16.0.0/24 -j ยอมรับ
#PostUp = iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -d 172.16.0.0/24 -j MASQUERADE
PostDown = sysctl -q -w net.ipv4.ip_forward=0
PostDown = iptables -D ส่งต่อ -i wg0 -j ยอมรับ;
PostDown = iptables -D ไปข้างหน้า -o wg0 -j ยอมรับ;
PostDown = iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
##PostUp = iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ens3 -j TCPMSS --clamp-mss-to-pmtu
##PostUp = iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
##PostUp = iptables -A FORWARD -i ens3 -j ยอมรับ
##โพสต์อัพ = sysctl -q -w net.ipv4.ip_forward=1
## โพสต์ดาวน์ = sysctl -q -w net.ipv4.ip_forward=0
##PostDown = iptables -D FORWARD -i ens3 -j ยอมรับ
##โพสต์ดาวน์ = iptables -t nat -D โพสต์ดาวน์ -o ens3 -j MASQUERADE
## PostDown = iptables -t mangle -D POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ens3 -j TCPMSS --clamp-mss-to-pmtu
### เริ่มต้นอุปกรณ์ huawei ###
[เพียร์]
PublicKey = WaP0UPdQWKE0uy3F750cOEeLmLkikdtw0XAw/eGcrFI=
PresharedKey = fMqhe7jxsC9ukEhymPOXCogWMWo82TzIx6Veg+8lslc=
IP ที่อนุญาต = 10.6.0.2/24
### สิ้นสุดอุปกรณ์ Huawei ###
### เริ่มต้น mac ###
[เพียร์]
PublicKey = ZCAV6xDLswBuqYWs38JYwvx2fwvmR1uEFRIAD760pxI=
PresharedKey = JdtJFaWUG2ECAfLX05WCyz/rrcs6VWFkVgnvEqnqhHo=
IP ที่อนุญาต = 10.6.0.3/32
IP ที่อนุญาต = 172.16.0.10/32
PersistentKeepalive = 15
### ปลายแมค ###
### เริ่มต้น rasprouter ###
[เพียร์]
PublicKey = r56sl4HNKHFkz8/r+aGqOHClMuXUt9lGE34gpktP5Q4=
PresharedKey = ukAcmfZUaMuVq53ruIYWmADwDYq0W+0KNjgAQ/ojqH4=
IP ที่อนุญาต = 10.6.0.5/32
IP ที่อนุญาต = 172.16.0.10/32
PersistentKeepalive = 15
### สิ้นสุด rasprouter ###
ราสเบอร์รี่เราเตอร์แบบมีสาย
[อินเตอร์เฟซ]
คีย์ส่วนตัว = SJXlysVGPfvodzG98EbwrZNvuPqo4sATLKaTB3Kqe20=
ที่อยู่ = 10.6.0.5/24
DNS = 1.1.1.1
###PostUp = sysctl -w net.ipv4.ip_forward=1
###PostUp = iptables -A FORWARD -i wg0 -j ยอมรับ
###PostUp = iptables -A FORWARD -o wg0 -j ยอมรับ
###PostUp = iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
###PostUp = iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
###โพสต์ดาวน์ = sysctl -w net.ipv4.ip_forward=0
###PostDown = iptables -D FORWARD -i wg0 -j ยอมรับ
###PostDown = iptables -D FORWARD -o wg0 -j ยอมรับ
###PostDown = iptables -t nat -D โพสต์ดาวน์ -o wg0 -j MASQUERADE
###PostDown = iptables -t nat -D โพสต์ดาวน์ -o eth1 -j MASQUERADE
PostUp = iptables -A ส่งต่อ -i wg0 -j ยอมรับ; iptables -t nat -A โพสต์ -o eth1 -j MASQUERADE; iptables -A ไปข้างหน้า -o wg0 -j ยอมรับ
PostDown = iptables -D ส่งต่อ -i wg0 -j ยอมรับ; iptables -t nat -D โพสต์ -o eth1 -j MASQUERADE; iptables -D ไปข้างหน้า -o wg0 -j ยอมรับ
[เพียร์]
PublicKey = mCK/FAHGtXFBNLS5WpHhSPEBvZRwY09HohD1YkNCNSI=
PresharedKey = ukAcmfZUaMuVq53ruIYWmADwDYq0W+0KNjgAQ/ojqH4=
จุดสิ้นสุด = 158.43.56.3:51820
#AllowedIPs = 0.0.0.0/0, ::/1
IP ที่อนุญาต = 172.16.0.10/32
IP ที่อนุญาต = 10.6.0.0/24
PersistentKeepalive = 25
ลูกค้าเพิ่มเติม (Mac ในภาพ) บน LAN อื่นซึ่งอยู่ห่างออกไป
[อินเตอร์เฟซ]
คีย์ส่วนตัว = YH+51/x6MoErmogdOs0UUzIF6W6Oz56t7BhhW9dFvXM=
ที่อยู่ = 10.6.0.3/24
DNS = 1.1.1.1
[เพียร์]
PublicKey = mCK/FAHGtXFBNLS5WpHhSPEBvZRwY09HohD1YkNCNSI=
PresharedKey = JdtJFaWUG2ECAfLX05WCyz/rrcs6VWFkVgnvEqnqhHo=
จุดสิ้นสุด = 158.43.56.3:51820
### IP ที่อนุญาต = 0.0.0.0/0, ::0/0
IP ที่อนุญาต = 172.16.0.10/32
IP ที่อนุญาต = 10.6.0.0/24
PersistentKeepalive = 25
ต่อไป ฉันจะแบ่งปันสถานะของโครงสร้างพื้นฐาน
จากเซิร์ฟเวอร์ สถานะเซิร์ฟเวอร์ Pastebin
จาก Raspberry Wired Router สถานะของ Pastebin Raspberry
การทดสอบ
จาก a ถึง b ทำงาน
ubuntu@instance-20210915-wireguard:~$ ping 10.6.0.5
PING 10.6.0.5 (10.6.0.5) 56(84) ไบต์ของข้อมูล
64 ไบต์จาก 10.6.0.5: icmp_seq=1 ttl=64 เวลา=75.1 ms
64 ไบต์จาก 10.6.0.5: icmp_seq=2 ttl=64 เวลา=74.8 ms
^ซี
--- สถิติ ping 10.6.0.5 ---
ส่ง 2 แพ็กเก็ต ได้รับ 2 แพ็กเก็ต การสูญเสียแพ็กเก็ต 0% เวลา 1001ms
rtt นาที/เฉลี่ย/สูงสุด/mdev = 74.772/74.920/75.069/0.148 มิลลิวินาที
จาก a ถึง b.a ไม่ทำงาน
ubuntu@instance-20210915-wireguard:~$ ping 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) ไบต์ของข้อมูล
^ซี
--- สถิติ ping 172.16.0.1 ---
ส่งแพ็กเก็ต 4 แพ็กเก็ต ได้รับ 0 แพ็กเก็ต สูญเสียแพ็กเก็ต 100% เวลา 3075ms
จาก a ถึง c ทำงาน
ubuntu@instance-20210915-wireguard:~$ ping 10.6.0.3
PING 10.6.0.3 (10.6.0.3) 56(84) ไบต์ของข้อมูล
64 ไบต์จาก 10.6.0.3: icmp_seq=1 ttl=64 เวลา=78.5 ms
64 ไบต์จาก 10.6.0.3: icmp_seq=2 ttl=64 เวลา=119 ms
64 ไบต์จาก 10.6.0.3: icmp_seq=3 ttl=64 เวลา=77.9 ms
^ซี
--- สถิติ ping 10.6.0.3 ---
ส่ง 3 แพ็กเก็ต, 3 แพ็กเก็ตที่ได้รับ, การสูญเสียแพ็กเก็ต 0%, เวลา 2003ms
rtt นาที/เฉลี่ย/สูงสุด/mdev = 77.888/91.816/119.047/19.256 ms
จาก b ถึง a ใช้งานได้
ubuntu@ubuntu:~$ ปิง 10.6.0.1
PING 10.6.0.1 (10.6.0.1) 56(84) ไบต์ของข้อมูล
64 ไบต์จาก 10.6.0.1: icmp_seq=1 ttl=64 เวลา=74.3 ms
64 ไบต์จาก 10.6.0.1: icmp_seq=2 ttl=64 เวลา=74.5 ms
^ซี
--- สถิติ ping 10.6.0.1 ---
ส่ง 2 แพ็กเก็ต ได้รับ 2 แพ็กเก็ต สูญเสียแพ็กเก็ต 0% เวลา 1002ms
rtt นาที/เฉลี่ย/สูงสุด/mdev = 74.334/74.396/74.459/0.062 มิลลิวินาที
จาก c ถึง a ใช้งานได้
user@MacBook-Pro-user ดาวน์โหลด % ping 10.6.0.1
PING 10.6.0.1 (10.6.0.1): 56 ไบต์ข้อมูล
64 ไบต์จาก 10.6.0.1: icmp_seq=0 ttl=64 เวลา=80.921 ms
64 ไบต์จาก 10.6.0.1: icmp_seq=1 ttl=64 เวลา=78.086 ms
64 ไบต์จาก 10.6.0.1: icmp_seq=2 ttl=64 เวลา=91.625 ms
^ซี
--- สถิติ ping 10.6.0.1 ---
ส่ง 3 แพ็กเก็ต ได้รับ 3 แพ็กเก็ต สูญเสียแพ็กเก็ต 0.0%
ไป-กลับ min/avg/max/stddev = 78.086/83.544/91.625/5.830 ms
จาก b ถึง c ไม่ทำงาน
ubuntu@ubuntu:~$ ปิง 10.6.0.3
PING 10.6.0.3 (10.6.0.3) 56(84) ไบต์ของข้อมูล
จาก 10.6.0.1 icmp_seq=1 ห้ามโฮสต์ปลายทาง
จาก 10.6.0.1 icmp_seq=2 ห้ามโฮสต์ปลายทาง
^ซี
--- สถิติ ping 10.6.0.3 ---
ส่งแพ็กเก็ต 2 แพ็กเก็ต ได้รับ 0 ข้อผิดพลาด +2 แพ็กเก็ตสูญหาย 100% เวลา 1002ms
จาก c ถึง b ไม่ทำงาน
user@MacBook-Pro-user ดาวน์โหลด % ping 10.6.0.5
PING 10.6.0.5 (10.6.0.5): 56 ไบต์ข้อมูล
92 ไบต์จาก 10.6.0.1: Dest ไม่สามารถเข้าถึงได้ รหัสไม่ถูกต้อง: 10
Vr HL TOS Len ID Flg ปิด TTL Pro cks Src Dst
4 5 00 5400 25f3 0 0000 3f 01 41a3 10.6.0.3 10.6.0.5
ขอหมดเวลาสำหรับ icmp_seq 0
92 ไบต์จาก 10.6.0.1: Dest ไม่สามารถเข้าถึงได้ รหัสไม่ถูกต้อง: 10
Vr HL TOS Len ID Flg ปิด TTL Pro cks Src Dst
4 5 00 5400 a5cc 0 0000 3f 01 c1c9 10.6.0.3 10.6.0.5
ขอหมดเวลาสำหรับ icmp_seq 1
^ซี
--- สถิติ ping 10.6.0.5 ---
ส่ง 3 แพ็กเก็ต ได้รับ 0 แพ็กเก็ต สูญเสียแพ็กเก็ต 100.0%
จาก b ถึง b.a ได้ผล!!
ubuntu@ubuntu:~$ ปิง 172.16.0.10
PING 172.16.0.10 (172.16.0.10) 56(84) ไบต์ของข้อมูล
64 ไบต์จาก 172.16.0.10: icmp_seq=1 ttl=64 เวลา=74.6 ms
64 ไบต์จาก 172.16.0.10: icmp_seq=2 ttl=64 เวลา=74.5 ms
^ซี
--- สถิติ ping 172.16.0.10 ---
ส่ง 2 แพ็กเก็ต ได้รับ 2 แพ็กเก็ต สูญเสียแพ็กเก็ต 0% เวลา 1002ms
rtt นาที/เฉลี่ย/สูงสุด/mdev = 74.455/74.541/74.627/0.086 มิลลิวินาที
เป้าหมายคือสามารถเข้าถึงได้อย่างน้อยจาก IP 10.6.0.1 ถึง 172.16.0.XX
การใช้ OpenVPN ฉันสามารถกำหนดโครงสร้างพื้นฐานได้โดยไม่มีปัญหา แต่แบนด์วิธนั้นแย่มาก
ฉันทำงานกับโครงสร้างพื้นฐานเครือข่ายไม่เก่ง ขอโทษด้วย
อะไรต่อไป?
ใช้ Nginx เพื่อใช้บริการและปรับใช้ Apache Airflow เพื่อประมวลผลข้อมูลที่ฉันสร้างขึ้นใน LAN ของฉัน
ขอบคุณล่วงหน้า
แก้ไข: ฉันโพสต์ก่อนหน้านี้ในไซต์ที่ไม่ถูกต้อง