Tjekker for protokollen |
forrige | Filtrering og håndtering af pakker | næste |
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.
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.
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.
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.
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).
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.
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!!
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.
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.
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.
forrige | hjem | næste |
Filtrering og håndtering af pakker | op | Indkommende og udgående grænseflade |