ก่อนอื่น - คุณควรตรวจสอบว่าอนุญาตให้ส่งต่อได้หรือไม่:
cat /proc/sys/net/ipv4/conf/ppp0/forwarding
cat /proc/sys/net/ipv4/conf/eth0/forwarding
ถ้าทั้งคู่ส่งคืน1
มันก็โอเค ถ้าไม่ทำต่อไปนี้:
echo '1' | sudo tee /proc/sys/net/ipv4/conf/ppp0/forwarding
echo '1' | sudo tee /proc/sys/net/ipv4/conf/eth0/forwarding
สิ่งที่สอง - DNAT
สามารถนำไปใช้บนnat
โต๊ะเท่านั้น ดังนั้นกฎของคุณควรขยายออกโดยการเพิ่มข้อมูลจำเพาะของตารางด้วย ( -t nat
):
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 8001 -j DNAT --to-destination 192.168.1.200:8080
iptables -A FORWARD -p tcp -d 192.168.1.200 --dport 8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
กฎทั้งสองจะใช้กับการรับส่งข้อมูล TCP เท่านั้น (หากคุณต้องการเปลี่ยน UDP ด้วยคุณต้องจัดเตรียมกฎที่คล้ายกัน แต่มี-p udp
ชุดตัวเลือก)
สุดท้าย แต่ไม่ท้ายสุดคือการกำหนดค่าการกำหนดเส้นทาง ประเภท:
ip route
และตรวจสอบว่า192.168.1.0/24
เป็นหนึ่งในรายการเส้นทางที่ส่งคืน