Score:1

VPN/WIreguard ส่งต่อทราฟฟิกทั้งภายในและภายนอก

ธง br

นี่อาจเป็นคำถามเกี่ยวกับไฟร์วอลล์ Linux มากกว่า แต่บริบทคือการตั้งค่า Wireguard VPN บน Ubuntu หมายเหตุ ฉันแทบจะไม่คุ้นเคยกับสิ่งนี้มากนัก

ฉันมี Wireguard และทำงานบน Digital Ocean Ubuntu กับไคลเอนต์ Windows และ Android ที่ใช้งานอยู่ ทุกอย่างดูดี

คำสั่งไฟร์วอลล์พื้นฐานที่ฉันใช้เมื่อปรากฏขึ้นคือ/อยู่ด้านล่าง: ดังนั้น บรรทัดที่ 3 จะปรากฏขึ้นเพื่อกำหนดเส้นทางการรับส่งข้อมูลทั้งหมดที่เข้ามา wg0 (VPN ส่วนตัว) ออกสู่สาธารณะ eth0 อินเตอร์เฟซ. อย่างที่ควรจะเป็น (เกือบ?) และใช้งานได้ดี Wgo/เครือข่ายส่วนตัวคือ 10.8.0.1/24 และเซิร์ฟเวอร์คือ 10.8.0.1. เมื่อทราฟฟิกไคลเอ็นต์เข้ามาในเซิร์ฟเวอร์ด้านล่างที่กำหนดไว้ 10.8.0.x (ที่อยู่อื่นภายในเครือข่ายส่วนตัว) หมดเวลา

ฉัน "คิด" ว่าเป็นเพราะมันกำลังพยายามกำหนดเส้นทางผ่าน eth0? ถ้าเป็นเช่นนั้น ฉันจะแน่ใจได้อย่างไรว่าทราฟฟิกที่ปลายทางสำหรับไพรเวตซับเน็ตยังคงใช้งานอยู่ wg0 อินเตอร์เฟซ? ถ้าไม่ มีคำแนะนำอื่นอีกไหม

PreUp = sysctl -w net.ipv4.ip_forward=1
PreUp = sysctl -w net.ipv6.conf.all.forwarding=1
PostUp = เส้นทาง ufw อนุญาตใน wg0 ออกใน eth0
PostUp = iptables -t nat -I โพสต์ -o eth0 -j MASQUERADE
PostUp = ip6tables -t nat -I โพสต์ -o eth0 -j MASQUERADE
PreDown = ลบเส้นทาง ufw อนุญาตใน wg0 ออกใน eth0
PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = sysctl -w net.ipv4.ip_forward=0
PostDown = sysctl -w net.ipv6.conf.all.forwarding=0
Score:0
ธง in

หากนโยบายเริ่มต้นของคุณคือยกเลิกหรือปฏิเสธการส่งต่อใน iptables/ufw จากนั้นคุณมักจะไม่มีรายการไฟร์วอลล์/ufw สำหรับการอนุญาตให้รับส่งข้อมูลระหว่างอินเทอร์เฟซ wireguard ที่แตกต่างกันหรือเข้าและออกบนอินเทอร์เฟซเดียวกัน

คุณสามารถตรวจสอบ dmesg ของคุณสำหรับ [ยูเอฟดับบลิว] ข้อความ

เพื่อให้การไหลเข้าและออกไม่จำกัดบนอินเทอร์เฟซ wg เดียวกัน PostUp = เส้นทาง ufw อนุญาตใน wg0 ออกใน wg0

ฉันต้องการแก้ไขไฟล์ปรับแต่งโดยตรง sudo เป็นกลุ่ม /etc/ufw/before.rules ไปที่ตัวกรอง หลังจากสิ้นสุดบรรทัดที่กำหนด คุณสามารถเพิ่มกฎการส่งต่อที่คุณต้องการได้ เช่น:

-A ufw-ก่อนส่งต่อ -i wg0 -s 10.8.0.1/24 -o wg0 -d 10.8.0.1/24 -j ยอมรับ

สิ่งนี้จะอนุญาตการรับส่งข้อมูลจาก (-s flag) 10.8.0.1/24 บนอินเทอร์เฟซ wg0 ถึง (-d flag) 10.8.0.1/24 บนอินเทอร์เฟซ wg0 -i เป็นอินเทอร์เฟซอินพุต และ -o เป็นอินเทอร์เฟซเอาต์พุต

หากคุณต้องการใช้วิธีขึ้น\ลง คุณสามารถเพิ่ม iptables ข้างหน้าคำสั่งได้

iptables -A ufw-before-forward -i wg0 -s 10.8.0.1/24 -o wg0 -d 10.8.0.1/24 -j ยอมรับ

ขอให้โชคดี :)

Paul G avatar
br flag
กลับมาได้แค่นี้ ตามที่แนะนำฉันเพิ่ม iptables -A ufw-before-forward -i wg0 -s 10.8.0.1/24 -o wg0 -d 10.8.0.1/24 -j ยอมรับ แต่สำหรับไฟล์ wg0.conf ของฉันแล้ว นี่คือสิ่งที่ฉันต้องการจริงๆ รับส่งข้อมูลภายในซับเน็ตนั้นให้อยู่บน wg0 ดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์ ขอบคุณ !! ฉันไม่คุ้นเคยกับไฟล์คอนฟิกูเรชัน before.rules เลยติดอยู่กับ wg0.conf

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา