1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
Rust iptables
=============
[](https://crates.io/crates/iptables) [](https://docs.rs/iptables) [](https://github.com/yaa110/rust-iptables/actions/workflows/build.yml) [](https://github.com/yaa110/rust-iptables/blob/master/LICENSE)
This crate provides bindings for [iptables](https://www.netfilter.org/projects/iptables/index.html) application in Linux (inspired by [go-iptables](https://github.com/coreos/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.
```toml
[dependencies]
iptables = "*"
```
## Getting started
1- Import the crate `iptables` and manipulate chains:
```rust
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.
|