Score:0

Passthrough VPN Tunnel พร้อม iptables

ธง ng

VPS อีเมลของฉันกำลังถึงขีดจำกัด แต่ IP เฉพาะนั้นได้รับการดูแลอย่างดี และฉันก็แยกไม่ออก ฉันกำลังพยายามตั้งค่าสภาพแวดล้อมการทดสอบที่ฉันสร้างเซิร์ฟเวอร์ VPN บน VPS เพียงเพื่อส่งผ่านทราฟฟิกขาเข้าและขาออกกลับไปยัง VM โดยมีเป้าหมายเพื่อใช้ IP ภายนอกบน VPS สำหรับการสื่อสารทางอินเทอร์เน็ตทั้งหมด ในขณะที่ทราฟฟิกนั้นกลับไปที่ วีเอ็ม ปัญหาของฉันอยู่ที่ iptables ฉันไม่สามารถเข้าใจสิ่งนี้ได้และฉันแน่ใจว่ามันเป็นเพียงการขาดความรู้ของฉันเกี่ยวกับการใช้ iptables ในระดับนี้ ทั้ง VPS และ VM ของฉันใช้ Debian 10

ฉันได้ลองใช้กฎรูปแบบต่างๆ สองสามแบบซึ่งฉันพบจากโพสต์ต่างๆ ที่นี่

การเปลี่ยนแปลง (ฉันเปลี่ยนชื่ออแด็ปเตอร์และพอร์ตเมื่อใช้กฎเหล่านี้)

iptables -A FORWARD -m conntrack --ctstate NEW -s $PRIVATE_SUBNET -m นโยบาย --pol none --dir in -j ACCEPT
iptables -t nat -A POSTROUTING -s $PRIVATE_SUBNET -m นโยบาย --pol none --dir out -j MASQUERADE
iptables -A INPUT -p udp --dport $SERVER_PORT -j ยอมรับ
iptables -A FORWARD -i eth0 -o wg0 -p tcp --syn --dport 80 -m conntrack --ctstate NEW -j ยอมรับ
iptables -A FORWARD -i eth0 -o wg0 -m conntrack --ctstate ก่อตั้งที่เกี่ยวข้อง -j ยอมรับ
iptables -A FORWARD -i wg0 -o eth0 -m conntrack --ctstate ก่อตั้งที่เกี่ยวข้อง -j ยอมรับ
iptables -A FORWARD -i eth0 -o wg0 -p tcp --syn --dport 443 -m conntrack --ctstate NEW -j ยอมรับ
iptables -A FORWARD -i eth0 -o wg0 -m conntrack --ctstate ก่อตั้งที่เกี่ยวข้อง -j ยอมรับ
iptables -A FORWARD -i wg0 -o eth0 -m conntrack --ctstate ก่อตั้งที่เกี่ยวข้อง -j ยอมรับ
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-ปลายทาง $WIREGUARD_CLIENT_ADDRESS
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-ปลายทาง $WIREGUARD_CLIENT_ADDRESS

ฉันได้ลองเขียนกฎของตัวเองแล้ว แต่หลังจากที่ได้ดูวิดีโอแนะนำที่ยอดเยี่ยมซึ่งครอบคลุมเนื้อหามากกว่าแค่ตารางตัวกรอง ดูเหมือนว่าฉันไม่มีภาพที่ถูกต้องเกี่ยวกับการไหลของการจราจร

นอกจากนี้ เนื่องจากฉันต้องการรับทราฟฟิกใหม่จากเซิร์ฟเวอร์ VPN ฉันรู้ว่าฉันต้องทำการเปลี่ยนแปลง iptables บน VM "ไคลเอนต์" และนั่นอาจเป็นปัญหาของฉันเช่นกัน ฉันหวังว่าจะมีคนให้ความกระจ่างเกี่ยวกับแนวคิดพื้นฐานบางอย่างที่ฉันอาจพลาดไปเพื่อไขปริศนานี้

Score:0
ธง cn

ถ้าฉันจำไม่ผิด 'โฟลว์' สำหรับแพ็คเก็ตที่เข้ามาจะเป็น:

ไดอะแกรมของการเขียนส่วนหัวใหม่

ฉันได้ทดสอบสิ่งนี้กับ EC2 บางกรณี: หนึ่งรายการสาธารณะและหนึ่งรายการส่วนตัว ทั้งเรียกใช้ apache ด้วยหน้าเว็บธรรมดา ตัวหนึ่งพูดว่า 'เกตเวย์' และอีกอันพูดว่า 'โหนด'

ก่อนที่จะเพิ่มกฎของตาราง IP ฉันสามารถม้วนหน้าเว็บธรรมดาและแสดงอย่างถูกต้องว่ามาจากอินสแตนซ์ 'เกตเวย์' ของฉัน ฉันทำสิ่งต่อไปนี้บนเกตเวย์:

echo 'net.ipv4.ip_forward = 1' | sudo ที /etc/sysctl.d/10-forwarding.conf
sudo sysctl -w net.ipv4.ip_forward=1

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.0.100.154
sudo iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ยอมรับ
sudo iptables -t nat -A POSTROUTING -p tcp --dport 80 -j SNAT --to 10.0.0.160

สิ่งนี้ทำให้ฉันสามารถม้วน IP สาธารณะโดยที่ NAT ต้องการไปยัง VM ภายในเป้าหมายและส่งต่อ / NAT อย่างถูกต้องสำหรับการตอบกลับ ฉันได้ตั้งค่าซับเน็ตส่วนตัวโดยไม่มีการกำหนดเส้นทางภายนอก ดังนั้นหากไม่ได้กำหนดเส้นทางไปยังช่วงภายใน ก็จะไม่ไปไหน ได้ผลตามที่หวัง!

หากคุณมีหลายอินเทอร์เฟซ คุณควรจะล็อกดาวน์ได้ ซึ่งไปข้างหน้า ปกครองได้ดีขึ้นเล็กน้อยด้วยการเพิ่ม -i eth0 -o wg0 กฎบางอย่างและ โพสต์ ปกครองด้วย -o wg0.

ดังนั้นฉันคิดว่ากฎของคุณควรเป็น:

#Â dnat เพื่อกำหนดเป้าหมาย VPN VM
iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dports 80,443 -j DNAT --to-ปลายทาง $WIREGUARD_CLIENT_ADDRESS

# ส่งต่อระหว่างอินเตอร์เฟสสำหรับคอนใหม่
iptables -A FORWARD -i eth0 -o wg0 -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW -j ยอมรับ
#Â อนุญาตการรับส่งข้อมูลที่เกี่ยวข้องกับการส่งต่อ - ไม่จำเป็นต้องใช้ -i/-o ทั้งสองชุดเนื่องจากเราสามารถอนุญาตที่เกี่ยวข้องได้
iptables -A FORWARD -m สถานะ ESTABLISHED, RELATED -j ACCEPT

#Â postrouting สำหรับ VPN
iptables -t nat -A POSTROUTING -o wg0 -p tcp -m หลายพอร์ต --dports 80,443 -j MASQUERADE
ng flag
สิ่งที่ฉันกำลังมองหา! ทำงานอย่างจับใจและคำอธิบายจะช่วยให้ฉันเข้าใจสถานการณ์ประเภทนี้ในอนาคต ขอบคุณ!

โพสต์คำตอบ

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