ฉันได้ตั้งค่า EdgeRouter-X เป็นไคลเอนต์ WireGuard (โดยใช้ IPv6) เพื่อให้ IP สาธารณะของฉันแสดงเป็น IP สาธารณะของเซิร์ฟเวอร์ WireGuard
นี่เป็นเพราะฉันต้องการโฮสต์โฮมเซิร์ฟเวอร์โดยใช้ IP ของ OVH และ Anti-DDoS แทน IP สาธารณะของตัวเองซึ่งไม่มีการป้องกัน
ฉันมี 4 IP สาธารณะ:
22.22.22.22
33.33.33.33
44.44.44.44
55.55.55.55
กราฟสำหรับการเชื่อมต่อของฉันเป็นดังนี้:
OVH VPS Wireguard Server WG0 Tunnel (LOCAL Tunnel 10.0.0.1) [การส่งต่อพอร์ตด้วย IPTables] <-----> (LOCAL Tunnel 10.0.0.2) EdgeRouter X
EdgeRouter-X (LOCAL 192.168.1.1) [การส่งต่อพอร์ตด้วย EdgeRouter] <-----> (LOCAL 192.168.1.10) HOME-SERVER
ฉันกำลังส่งต่อพอร์ตทั้งหมดจาก VPS ของ OVH (1-65535) ด้วย IPTables ไปยัง EdgeRouter ของฉันผ่านอุโมงค์ wg0 จากนั้นไปยังโฮมเซิร์ฟเวอร์ของฉันและใช้งานได้
ปัญหาคือเมื่อผู้ใช้เชื่อมต่อ สมมติว่าเป็น 22.22.22.22:80 เขาแสดงหน้าเว็บได้สำเร็จ แต่ IP ของเขาไปยังเซิร์ฟเวอร์ผลลัพธ์เป็น 10.0.0.1 ไม่ใช่ IP สาธารณะของผู้ใช้
นี่คือการกำหนดค่าเซิร์ฟเวอร์ WG ของฉัน:
[อินเตอร์เฟซ]
ที่อยู่ = 10.0.0.1/30
ListenPort = 51821
PrivateKey = เซ็นเซอร์
### ลูกค้า VPN
[เพียร์]
PublicKey = เซ็นเซอร์
PresharedKey = เซ็นเซอร์
IP ที่อนุญาต = 10.0.0.2/30
นี่คือการกำหนดค่า WG Server IPTables ของฉันเพื่อส่งต่อพอร์ตไปยัง EdgeRouter ผ่าน WG0:
# สร้างโดย iptables-save v1.8.7 เมื่อวันอาทิตย์ที่ 9 มกราคม 11:04:33 น. 2565
*กรอง
: ยอมรับอินพุต [971:145912]
:ส่งต่อ ยอมรับ [920:137172]
: ยอมรับเอาต์พุต [637:108812]
:f2b-sshd - [0:0]
ให้สัญญา
# เสร็จสิ้นเมื่อ อา. 9 ม.ค. 11:04:33 น. 2565
# สร้างโดย iptables-save v1.8.7 เมื่อวันอาทิตย์ที่ 9 มกราคม 11:04:33 น. 2565
*แนท
: ยอมรับ [133:6792]
: ยอมรับอินพุต [61:2272]
: เอาต์พุตยอมรับ [3:228]
:หลังยอมรับ [66:4011]
-A PREROUTING -i ens3 -p udp -m multiport --dports 1,000:51820 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -i ens3 -p udp -m หลายพอร์ต --dports 51822:65534 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -i ens3 -p tcp -m หลายพอร์ต --dports 51822:65534 -j DNAT --to-ปลายทาง 10.0.0.2
-A PREROUTING -i ens3 -p tcp -m multiport --dports 1,000:51820 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -i ens3 -p tcp -m multiport --dports 80,25,995,110,443,465,993,143 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -i ens3 -p udp -m multiport --dports 80,25,995,110,443,465,993,143 -j DNAT --to-destination 10.0.0.2
-A โพสต์ -j MASQUERADE
ให้สัญญา
# เสร็จสิ้นเมื่อ อา. 9 ม.ค. 11:04:33 น. 2565
นี่คือการกำหนดค่า EdgeRouter-X ของฉันด้วยไคลเอนต์ WG0 และการส่งต่อพอร์ตไปยังโฮมเซิร์ฟเวอร์:
ไฟร์วอลล์ {
เปิดใช้งาน all-ping
ปิดใช้งานการออกอากาศ ping
กลุ่ม {
ที่อยู่กลุ่ม MY_PUBLIC {
ที่อยู่ 22.22.22.22
ที่อยู่ 33.33.33.33
ที่อยู่ 44.44.44.44
ที่อยู่ 55.55.55.55
}
}
ipv6 ชื่อ WANv6_IN {
การลดลงของการดำเนินการเริ่มต้น
คำอธิบาย "การรับส่งข้อมูลขาเข้า WAN ส่งต่อไปยัง LAN"
เปิดใช้งานเริ่มต้นเข้าสู่ระบบ
กฎข้อที่ 10 {
การกระทำยอมรับ
คำอธิบาย "อนุญาตเซสชันที่สร้างขึ้น/ที่เกี่ยวข้อง"
สถานะ {
เปิดใช้งาน
เปิดใช้งานที่เกี่ยวข้อง
}
}
กฎ 20 {
การกระทำลดลง
คำอธิบาย "ลดสถานะที่ไม่ถูกต้อง"
สถานะ {
เปิดใช้งานไม่ถูกต้อง
}
}
}
ipv6 ชื่อ WANv6_LOCAL {
การลดลงของการดำเนินการเริ่มต้น
คำอธิบาย "การรับส่งข้อมูลขาเข้าของ WAN ไปยังเราเตอร์"
เปิดใช้งานเริ่มต้นเข้าสู่ระบบ
กฎข้อที่ 10 {
การกระทำยอมรับ
คำอธิบาย "อนุญาตเซสชันที่สร้างขึ้น/ที่เกี่ยวข้อง"
สถานะ {
เปิดใช้งาน
เปิดใช้งานที่เกี่ยวข้อง
}
}
กฎ 20 {
การกระทำลดลง
คำอธิบาย "ลดสถานะที่ไม่ถูกต้อง"
สถานะ {
เปิดใช้งานไม่ถูกต้อง
}
}
กฎ 30 {
การกระทำยอมรับ
คำอธิบาย "อนุญาต IPv6 icmp"
โปรโตคอล ipv6-icmp
}
กฎ 40 {
การกระทำยอมรับ
คำอธิบาย "อนุญาต dhcpv6"
ปลายทาง {
พอร์ต 546
}
โปรโตคอล udp
แหล่งที่มา {
พอร์ต 547
}
}
}
ipv6-receive-redirects ปิดใช้งาน
ปิดใช้งานเส้นทาง ipv6-src
ปิดการใช้งาน ip-src-route
เปิดใช้งาน log-Martians
แก้ไข wireguard_route {
กฎข้อที่ 5 {
การปรับเปลี่ยนการกระทำ
ปลายทาง {
กลุ่ม {
ที่อยู่กลุ่ม MY_PUBLIC
}
}
แก้ไข {
ตารางหลัก
}
}
กฎข้อที่ 10 {
การปรับเปลี่ยนการกระทำ
คำอธิบาย wireguard-vpn
แก้ไข {
ตารางที่ 1
}
แหล่งที่มา {
ที่อยู่ 192.168.1.0/24
}
}
}
ชื่อ WAN_IN {
การลดลงของการดำเนินการเริ่มต้น
คำอธิบาย "WAN ไปยังภายใน"
กฎข้อที่ 10 {
การกระทำยอมรับ
คำอธิบาย "อนุญาตให้สร้าง/เกี่ยวข้อง"
สถานะ {
เปิดใช้งาน
เปิดใช้งานที่เกี่ยวข้อง
}
}
กฎ 20 {
การกระทำลดลง
คำอธิบาย "ลดสถานะที่ไม่ถูกต้อง"
สถานะ {
เปิดใช้งานไม่ถูกต้อง
}
}
}
ชื่อ WAN_LOCAL {
การลดลงของการดำเนินการเริ่มต้น
คำอธิบาย "WAN ไปยังเราเตอร์"
กฎข้อที่ 10 {
การกระทำยอมรับ
คำอธิบาย "อนุญาตให้สร้าง/เกี่ยวข้อง"
สถานะ {
เปิดใช้งาน
เปิดใช้งานที่เกี่ยวข้อง
}
}
กฎ 20 {
การกระทำลดลง
คำอธิบาย "ลดสถานะที่ไม่ถูกต้อง"
สถานะ {
เปิดใช้งานไม่ถูกต้อง
}
}
}
ปิดการรับ-เปลี่ยนเส้นทาง
เปิดใช้งานการส่งเปลี่ยนเส้นทาง
ปิดใช้งานการตรวจสอบแหล่งที่มา
เปิดใช้งาน syn-cookies
}
อินเทอร์เฟซ {
อีเธอร์เน็ต eth0 {
ที่อยู่ dhcp
คำอธิบาย อินเตอร์เน็ต
dhcpv6-pd {
พี 0 {
อินเทอร์เฟซ eth1 {
บริการ dhcpv6-stateful
}
อินเทอร์เฟซ eth2 {
บริการ dhcpv6-stateful
}
อินเทอร์เฟซ eth3 {
บริการ dhcpv6-stateful
}
สวิตช์อินเทอร์เฟซ0 {
ที่อยู่โฮสต์ ::1
เครื่องหมายบริการ
}
คำนำหน้าความยาว /64
}
เปิดใช้งานอย่างรวดเร็ว
}
เพล็กซ์อัตโนมัติ
ไฟร์วอลล์ {
ใน {
ipv6 ชื่อ WANv6_IN
ชื่อ WAN_IN
}
ท้องถิ่น {
ipv6 ชื่อ WANv6_LOCAL
ชื่อ WAN_LOCAL
}
}
ipv6 {
ที่อยู่ {
คอนเฟิร์มอัตโนมัติ
}
dup-addr-detect-transmits 1
}
ความเร็วอัตโนมัติ
}
อีเธอร์เน็ต eth1 {
คำอธิบาย ท้องถิ่น
เพล็กซ์อัตโนมัติ
ความเร็วอัตโนมัติ
}
อีเธอร์เน็ต eth2 {
คำอธิบาย ท้องถิ่น
เพล็กซ์อัตโนมัติ
ความเร็วอัตโนมัติ
}
อีเธอร์เน็ต eth3 {
คำอธิบาย ท้องถิ่น
เพล็กซ์อัตโนมัติ
ความเร็วอัตโนมัติ
}
อีเธอร์เน็ต eth4 {
คำอธิบาย ท้องถิ่น
เพล็กซ์อัตโนมัติ
โพ {
ปิดเอาต์พุต
}
ความเร็วอัตโนมัติ
}
วนกลับเลย {
}
สวิตช์ สวิตช์0 {
ที่อยู่ 192.168.1.1/24
คำอธิบาย ท้องถิ่น
ไฟร์วอลล์ {
ใน {
แก้ไข wireguard_route
}
}
mtu 1500
สวิตช์พอร์ต {
อินเทอร์เฟซ eth1 {
}
อินเทอร์เฟซ eth2 {
}
อินเทอร์เฟซ eth3 {
}
อินเทอร์เฟซ eth4 {
}
ปิดใช้งาน vlan-aware
}
}
ไวร์การ์ด wg0 {
ที่อยู่ 10.0.0.2/30
คำอธิบาย Wireguard
ฟังพอร์ต 51821
มธ.1420
เพียร์เซ็นเซอร์ {
อนุญาต-ips 0.0.0.0/0
จุดสิ้นสุด [2001:41d0:52:400::6e3]:51821
ถาวร-keepalive 25
คีย์ที่ใช้ร่วมกันล่วงหน้า /config/auth/wg-preshared.key
}
คีย์ส่วนตัว /config/auth/wg.key
เส้นทางอนุญาต ips เท็จ
}
}
ส่งต่อพอร์ต {
เปิดใช้งานไฟร์วอลล์อัตโนมัติ
กุ๊บกิ๊บ-แนทเปิดใช้งาน
สวิตช์อินเทอร์เฟซ LAN0
กฎข้อที่ 1 {
คำอธิบาย "อนุญาตทั้งหมด"
ส่งต่อไปยัง {
ที่อยู่ 192.168.1.10
}
พอร์ตเดิม 1-65535
โปรโตคอล tcp_udp
}
WAN-อินเทอร์เฟซ wg0
}
โปรโตคอล {
คงที่ {
ตารางที่ 1 {
คำอธิบาย "ตารางบังคับ wg0:aws"
เส้นทางอินเทอร์เฟซ 0.0.0.0/0 {
อินเทอร์เฟซถัดไปกระโดด wg0 {
}
}
เส้นทาง 0.0.0.0/0 {
หลุมดำ {
ระยะทาง 255
}
}
}
}
}
บริการ {
เซิร์ฟเวอร์ dhcp {
ปิดใช้งานเท็จ
ปิดใช้งานการอัปเดตไฟล์โฮสต์
ชื่อเครือข่ายที่ใช้ร่วมกัน LAN {
เปิดใช้งานอย่างเป็นทางการ
เครือข่ายย่อย 192.168.1.0/24 {
เริ่มต้นเราเตอร์ 192.168.1.1
เซิร์ฟเวอร์ DNS 192.168.1.1
ให้เช่า 86400
เริ่มต้น 192.168.1.38 {
หยุด 192.168.1.243
}
การทำแผนที่แบบคงที่ Node2 {
ที่อยู่ IP 192.168.1.10
ที่อยู่ mac 90:b1:1c:44:f6:da
}
iDRAC การทำแผนที่แบบคงที่ {
ที่อยู่ IP 192.168.1.120
ที่อยู่ mac E0:DB:55:06:2D:14
}
}
}
ปิดใช้งาน static-arp
ใช้-dnsmasq ปิดการใช้งาน
}
DNS {
ส่งต่อ {
แคชขนาด 150
สวิตช์เปิดฟัง0
}
}
กุย {
http-พอร์ต 80
https-พอร์ต 443
เก่า-ciphers เปิดใช้งาน
}
แนท {
กฎ 5002 {
คำอธิบาย wireguard-nat
ปิดการใช้งานบันทึก
อินเทอร์เฟซขาออก wg0
โปรโตคอลทั้งหมด
แหล่งที่มา {
ที่อยู่ 192.168.1.0/24
}
ประเภทสวมหน้ากาก
}
กฎ 5003 {
คำอธิบาย "สวมหน้ากากสำหรับ WAN"
ปิดการใช้งานบันทึก
อินเทอร์เฟซขาออก eth0
โปรโตคอลทั้งหมด
ประเภทสวมหน้ากาก
}
}
ssh {
พอร์ต 22
โปรโตคอลเวอร์ชัน v2
}
ยกเลิก {
}
}
ระบบ {
ตัวจัดการการวิเคราะห์ {
ส่งการวิเคราะห์รายงานเท็จ
}
ตัวจัดการความผิดพลาด {
ส่งข้อขัดข้องรายงานเท็จ
}
ชื่อโฮสต์ EdgeRouter-X-5-Port
เข้าสู่ระบบ {
ผู้ใช้ ubnt {
การรับรองความถูกต้อง {
เข้ารหัสรหัสผ่าน
}
ผู้ดูแลระบบระดับ
}
}
เอ็นทีพี {
เซิร์ฟเวอร์ 0.ubnt.pool.ntp.org {
}
เซิร์ฟเวอร์ 1.ubnt.pool.ntp.org {
}
เซิร์ฟเวอร์ 2.ubnt.pool.ntp.org {
}
เซิร์ฟเวอร์ 3.ubnt.pool.ntp.org {
}
}
ถ่าย {
เปิดการใช้งาน
ipsec เปิดใช้งาน
}
ซิสล็อก {
ทั่วโลก {
สิ่งอำนวยความสะดวกทั้งหมด {
ประกาศระดับ
}
โปรโตคอลสิ่งอำนวยความสะดวก {
การแก้ปัญหาระดับ
}
}
}
เขตเวลา UTC
}