iptables
command adapted for the flex-fw environment
iptables help | { { [table TABLE] [action ACTION] CHAIN [FILTER] RESTRICTED_IPTABLES_ARGS } | ANY_IPTABLES_ARGS
TABLE := iptables table name: filter
, nat
or mangle
.
Default: filter
ACTION := insert
| append
| delete
Change the default action defined in the file /etc/flex-fw/vars/base/action
(usually append
)
CHAIN := input
| output
| forward
| prerouting
| postrouting
| chain
IPTABLES_CHAIN
Define flex-fw chain for adding new rules. The postrouting
and prerouting
can be used only with nat
or mangle
tables. See man iptables for details.
FILTER := [FROM] [TO] [proto
PROTO] [state
STATE]
RESTRICTED_IPTABLES_ARGS := any valid iptables args beginning with a dash, excluding added by the used TABLE
, ACTION
, CHAIN
or FILTER
options.
ANY_IPTABLES_ARGS := any valid iptables args beginning with a dash
FROM := { [in-if
IFACE] [src
IPADDR] } | from
ZONE
Source part of filter.
TO := { [out-if
IFACE] [dst
IPADDR] } | to
ZONE
Destination part of filter.
PROTO := any
| { tcp
[SOURCE_PORT] [DESTINATION_PORT] } | { udp
[SOURCE_PORT] [DESTINATION_PORT] } | PROTO_NUMBER
Network protocol and some related info.
STATE := new
| established
| related
State of connections.
Default: new
IFACE := any
| INTERFACE_NAME
Network interface name. any
is a synonym for +
.
IPADDR := any
| IPv4_ADDRESS
IPv4 host or network address. For example: 192.168.0.12
, 192.168.0.0/16
. any
is a synonym for 0.0.0.0/0
.
ZONE := name of zone described in the file /etc/flex-fw/zones/zonename
The zonename file contains lines with interface name and IPv4 address per each line and divided by spaces. Look to zones for details.
SOURCE_PORT := sport
PORT | sports
PORT,PORT,...
Source port(s) for TCP or UDP protocol.
DESTINATION_PORT := dport
PORT | dports
PORT,PORT,...
Destination port(s) for TCP or UDP protocol.
PORT := any
| priv
| unpriv
| PORT_NUMBER | PORT_NUMBER1:PORT_NUMBER2
Port of TCP or UDP protocol. any
is equal 0:65535
. priv
is equal 0:1023
. unpriv
is equal 1024:65535
.
PROTO_NUMBER := any the numeric value as specified in /etc/protocols
.
Add a new custom chain
iptables --new-chain MAC_FILTER
Add rules to the custome chain
iptables chain MAC_FILTER proto tcp -m mac --mac-source 00:FA:34:DF:22:34 -j DROP iptables chain MAC_FILTER proto udp -m mac --mac-source 00:FA:34:DF:22:35 -j DROP iptables chain MAC_FILTER -j RETURN
Add redirect to the new chain from the standard INPUT
chain
iptables input -j MAC_FILTER
Add rules to fix MSS
iptables table mangle forward proto tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1396
Copyright (C) 2014 Vitalii Druzhinin
aka VitalShell