Các chuỗi đầu vào và đầu ra trong bảng NAT làm gì?


2

Tôi hiểu những gì làm preroutingpostroutingchuỗi làm trong IPTables, nhưng tôi không thể hiểu những gì làm outputinputchuỗi làm.
Vì vậy, trong NATing, chúng ta thay đổi IP đích hoặc cổng sử dụng DNATtrong prerouting, hoặc IP nguồn để có được câu trả lời cho các giao diện đúng bằng SNAThoặc MASQURADEpostrouting.

Trong kịch bản này, tôi thấy không có cách sử dụng inputoutputchuỗi. Ai đó có thể giải thích cho họ ( inputoutput) một cách nhanh chóng cho tôi?

Câu trả lời:


5

INPUTOUTPUTchuỗi được truyền qua cho các gói được gửi đến và gửi từ các ứng dụng chạy trên máy cục bộ.

Nếu một ứng dụng gửi một gói, nó đi qua

app -> OUTPUT -> POSTROUTING -> interface

Ngược lại, một gói được gửi đến một ứng dụng đi qua

interface -> PREROUTING -> INPUT -> app

Trong khi một gói chuyển tiếp đi qua

interface -> PREROUTING -> FORWARD -> POSTROUTING -> interface

Lưu ý rằng đó MASQUERADEchỉ là một trường hợp đặc biệt SNAT, trong đó địa chỉ nguồn được lấy từ giao diện.

Cũng xem hình ảnh này hoặc nhiều người tương tự bạn có thể tìm thấy trong iptableshướng dẫn.

Chỉnh sửa

Nếu bạn muốn làm DNATcho các gói được gửi từ một ứng dụng, bạn phải sử dụng OUTPUT, bởi vì DNATchỉ hoạt động trong PREROUTINGvà các gói đi từ một ứng dụng không bao giờ đi qua PREROUTING.

Tương tự như vậy cho SNAT, INPUTPOSTROUTINGtrong trường hợp của các ứng dụng gửi đến một ứng dụng, mặc dù tôi không chắc chắn về tình trạng hiện tại của SNATtrong INPUT, nó có thể bị phá vỡ và không thực sự làm việc.

Vì hầu hết việc giả mạo xảy ra trong các gói chuyển tiếp bộ định tuyến, bạn không thấy các loại ứng dụng này thường xuyên.


1
Tôi vẫn chưa rõ trong kịch bản nào chúng ta cần INPUT trong OUTPUT trong NAT, trong bảng tường lửa INPUT và OUTPUT được sử dụng để chặn hoặc cho phép, trong NAT, vai trò của chúng là gì?
Mohammed Noureldin

0

Bảng NAT trong chuỗi INPUT / OUTPUT cho phép các hành động NAT cho lưu lượng được tạo cục bộ bên trong bộ định tuyến Linux.

Nếu bạn sử dụng NAT trong POSTROUTING / PREROUTING, điều đó có nghĩa là cả lưu lượng được chuyển tiếp / đã được chuyển tiếp và lưu lượng truy cập đến máy cục bộ sẽ bị NAT

Nếu bạn chỉ muốn lưu lượng NAT cho máy cục bộ và giữ nguyên lưu lượng chuyển tiếp, bạn sử dụng NAT trong INPUT / OUTPUT.

ví dụ: Bạn có bộ định tuyến Linux cũng đóng vai trò là máy chủ DNS, vì một lý do đặc biệt, bạn cần thay đổi cổng đích cho lưu lượng DNS cục bộ của mình nhưng không muốn thay đổi lưu lượng truy cập được định tuyến, sau đó bạn sử dụng NAT INPUT / OUTPUT.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.