iptables 0.1.0

Rust bindings for iptables
Documentation

Rust iptables

crates.io Documentation Build Status License

Rust iptables v0.1.0 provides bindings for iptables application in Linux. 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.

Installation

The minimum required Rust version is 1.13.0 which supports ? operator. Add iptables = "0.1" to dependencies section of Cargo.toml:

[dependencies]
iptables = "0.1"

Getting started

1- Import the crate iptables and manipulate chains:

extern crate iptables;

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

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

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