2011-01-20 22 views
5

Tôi đã bị rơi xung quanh trên trang chủ netfilter/iptables cũng như beseeching Google, nhưng không có may mắn cho đến nay.Có một API Ruby để thao tác các chuỗi lọc gói một iptables không?

Tôi có ứng dụng Rails cần kiểm soát lọc gói cho máy chủ Linux của mình. Nó có thể làm điều này bằng cách chỉ việc đổ các quy tắc vào/etc/sysconfig/iptables và nảy ra kịch bản khởi động iptables, tất nhiên. Nhưng nó sẽ ngọt ngào hơn nếu nó có thể liên tục thực hiện các cuộc gọi thông qua một API.

Yêu cầu của ứng dụng thực sự rất đơn giản; nó chỉ cần thêm và xóa các quy tắc ACCEPT cho một địa chỉ IP nguồn đã cho đến một cổng TCP đã cho trên máy chủ, để kiểm soát quyền truy cập vào dịch vụ đó.

Tôi tìm thấy các tham chiếu đến dự án ruby-iptables, nhưng điều đó dường như đã biến mất một số năm trước.

Nếu tôi phải sử dụng các cuộc gọi getocketopt() và tương tự, tôi sẽ thực hiện phương pháp tiếp cận văn bản và khởi động lại, điều này sẽ xúc phạm cảm biến Slickness của tôi nhưng làm cho khách hàng của tôi mỉm cười, bởi vì anh ấy thích làm việc phần mềm tốt hơn phần mềm thực sự thanh lịch sẽ hoạt động Rất sớm ngay bây giờ.

Trả lời

1

Nếu bạn tìm kiếm "netfilter ruby", bạn sẽ tìm thấy nhiều hơn. NetFilter (http://netfilter.org/) là khuôn khổ cơ bản đằng sau iptables.

http://rubyipq.rubyforge.org/ (Traffic Shaping) https://github.com/johnl/netfilter.rb (DSL) http://rubyforge.org/projects/iptcext/ (IPTC giao diện thư viện)

cuối cùng là nhất như những gì bạn muốn, nhưng trong khi có mã số, có vẻ không phải là một phiên bản thực sự.

Các vấn đề liên quan