TCP extensions:

su loadnute ked je v niekde v pravidle -p tcp:

--tcp-flags

pakety maju flagy (SYN ACK FIN RST URG PSH ALL NONE), prvy retazec flagov je retazec zoznamu flagov ktore chceme kontrolovat, druhy retazec je zoznam flagov ktore ma paket obsahovat a s ktorym ho posleme do nejakeho targetu.

#iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK -j DROP

co znamena, ze na paketoch bude skumane vsetky flagy ale len tie ktore maju flagy SYN a ACK budu DROPnute.

--syn

je to skratka pre --tcp-flags SYN,RST,ACK SYN (su skumane flagy SYN, RST, ACK a len pakety zo SYN flagom su poslane na target -j.

--source-port, --sport
--destination-port --dport

zdrojove a cielove porty su bud zadane ako konkretny port (23), rozsah portov (1-65535), pripadne porty vacsie, mensie ako (<1024, >1024)

Niekedy je nutne povolit tcp spojenia jednym smerom a zakazat ho opacnym, povedzme chcete povolit pripojenia k WWW servru, ale ziadne od neho.

Riesenim je zablokovat len pakety ktore sa pouzivaju na "vyziadanie" spojenia. Tieto pakety volame SYN pakety(spravne su to pakety s nastavenym SYN flagom/bitom a ACK a RST flagmi prazdnymi). Zakazanim tychto paketov dosiahnete nemoznost otvorenia spojenia, a pouziva sa na to --syn parameter (spominana skratka - uz je jasne preco). Povedzme chceme specifikovat pokusy o spojenie zo 192.168.1.1 napiseme to "-p TCP -s 192.168.1.1 --syn".