Please explain me the use of bold character below
iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
-A -i -p -m state --state -j
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.
Sign up to join this communityman iptables
will tell you most of this and has an extensive list of examples.
-t
Specify the table to add the rule to (by default, the filter
table)
-A
Append the rule to the specified chain of rules (as opposed to -I
for insert at the beginning).
-i
Set the interface for this rule to match on (default of *
or all)
-p
match on the protocol of the packet
-m
Use an extended packet matching module as specified, in you case packet states.
--state
For the state
extended module, match any NEW
or ESTABLISHED
packets (via ip_conntrack
- ip connection tracking info stored in memory)
-j
"Jump" the packet to the specified target, the builtin ACCEPT is to allow the packet through
For some of these concepts it helps to know how packets traverse iptables
as well:
Each of the square boxes is a table
(-t
)
The columns are chains
(what you append/insert/delete rules in)
Image from http://en.wikibooks.org/wiki/Communication_Networks/IP_Tables
i -specifies the interfaces on which a packet was received
p - indicates the protocol as tcp, udp or icmp
The -A a parameter does not mean ACCEPT but append the rule to the end of the iptables INPUT chain
-m state - specifies a match to use here it loads the state module and allow only NEW and ESTABLISHED connections
-j - specifies the jump target (what to do if the packet matches it) here to ACCEPT the connection
other targets are DROP, DENY, LOG-A = ACCEPT
-i = Interface
-p= Protocol
I have read this while I am trying to learn