Trước hết - bạn nên kiểm tra xem chuyển tiếp có được phép hay không:
cat /proc/sys/net/ipv4/conf/ppp0/forwarding
cat /proc/sys/net/ipv4/conf/eth0/forwarding
Nếu cả hai trả về 1
thì không sao. Nếu không làm như sau:
echo '1' | sudo tee /proc/sys/net/ipv4/conf/ppp0/forwarding
echo '1' | sudo tee /proc/sys/net/ipv4/conf/eth0/forwarding
Điều thứ hai - chỉ DNAT
có thể được áp dụng trên nat
bàn. Vì vậy, quy tắc của bạn nên được mở rộng bằng cách thêm đặc tả bảng ( -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
Cả hai quy tắc chỉ được áp dụng cho lưu lượng TCP (nếu bạn cũng muốn thay đổi UDP, bạn cần cung cấp các quy tắc tương tự nhưng với -p udp
tùy chọn được đặt).
Cuối cùng, nhưng không kém phần quan trọng là cấu hình định tuyến. Thể loại:
ip route
và kiểm tra nếu 192.168.1.0/24
là trong số các mục định tuyến trả lại.