15 releases

Uses new Rust 2024

0.5.3 Feb 20, 2025
0.5.2 Jun 6, 2024
0.5.1 Sep 18, 2023
0.5.0 Feb 1, 2022
0.1.2 Feb 11, 2017

#379 in Network programming

Download history 2577/week @ 2025-03-09 2501/week @ 2025-03-16 2815/week @ 2025-03-23 2943/week @ 2025-03-30 2394/week @ 2025-04-06 2726/week @ 2025-04-13 2212/week @ 2025-04-20 2443/week @ 2025-04-27 2260/week @ 2025-05-04 2451/week @ 2025-05-11 2029/week @ 2025-05-18 2852/week @ 2025-05-25 3513/week @ 2025-06-01 2199/week @ 2025-06-08 2795/week @ 2025-06-15 2808/week @ 2025-06-22

11,514 downloads per month
Used in 2 crates

MIT license

20KB
442 lines

Rust iptables

crates.io Documentation Build License

This crate provides bindings for iptables application in Linux (inspired by go-iptables). This crate uses iptables binary to manipulate chains and tables. This source code is licensed under MIT license that can be found in the LICENSE file.

[dependencies]
iptables = "*"

Getting started

1- Import the crate iptables and manipulate chains:

let ipt = iptables::new(false).unwrap();

assert!(ipt.new_chain("nat", "NEWCHAINNAME").is_ok());
assert!(ipt.append("nat", "NEWCHAINNAME", "-j ACCEPT").is_ok());
assert!(ipt.exists("nat", "NEWCHAINNAME", "-j ACCEPT").unwrap());
assert!(ipt.delete("nat", "NEWCHAINNAME", "-j ACCEPT").is_ok());
assert!(ipt.delete_chain("nat", "NEWCHAINNAME").is_ok());

For more information, please check the test file in tests folder.

Dependencies

~5MB
~91K SLoC