Tôi cần truy vấn các quy tắc hiện tại, cũng như có thể dễ dàng thêm và xóa quy tắc. Tôi đã không tìm thấy bất kỳ API nào để thực hiện việc này. Có cái gì tôi đang mất tích?Làm cách nào tôi có thể quản lý các quy tắc iptables một cách có lập trình khi đang di chuyển?
Gần nhất tôi đã đến một giải pháp đang sử dụng iptables-save | iptables-xml
để truy vấn và tự gọi lệnh iptables để thêm/xóa quy tắc. Một giải pháp khác mà tôi đã xem xét đơn giản là tái tạo toàn bộ ruleset ra khỏi cơ sở dữ liệu của ứng dụng của tôi và xả toàn bộ chuỗi, sau đó áp dụng lại nó. Nhưng tôi muốn tránh điều này vì tôi không muốn bỏ bất kỳ gói nào - trừ khi có một cách để làm điều này một cách nguyên tử. Tôi tự hỏi nếu có một cách tốt hơn.
API trong C sẽ tuyệt vời; tuy nhiên, khi tôi dự định xây dựng nó thành một chương trình suid độc lập, các thư viện thực hiện điều này bằng bất kỳ ngôn ngữ nào cũng tốt.
Dường như có thể chuyển từ XML sang iptables-restore 'xsltproc iptables.xslt my-iptables.xml | iptables-restore'. Xem manpage của 'iptables-xml'. – CMCDragonkai