Tôi đang cấu hình một bộ định tuyến Linux với iptables
. Tôi muốn viết các bài kiểm tra chấp nhận cho cấu hình khẳng định những thứ như:
- lưu lượng truy cập từ một số người trên internet không được chuyển tiếp, và
- TCP đến cổng 80 trên máy chủ web trong DMZ từ các máy chủ trên mạng LAN công ty được chuyển tiếp.
Câu hỏi thường gặp cổ đại ám chỉ đến một iptables -C
tùy chọn cho phép người ta hỏi một câu như "được cung cấp một gói từ X, cho Y, trên cổng Z, liệu nó có được chấp nhận hoặc bỏ đi không?" Mặc dù FAQ cho thấy nó hoạt động như thế này, iptables
nhưng (có thể không ipchains
sử dụng trong các ví dụ), -C
tùy chọn dường như không mô phỏng gói thử nghiệm chạy qua tất cả các quy tắc, nhưng kiểm tra sự tồn tại của quy tắc khớp chính xác. Điều này có ít giá trị như một bài kiểm tra. Tôi muốn khẳng định rằng các quy tắc có hiệu quả mong muốn, không chỉ là chúng tồn tại.
Tôi đã xem xét việc tạo thêm máy ảo thử nghiệm và mạng ảo, sau đó thử nghiệm các công cụ như nmap
hiệu ứng. Tuy nhiên, tôi đang tránh giải pháp này do sự phức tạp của việc tạo ra tất cả các máy ảo bổ sung đó, đây thực sự là một cách khá nặng nề để tạo ra một số lưu lượng thử nghiệm. Thật tuyệt khi có một phương pháp thử nghiệm tự động cũng có thể hoạt động trên một máy chủ thực sự trong sản xuất.
Làm thế nào khác tôi có thể giải quyết vấn đề này? Có một số cơ chế tôi có thể sử dụng để tạo hoặc mô phỏng lưu lượng tùy ý, sau đó biết liệu nó có (hoặc sẽ) bị loại bỏ hoặc chấp nhận iptables
không?