Tjekker for protokollen

iptables -A INPUT --protocol tcp -j ACCEPT

iptables -A INPUT --protocol ! udp -j LOG

Protokollet for regelen eller pakken som skal kontrolleres. Den angivne protokol kan være en af tcp, udp, icmp, værdien all, eller en numerisk værdi som repræsenterer en af disse protokoller eller en anden. Et protokolnavn fra /etc/protocols er også tilladt. Et ! før protokollen inverterer testen. Tallet nul er det samme som all. Protokollen all matcher alle protokoller, og bruges som standardværdi når tilvalget udelades.

TCP-specifikke tilvalg

Alle filtertilvalg som kigger længere ind i pakkens TCP-hoved, er TCP-specifikke. Dette omfatter at kontrollere kilde- og destinationsport, virkelig sporing af TCP-forbindelser, TCP-flag, etc.

TCP kilde- og destinationsporte

iptables -A INPUT --protocol tcp --source-port 22:12 -j LOG

iptables -A POSTROUTING --protocol tcp --destination-port ! 21232 -j DROP

Kildeport, destinationsport eller specifikation af et portinterval. Dette kan enten være et tjenestenavn eller portnummer. Et omsluttende interval kan også angives, i formatet port:port. Hvis den første port udelades antages "0". Hvis den anden udelades, antages 65535. Hvis den anden port er mindre end den første byttes de. Flaget --sport er et bekvemt alias for dette tilvalg.

TCP-flag

iptables -A INPUT --protocol tcp --tcp-flags ! SYN,ACK,FIN SYN,ACK -j LOG

Matcher når TCP-flagene er de angivne. Det første argument er flagene som skal kontrolleres, skrevet som en liste adskilt med kommategn, og det andet argument er en liste med flag som skal sættes adskilt med kommategn. Flaggene er: SYN ACK FIN RST URG PSH ALL NONE . Derfor bliver kommandoen:

iptables -A FORWARD -p tcp --tcp-option SYN,ACK,FIN,RST SYN -j ACCEPT matcher kun pakke med SYN-flaget sat, og ACK-, FIN- og RST-flagene ikke satte.

TCP-Tilvalg

iptables -A INPUT --protocol tcp --tcp-option 0 -j LOG

Match hvis om det numeriske TCP-tilvalg er sat i TCP-hovedet. Et ! kan bruges til at invertere matchningen.

UDP-specifikke tilvalg

UDP er den anden store protokol på internettet. Hovedforskellen til TCP, er at den ikke sørger for en forbindelse med tilstand for den forbundne vært. Med andre ord er UDP-pakker anonyme og lette at forfalske. På den anden side er de ekstremt hurtige (ingen ekstra håndtering på grund af forbindelser) og bruges derfor af mange protokoller. De vigtigste UDP-protokoller er DNS (værtnavn <--->IP-adresse ) og NFS (den almindeligste fildelingsprotokol for alle Unix-varianter).

UDP kilde- og destinationsporte

iptables -A INPUT --protocol udp --source-port 22:12 -j LOG

iptables -A POSTROUTING --protocol udp --destination-port ! 21232 -j DROP

Kildeport, destinationsport eller specifikation af et portinterval. Dette kan enten være et tjenestenavn eller portnummer. Et omsluttende interval kan også angives, i formatet port:port. Hvis den første port udelades antages "0". Hvis den anden udelades, antages 65535. Hvis den anden port er mindre end den første byttes de. Flaget --sport er et bekvemt alias for dette tilvalg.

ICMP

internet Control Message Protocol (ICMP) er kontrol- og meddelelsesprotokollen for den underliggende IP-protokol. Protokollen definerer meddelelser og kommandoer som ofte behøves, såsom “host-unreachable” når en IP-adresse ikke blev fundet, “echo-request” den normale ping-kommando og “source-quench” som beder modtageren om at sagtne trafikken - nægte tjeneste!!

ICMP-type

iptables -A INPUT --protocol icmp --icmp-type echo-request -j LOG

Dette tillader at ICMP-typen specificeres, som kan være en numerisk ICMP-type, eller et af ICMP-typenavnene som vises med kommandoen: iptables -p icmp -h .

Udvidelse til matchning af flere porte

Udvidelsen til matchning af flere porte lader dig angive en liste med op til 15 porte adskilte af kommategn i en TCP- eller UTP-specifik regel. Dette er hovedsageligt nyttigt for at spare tid ved at angive mere end en port pr regel.

Kildeporte

iptables -A INPUT --protocol tcp --match multiport --source-ports 22,21,20,80 -j LOG

Denne regel matcher alle TCP-pakker som har en kildeport som er i den angivne portliste.

Destinationsporte

iptables -A INPUT --protocol udp --match multiport --destination-ports 20,80,10 -j LOG

Denne regel matcher alle UDP-pakker som har en destinationsport som findes i den angivne portliste.

iptables -A INPUT --protocol tcp --match multiport --ports 20,50,1660 -j LOG

Match hvis både kilde- og destinationsportene er lig med hinanden og en af de angivne porte.