Ubuntu: Cách thêm quy tắc iptables mà UFW không thể tạo


15

UFW đang hoạt động rất tốt đối với tôi trừ những trường hợp không ...

Tôi muốn có thể thêm một quy tắc thủ công sẽ được áp dụng khi khởi động?

  • Tôi nên đặt quy tắc này ở đâu?
  • Làm thế nào tôi nên làm cho nó bắt đầu lúc khởi động?
  • Làm thế nào để tôi làm cho nó chơi độc đáo với UFW?

1
ufw là một trong những điều "những gì bạn thấy là tất cả những gì bạn nhận được" giúp người mới dễ dàng hơn. Nếu bạn cần làm nhiều hơn những gì có thể, hãy xem xét chuyển hoàn toàn sang iptables. Rằng "làm việc thực sự tốt cho tôi" là một bằng chứng tốt cho thấy bạn có thể thử một cái gì đó (iptables) phức tạp hơn (nhưng cũng linh hoạt hơn).
halp

Câu trả lời:


14

Theo trang wiki Ubuntu này (cuộn xuống "Chức năng nâng cao"), bạn có thể đạt được những gì bạn muốn bằng cách đặt các iptablesquy tắc của riêng bạn vào các tệp sau:

  • /etc/ufw/before.rules
  • /etc/ufw/after.rules

Các beforetập tin được đánh giá trước khi bất kỳ ufwquy tắc được áp dụng; các aftertập tin được đánh giá sau. (Ngoài ra còn có các tệp quy tắc before6và tương ứng after6, cho các ip6tablesquy tắc của bạn .)

Các tệp quy tắc này được dự kiến ​​là iptables-restorecú pháp không tương thích, có lẽ vì ufwđơn giản là tải chúng bằng cách sử dụng iptables-restore. Cuối cùng, lưu ý rằng bạn cần dừng và khởi động lại ufwsau khi bạn thực hiện bất kỳ thay đổi nào đối với các tệp quy tắc.


3
Lưu ý rằng bạn có thể (có thể vô tình) thay đổi quyền ưu tiên của các quy tắc iptables nếu bạn quên chuẩn hóa việc sử dụng -I hoặc -A khi sử dụng các tệp này. -I (insert) thêm các quy tắc vào TOP của chuỗi, được đánh giá đầu tiên, trong khi -A (chắp thêm) thêm chúng vào dưới cùng của chuỗi. Điều này có thể gây ra kết quả không mong muốn nếu bạn sử dụng -I trong tệp .after chẳng hạn. Chỉ là một ý nghĩ.
Sam Halicke

0

UFW sẽ thanh lọc bất kỳ quy tắc được thêm MANUALLY nào trong /etc/ufw/user.rulesđó KHÔNG được mở đầu bằng một nhận xét:

### tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0 out
-A ufw-user-output -p tcp --dport 80 -j ACCEPT

Khi UFW sanity kiểm tra các quy tắc khi khởi động, nó mong đợi một bình luận đi kèm. Nếu nó KHÔNG có mặt, ngay cả khi cú pháp của quy tắc là chính xác, UFW vẫn sẽ lọc nó.

Và đừng chỉ sử dụng bất kỳ nhận xét tùy ý nào: PHẢI là nhận xét mà UFW sẽ chèn khi tạo quy tắc người dùng thông qua cli, tức là:

sudo ufw allow http/tcp

Vì vậy, nếu bạn muốn tạo trước một loạt các quy tắc trong một quy tắc trong một tệp đơn giản, bạn vẫn cần tạo các quy tắc thông qua giao diện CLI của UFW để tìm hiểu cú pháp của các nhận xét mà quy tắc này mong muốn để vượt qua xác thực và tồn tại .

Hãy thử những điều đã nói ở trên và KHÔNG CÓ bình luận và tải lại quy tắc HTTP mẫu ở trên; bạn sẽ chỉ nhận xét với nhận xét rằng quy tắc được thêm thủ công sẽ tồn tại khi khởi động lại ( bật ufw ) của UFW.

Đây thực sự là hành vi phản trực giác và không được ghi nhận ở tất cả.

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.