Tôi đang cố gắng hiểu iptables và muốn thực hiện một thử nghiệm đơn giản trong mạng gia đình của mình. Tôi muốn truy cập một số trang web đang chạy trên RPI, trong khi truy cập nó thông qua máy tính để bàn Ubuntu của tôi.
LƯU Ý: Tôi đang cho phép MỌI THỨ đối với quy tắc FORWARD của mình trên máy tính để bàn Ubuntu (chỉ dành cho thử nghiệm này).Tôi biết điều đó thật tồi tệ đối với bảo mật, nhưng hiện tại tôi không quan tâm, tôi chỉ cần hiểu những gì tôi cần làm ở mức tối thiểu để nhận các gói thông qua PC ubuntu với tư cách là người trung gian.
Tôi đã cố gắng mô tả định tuyến trong hình tiếp theo (ít nhất, cách tôi nghĩ nó sẽ/nên hoạt động)
Như đã nói, tôi hoàn toàn bỏ qua chuỗi FORWARD bằng cách CHẤP NHẬN mọi thứ. Điều duy nhất tôi cần quan tâm sau đó là DNAT và SNAT.
Vì vậy, trong văn bản:
Điều này đạt được với hai lệnh iptables đơn giản
# đích DNAT 192.168.1.10:8080
Sudo iptables -t nat -I PREROUTING 1 -p tcp -d 192.168.1.112 --dport 1234 -j DNAT --to 192.168.1.10:8080
# SNAT nguồn tới 192.168.1.112
sudo iptables -t nat -I POSTROUTING 1 -p tcp -d 192.168.1.123 -j SNAT --to 192.168.1.112
Câu hỏi 1: ai đó có thể xác nhận rằng ở trên là chính xác? Nếu không, hãy giải thích những gì tôi đang làm sai.
Câu hỏi 2: Tôi có đúng là không cần thêm quy tắc FORWARD không (Vì tôi đã chấp nhận tất cả theo mặc định rồi)?
Phần tiếp theo thậm chí còn ít rõ ràng hơn đối với tôi. Bây giờ máy chủ trên [email protected] sẽ trả lời. Vì tôi đã SNAT-ed gói tin nên câu trả lời sẽ được gửi tới 192.168.1.112. TÔI cũng NGHĨ trên cổng 8080, vì đó là cổng mà chúng tôi đã gửi dữ liệu đến.
Nếu điều đó đúng và câu trả lời thực sự đã nhận được trên [email protected]:8080, thì tôi không biết làm thế nào nhân (trên [email protected]) sau đó sẽ nhận ra một cách kỳ diệu rằng câu trả lời này không dành cho anh ta, nhưng trên thực tế nên được chuyển đến máy khách yêu cầu ban đầu: [email protected].
Câu hỏi 3: Tôi có cần thêm quy tắc để thực hiện đường dẫn "trả lời" không? Hay điều này thực sự được thực hiện một cách kỳ diệu bởi kernel?
Dù sao, kết quả cuối cùng là thời gian chờ kết nối.
Tôi thực sự sẽ đánh giá cao một số hướng dẫn ở đây. Một số giải thích chi tiết hơn và hy vọng cuối cùng thực sự hiểu cách thức hoạt động của nó..