คุณสามารถใช้ iptables
แทนที่ eth0
ด้วยอินเทอร์เฟซเครือข่ายที่เชื่อมต่อกับอินเทอร์เน็ตและ 10.6.0.1/24
กับซับเน็ตไคลเอ็นต์ของคุณ
ใส่สิ่งนี้ในการกำหนดค่า Wireguard ด้านล่าง [INTERFACE]
# วางแพ็กเก็ตขาออกทั้งหมดจากซับเน็ตไคลเอ็นต์
PreUp = iptables -I FORWARD -s 10.6.0.1/24 -o eth0 -j DROP
## เพิ่มข้อยกเว้นของคุณที่นี่
ตัวอย่างเช่น:
[อินเตอร์เฟซ]
คีย์ส่วนตัว = ...
ที่อยู่ = 10.6.0.1/24
มทร. = 1420
ListenPort = 51820
## ก่อนที่อินเตอร์เฟส wg0 จะอัพ
# วางแพ็กเก็ตขาออกทั้งหมดจากซับเน็ตไคลเอ็นต์
PreUp = iptables -I FORWARD -s 10.6.0.1/24 -o eth0 -j DROP
# อนุญาตให้ลูกค้าเชื่อมต่อกับเครือข่ายท้องถิ่น 192.168.0.1/24
PreUp = iptables -I FORWARD -s 10.6.0.1/24 -d 192.168.0.1/24 -j ยอมรับ
# อนุญาตให้ลูกค้าเชื่อมต่อกับพอร์ต tcp 80 (ปกติคือ http) ใน 10.10.0.5
PreUp = iptables -I FORWARD -s 10.6.0.1/24 -d 10.10.0.5 -p tcp --dport 80 -j ยอมรับ
## หลังจากอินเตอร์เฟส wg0 หยุดทำงาน
PostDown = iptables -D ไปข้างหน้า -s 10.6.0.1/24 -o eth0 -j DROP
PostDown = iptables -D ไปข้างหน้า -s 10.6.0.1/24 -d 192.168.0.1/24 -j ยอมรับ
PostDown = iptables -D FORWARD -s 10.6.0.1/24 -d 10.10.0.5 -p tcp --dport 80 -j ยอมรับ
[เพียร์]
...
เพื่อประสบการณ์ที่ราบรื่นในฝั่งไคลเอ็นต์ คุณต้องกำหนดค่า IP ที่อนุญาต
ในการกำหนดค่าของลูกค้า มิฉะนั้นไคลเอนต์จะพยายามใช้ VPN เพื่อเข้าถึงอินเทอร์เน็ตและคำขอเหล่านั้นจะหมดเวลา
ตามตัวอย่างด้านบน การกำหนดค่าของไคลเอนต์อาจมีลักษณะดังนี้:
[อินเตอร์เฟซ]
คีย์ส่วนตัว = ...
ที่อยู่ = 10.6.0.2/24
DNS = 10.6.0.1
[เพียร์]
คีย์สาธารณะ = ...
IP ที่อนุญาต = 192.168.0.1/24, 10.10.0.5
จุดสิ้นสุด = ...
PresharedKey = ...
เอกสาร: