Skip to content
Rust bindings for iptables
Branch: master
Clone or download
Latest commit afdc19b May 9, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
Cargo.toml
LICENSE
README.md

README.md

Rust iptables

crates.io Documentation Build Status License

Rust iptables v0.2.2 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.

Installation

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

[dependencies]
iptables = "0.2"

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.

You can’t perform that action at this time.