mục tiêu iptables và TRẢ LẠI


15

Tôi không hiểu cái gì RETURN mục tiêu làm gì trong lệnh iptables.

Nghi ngờ đến từ hướng dẫn này , nơi nó nói:

Chuỗi là một tập hợp các quy tắc mà một gói được kiểm tra theo tuần tự. Khi gói phù hợp với một trong các quy tắc, nó thực thi hành động liên quan và không được kiểm tra đối với các quy tắc còn lại trong chuỗi.

Vì vậy, nếu một gói phù hợp với một quy tắc và nó dừng kiểm tra các quy tắc khác tại sao tôi cần một RETURN?

Ví dụ tôi tìm thấy cái này trên internet:

iptables -A PREROUTING -t mangle -i wlan0 -s 192.168.1.10 -j MARK --set-mark 30;
iptables -A PREROUTING -t mangle -i wlan0 -s 192.168.1.10 -j RETURN;

Tại sao tôi cần RETURN? Nếu một gói phù hợp với quy tắc đầu tiên thì nó sẽ tự động dừng thực thi các quy tắc khác.

Câu trả lời:


32

Các gói dữ liệu đi qua một chuỗi cho đến khi họ đạt ACCEPT, DROP, REJECT, hoặc RETURN. Họ không dừng lại trên một trận đấu trừ khi trận đấu đó có hành động chấm dứt. Trong ví dụ của bạn, một gói phù hợp với quy tắc đầu tiên sẽ được đánh dấu, nhưng sau đó sẽ được kiểm tra (và có thể được xử lý) theo quy tắc thứ hai.

Hoàn toàn để tham khảo, đây là các phần có liên quan từ trang man :

Quy tắc tường lửa chỉ định tiêu chí cho gói và mục tiêu. Nếu gói không khớp, quy tắc tiếp theo trong chuỗi là kiểm tra; nếu nó khớp, thì quy tắc tiếp theo được chỉ định bởi giá trị của mục tiêu, có thể là tên của chuỗi do người dùng xác định hoặc một trong các giá trị đặc biệt ACCEPT, DROP[, REJECT] QUEUEhoặc RETURN.

  • ACCEPT có nghĩa là để cho các gói thông qua.
  • DROP có nghĩa là thả gói trên sàn, tức là loại bỏ nó và không gửi bất kỳ phản hồi nào
  • [ REJECTđược sử dụng để gửi lại một gói lỗi để đáp ứng với gói phù hợp: nếu không thì nó tương đương với DROPvì vậy nó là một TARGET kết thúc, kết thúc quá trình truyền tải quy tắc.]
  • QUEUE có nghĩa là truyền gói đến không gian người dùng.
  • RETURNcó nghĩa là dừng đi qua chuỗi này và tiếp tục theo quy tắc tiếp theo trong chuỗi (gọi) trước đó. Nếu kết thúc chuỗi tích hợp hoặc đạt được quy tắc trong chuỗi tích hợp với mục tiêu RETURNđược khớp, mục tiêu được chỉ định bởi chính sách chuỗi sẽ xác định số phận của gói.

Đáp lại sự quan tâm cụ thể của bạn, tôi sẽ nói rằng hướng dẫn của bạn là sai lệch. Trừ khi "hành động liên quan" là một trong năm hành động đầu cuối, các gói sẽ tiếp tục chảy qua chuỗi cho đến khi chúng đạt đến một ẩn RETURNở cuối.


Tôi sẽ nâng cao câu trả lời này hơn một lần nếu tôi có thể.
JakeRobb

Đáng lưu ý rằng hành động mặc định cho chuỗi do người dùng xác định là RETURN.
stark

@stark không phải là những gì câu cuối cùng nói?
roaima

1
Ah, bây giờ tôi hiểu DROP tốt hơn. Điều đó giải thích tại sao tôi không có phòng chân dưới bàn này quá.
Jonathan Neufeld
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.