25+ Mest almindelige iptables-kommandoer med eksempler

Hvis du er på Linux, har du masser af muligheder for at beskytte din enhed. Den leveres med iptables, et kommandolinje firewall-værktøj, der tilbyder fleksibilitet og fremragende beskyttelse.

Men da det er et kommandolinjeværktøj, kræver det en lille indlæringskurve.

Så hvis du er systemadministrator eller Linux-lærer, er du på det rigtige sted, når vi gennemgår de almindelige iptables-kommandoer med eksempler.

Hvad er iptables?

iptables er en softwarebaseret Linux indbygget firewall. Det giver Linux-brugere mulighed for at oprette eller definere politikker, der direkte og indirekte påvirker internettrafikken.

Dette betyder, at du kan bruge iptables til at oprette regler, der blokerer eller tillader trafik via porten, kildens IP-adresse, netværksgrænseflader og mere.

Når du har defineret reglerne, skal al trafik gå igennem dem. Så for eksempel, for hver ny forbindelse, vil iptables tjekke for foruddefinerede regler, der matcher forbindelsen. Hvis den gør det, anvender den reglen på forbindelsen. Men hvis der ikke er nogen tilknyttede gældende regler, implementerer den standardreglen.

For at bruge iptables skal du bruge følgende kommando.

$ iptables -L -n -v 

Her er parametrene som nedenfor:

  • -L er for at liste alle regler.
  • -n får det numeriske output til at tilbyde hurtigere ydeevne.
  • -v for at vise output i detaljeret format.

Når du kører iptables-kommandoen uden nogen parameter, returnerer den følgende output:

iptables v1.8.7 (nf_tables): no command specified

Try `iptables -h' or 'iptables --help' for more information.

Du skal installere det, hvis det løber ind i en fejl, såsom kommandoen “iptables” ikke fundet.

For at installere iptables i din Linux-distribution skal du køre følgende kommando.

$ sudo apt-get install iptables

Det returnerer følgende, da det allerede er forudinstalleret på min Linux-distribution.

#output
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
iptables is already the newest version (1.8.7-1ubuntu5).
iptables set to manually installed.
0 upgraded, 0 newly installed, 0 to remove, and 35 not upgraded.

Hvad er Firewall?

Firewalls er den mest grundlæggende form for beskyttelse af systemer, netværk og personlige computere. Det kan være hardware- eller software-baseret, afhængigt af regler for at fungere korrekt.

De fleste firewalls er meget tilpasselige, så du kan oprette eller redigere regler. For eksempel, da pakker fra internettet bruger porte til at komme ind i et system, kan portbaseret scanning hjælpe dig med at filtrere dem fra. Udover det kan du også tillade eller blokere tjenester efter kilde-IP-adresse eller netværksgrænseflade.

Hvis du bruger Linux, får du adgang til indbyggede iptables. Du kan dog også bruge en selvstændig Linux-firewall til at hjælpe dig i processen med at beskytte dit system.

Hvorfor har du brug for iptables til at konfigurere firewallen?

Men hvorfor skulle du overhovedet bruge iptables? Der er trods alt gode alternative kommandolinje firewall-værktøjer såsom ufw og firewalld. Du kan også bruge selvstændige Linux-firewalls, der er enkle at bruge og tilbyder flere funktioner.

Så hvad gør iptables så tiltalende, når du konfigurerer en firewall? Grundene til at bruge det inkluderer:

  • Det giver fremragende fleksibilitet ud af kassen. Du kan indstille regler på pakkeniveau.
  • Det er relativt nemt at bruge, når du først ved, hvordan det fungerer.
  • Bloker uønsket trafik på en ligetil måde.
  • Omdiriger pakker til en alternativ IP-adresse.
  • Beskyt dine systemer mod Denial of Service (DoS)-angreb.

Og meget mere!

Forstå iptables arkitektur og dens relation til Netfilter

For at forstå iptables korrekt, skal vi lære om deres arkitektur. For det første vil det give os en klar forståelse af forskellige iptables-komponenter. Så, når vi kender til hver af dem, kan vi bruge dem til at skrive firewallregler.

Og når vi taler om iptables, kommer Netfilter også ind i billedet. Du kan tænke på “Netfilter” som en storebror til iptables. Den bygger oven på iptables og tilbyder et bedre funktionssæt til at administrere din firewall. Det bruger dog iptables som et af midlerne til at opnå fremragende firewall-egenskaber.

Iptables er en kommandolinjegrænseflade til Netfilter-kroge på kerneniveau. Disse hooks kan interagere med Linux-netværksstakken, hvilket påvirker pakker på det dybeste niveau.

Så hvordan ser iptables-arkitekturen ud:

Tabeller

iptables arkitektur starter med tabeller. Disse tabeller tager sig af regelorganisering. Og hver tabel er klassificeret baseret på den beslutningstype, de træffer. I mere simple termer forenkler en tabel den overordnede pakkebehandling ved at vedhæfte en specifik måde at behandle pakker på.

De forskellige borde, der tilbydes af iptables inkluderer:

  • Filtertabel: Angiver beslutningstype for pakkefiltrering. Enkelt sagt bestemmer det, om en pakke skal nå frem til sin destination eller ej.
  • NAT-tabel: Angiver beslutningstype for adresseoversættelse. Her bestemmes routingen af ​​pakkerne ud fra NAT-netværkene. For eksempel, hvis en pakke ikke kan få adgang til NAT, springer den over og forsøger at søge efter et ikke-NAT-netværk.
  • Mangletabel: Håndterer pakkens særlige behandlingsbehov. Du kan f.eks. konfigurere den til at ændre pakkens headeroplysninger, såsom TTL-værdier.
  • Rå tabel: Rå tabellen lader dig arbejde flittigt med det stateful aspekt af iptables firewall. Ved at bruge tabellen kan du rute pakker baseret på deres “tilstand”, før Linux-kernen begynder at spore dens tilstand. Det bruges primært til at markere pakkerne, uanset om forbindelsessporingssystemet håndterer dem eller ej. Hvis en pakke ikke spores, sættes den til NOTRACK-mål.

Kæder

Og så har vi “kæder” inden for “tabeller”.

Disse kæder håndterer dyb pakkeinspektion på forskellige stadier af deres rejse. For eksempel kan du inspicere dem, når den når en port eller en netværksgrænseflade. På denne måde kan der træffes en beslutning, før pakken frigives til et systems proces.

  8 bedste forhandler-hostingplatforme til din næste virksomhed

Ligesom borde får du også forskellige kæder. Disse omfatter:

  • PREROUTING-kæde: Her håndterer regler netop ankomne pakker på netværksgrænsefladen.
  • INPUT-kæde: Reglerne nævnt i INPUT-kæden håndterer indgående forbindelsesadfærd. Når de er færdige, gives de til den lokale proces.
  • OUTPUT-kæden: OUTPUT-kæden omhandler pakker, som processer producerer.
  • FORWARD-kæden: FORWARD-kæden administrerer pakker, der ikke er beregnet til lokale systemer. Det er en bærer til andre destinerede systemer, såsom en router.
  • POSTROUTING-kæden: Til sidst har vi POSTROUTING-kæden, som omhandler de pakker, der skal forlade gennem netværksgrænsefladen.

Ikke alle kæder er tilgængelige i hver tabel. For eksempel er FORWARD-kæden kun tilgængelig i mangle-, filter- og sikkerhedstabellen. På samme måde er POSTROUTING-kæden tilgængelig på mangle og nat (SNAT). Kun OUTPUT-kæden er tilgængelig i alle tabellerne.

Mål

Nu har vi et “mål”. Når en pakke ankommer, bevæger den sig gennem kæder for at se, hvilken regelbeskrivelse der passer bedst. Hvis den passer til beskrivelsen af ​​en regel, udfører den den tilknyttede handling baseret på den og flytter den derefter til målet – forsegler pakkens skæbne.

I mange tilfælde vil en pakke ikke passe til nogen beskrivelse eller regelsæt. Og det er her, standardpolitikken, et mål, kommer ind.

Målene kan være ACCEPT, DROP og REJECT. Disse er afsluttende mål, der afgør pakkens skæbne.

  • ACCEPT: Accepterer pakkerne.
  • DROP: Dropper pakken, hvilket gør den ude af stand for afsenderen at lære, om systemet er til stede eller ej.
  • REJECT: Afviser pakken.

Der er også ikke-terminerende mål, som hovedsageligt bruges til at gemme information om pakken.

Mest almindelige iptables-kommandoer med eksempler

Før du hopper og begynder at udføre iptables-kommandoen, skal du sørge for:

  • Du har administrativ adgang til at køre kommandoerne. Hvis kommandoen mislykkes på grund af administrative rettigheder, skal du køre kommandoen igen med sudo-kommandoen foran den.
  • Artiklen er ikke en vejledning i, hvordan man konfigurerer iptables på Ubuntu.
  • Vi bruger iptables-kommandoen, der fungerer med IPv4. Hvis du har til hensigt at arbejde med IPv6, skal du bruge ip6tables i stedet for.

Kontrollerer iptables-status

For at kontrollere den aktuelle iptables-status skal du køre følgende kommando.

$ iptables -L -n -v
#output

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

Ovenstående output indeholder en masse information. Det antyder dog også en inaktiv firewall. Det skyldes, at alle kæder i øjeblikket er indstillet til ACCEPT og ikke har nogen regler.

Du skal begynde at tilføje regler for at aktivere firewallen.

Tilføjelse af regler til kæden

Når du tilføjer en regel, tilføjes den altid til kæden. Derfor skal du bruge muligheden -A (tilføj). Syntaksen for det er som nedenfor:

$ sudo iptables - A

Men når du kører det, returnerer det følgende:

iptables v1.8.7 (nf_tables): option "-A" requires an argument

Try `iptables -h' or 'iptables --help' for more information.

Argumenterne, du kan bruge til at tilføje regler, er:

  • – i: Det står for grænsefladen. Her kan du nævne den grænseflade, du tilføjer regler for. Det kan være ppp0, eth0 og så videre.
  • – p: Det står for protokol. Her nævner du reglen om at bruge en netværksprotokol til at filtrere pakkere. For eksempel kan du sige ICMP, TCP, UDP osv. Hvis du ønsker, at reglen skal virke på tværs af alle protokoller, skal du nævne “alle” som argumentværdien.
  • – s: Dernæst kommer kildeargumentet, som nævner kilden til trafikken (som IP-adresse eller værtsnavn)
  • – dport: dporten står for destinationsporten, hvor du nævner det portnummer, som pakken er destineret til.
  • – j: Til sidst har vi et TARGET-argument, hvor du kan nævne TARGET-navnet, ACCEPT, DROP eller RETURN

Det er også vigtigt at skrive kommandoen i følgende rækkefølge:

$ sudo iptables -A <chain-name> -i <interface-name> - p <protocool-name> - s <source> --dport <port no.> -j <target>

Gemmer ændringer til iptables

Når du har tilføjet en regel, kan du gemme den med kommandoen iptables -save.

$ sudo iptables -save

Udgangen er som følger:

[email protected]:~$ sudo iptables-save

# Generated by iptables-save v1.8.7 on Sun May 14 13:37:34 2023

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 392 -j REJECT --reject-with icmp-port-unreachable

-A OUTPUT -o lo -j ACCEPT

COMMIT

# Completed on Sun May 14 13:37:34 2023

Vedvarende regler manuelt

Som standard gemmer iptables ikke reglerne. Så hvis du genstarter din computer, vil den fjerne alle reglerne. Du skal bruge følgende kommandoer for at sikre, at du ikke behøver at omkonfigurere iptables.

For IPv4-regler skal du skrive kommandoen:

$ sudo iptables-save > /etc/iptables/rules.v4

Og for IPv6-regler skal du skrive kommandoen:

$ sudo iptables-save > /etc/iptables/rules.v6

Vedvarende regler automatisk

For at få reglerne til at bestå selv efter en genstart, og det også automatisk, skal du installere pakken iptables-presistent.

For at gøre det skal du køre følgende kommando.

$ sudo apt-get install iptables-persistent

Det åbner følgende vindue. Tryk på enter på .

Da vi arbejder med IPv4-tabellen, viser den kun IPv4-regler. Hvis du arbejder på IPv6, vil det vise det relevante vindue.

Bemærk: Pakken indlæser kun dine gemte iptables-regler. Så hver gang du ændrer iptables, bliver du nødt til at gemme det med kommandoen iptables -save.

Genindlæsningsregler efter genstart

Når reglerne er gemt, skal du gendanne dem med følgende kommando.

$ sudo iptables-restore < /etc/iptables/rules.v4

Og

$ sudo iptables-restore < /etc/iptables/rules.v6

Aktivering af trafik på Localhost / Aktivering af Loopback

For at aktivere trafik på Localhost skal du bruge følgende kommando:

$ sudo iptables -A INPUT -i lo -j ACCEPT

Her står lo for loopback-grænsefladen for al lokalværtskommunikation.

På samme måde kan vi tillade pakker at forlade gennem loopback-grænsefladen.

$ sudo iptables -A OUTPUT -o lo -j ACCEPT

For at kontrollere, hvordan det ændrede reglerne, skal du køre iptables -L -n -V

#output

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

Aktivering af trafik på bestemte havne

Du kan aktivere trafik til at ACCEPTERE eller AFVISE på bestemte porte.

  Ret Dolphin Traversal Server-forbindelsesfejl

For eksempel er SSL-, HTTP- og SSH-porte vigtige for den normale funktion af dine apps. Du kan tilføje regler til ACCEPT-pakken gennem portnumrene for at sikre, at de fungerer efter hensigten.

For SSL skal du køre følgende kommando.

$ sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

For HTTPS skal du køre følgende kommando.

$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

For at tillade al HTTPS-trafik ved eth0-grænsefladen.

$ iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

$ iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

For SSH skal du køre følgende kommando.

$ sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Og for at acceptere ALT indgående SSH-trafik på eth0-grænsefladen, skal du køre følgende:

$ iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

$ iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

Et andet eksempel ville være at aktivere porttrafik på en specifik port for din tilpassede app. Lad os sige port 233.

Kør for at åbne forbindelser på den port.

$ sudo iptables -A INPUT -p tcp --dport 233 -j ACCEPT

På samme måde kan du også deaktivere forbindelser på en bestemt port ved at bruge REJECT target-indstillingen.

Lad os blokere alle forbindelser på port 392.

$ sudo iptables -A INPUT -p tcp --dport 392 -j REJECT

For at kontrollere, kør iptables -L -n -v kommandoen.

#output

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:233

    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:392 reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

 0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0

Slet eksisterende regler

For at slette eksisterende regler skal du køre følgende kommando.

$ iptables -F

eller

$ iptables --flush

Bemærk: Hvis du ikke har gemt dine regler, er de tabt for altid og kan ikke gendannes ved hjælp af iptables -restore

Slet regler med linjenumre

For at slette en bestemt regel skal du hente listen over regler med tal.

$ sudo iptables -L --line-numbers
#output

Chain INPUT (policy ACCEPT)

num  target     prot opt source               destination

1    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

2    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http

3    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

4    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:233

5    REJECT     tcp  --  anywhere             anywhere             tcp dpt:392 reject-with icmp-port-unreachable

Kør følgende kommando, hvis du ønsker at fjerne regel nummer 4 for INPUT-kæden.

$ sudo iptables -D INPUT 4

Og hvis du igen kører kommandoen iptables -n -v -L.

#output

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443

    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:392 reject-with icmp-port-unreachable

Vis kun INPUT- eller OUTPUT-kæderegler

For kun at vise INPUT-kæderegler skal du køre følgende kommando.

$ sudo iptables -L INPUT -n -v --line-numbers
#ouput

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22

2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80

3        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443

4        0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:392 reject-with icmp-port-unreachable

På samme måde, hvis du kun vil se OUTPUT-kæderegler, skal du køre:

$ sudo iptables -L OUTPUT -n -v --line-numbers
#output

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1        0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0

Start/Stop/Genstart Firewall

Hvis du er på RHEL/Fedora Linux eller CentOS, kan du starte/stoppe eller genstarte firewallen ved at køre kommandoerne.

$ service iptables stop

$ service iptables start

$ service iptables restart

Du kan også bruge systemctl-kommandoen.

  Sådan genereres adgangskoder med Chrome Password Tool

Det vil dog ikke virke på Ubuntu.

Indsæt regler på et bestemt sted

Hvis du vil indsætte regler på en bestemt position, skal du bruge følgende kommandoer.

Tjek først reglerne.

$ sudo iptables -L INPUT -n --line-numbers
#output

Chain INPUT (policy ACCEPT)

num  target     prot opt source               destination

1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22

2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80

3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443

4    REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:392 reject-with icmp-port-unreachable

Kør følgende kommando, hvis du vil indsætte regler mellem 2 og 3.

$ sudo iptables -I INPUT 3 -s 252.32.1.2 -j DROP

Tjek nu de opdaterede regler.

#output

Chain INPUT (policy ACCEPT)

num  target     prot opt source               destination

1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22

2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80

3    DROP       all  --  252.32.1.2           0.0.0.0/0

4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443

5    REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:392 reject-with icmp-port-unreachable

Bloker indgående trafik, men tillad udgående trafik

Du skal indtaste følgende kommando for at blokere al indgående trafik.

$ iptables -P INPUT DROP

$ iptables -P FORWARD DROP

$ iptables -P OUTPUT ACCEPT

$ iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT

$ iptables -L -v -n

På denne måde kan du pinge eller downloade pakker, men blokere enhver ukendt indgående trafik.

Bloker en bestemt IP-adresse

For at blokere en specifik IP-adresse skal du køre følgende kommando.

$ iptables -A INPUT -s 14.23.59.9 -J DROP

Du kan også definere en variabel til at gemme den blokerede IP-adresse og derefter køre kommandoen.

BLOCK_THE_IP = “a.b.c.d”

Og kør så:

$ iptables -A INPUT -s “BLOCK_THE_IP” -j DROP

Bemærk: Skift “abcd” til din foretrukne IP-adresse.

Tillad systemping udefra

Du kan få eksterne brugere til at pinge din server for at gøre dit netværk synligt.

$ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

$ sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

Tillader internt netværk at tale med eksternt netværk

Kør følgende kommando for at tillade det interne netværk (lad os sige eth0) til det eksterne netværk (lad os sige eth1).

$ sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

Tillad udgående DNS

For at tillade DNS-forbindelser til din server skal du køre følgende kommando.

$ iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT

$ iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

Tillad Rsycn fra et specifikt netværk

Hvis du bruger kommandoen Rsync og vil aktivere den over et specifikt netværk, skal du køre følgende kommando.

iptables -A INPUT -i eth0 -p tcp -s 192.168.101.0/24 --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --sport 873 -m state --state ESTABLISHED -j ACCEPT

Bloker port

Kør følgende kommando for at blokere en specifik port og eventuelle indkommende anmodninger.

iptables -A INPUT -p tcp --dport 80 -j DROP

iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

Bloker udgående trafik til en bestemt IP-adresse

Du kan blokere trafik til enhver IP-adresse ved at køre følgende kommando.

$ host -t a toadmin.dk.com

#produktion

toadmin.dk.com har en adresse på 172.66.40.93

For at blokere udgående trafik til den pågældende IP-adresse skal du køre følgende kommando.

iptables -A OUTPUT -d 72.66.40.93 -j DROP

På samme måde kan du også blokere sociale medieplatforme som Instagram, Twitter og Facebook.

Find IP-adressen til sociale medier ved at køre følgende kommando:

$ host -t a social-media-web-adrress.com

For eksempel vil det for Instagram være:

$ host -t a www.instagram.com

Nu skal du finde CIDR for IP-adressen på den pågældende sociale medieplatform.

$ whois 185.89.219.11 | grep CIDR

Bemærk: Du skal muligvis installere whois-pakken ved at køre sudo apt-get install whois

Indtast nu CIDR-værdien på følgende måde:

$ iptables - A OUTPUT -p tcp -d CIDR-value -j DROP

Bemærk: Sørg for at ændre CIDR-værdien i overensstemmelse hermed.

Tillad eller bloker ICMP Ping-anmodning

For at tillade eller blokere ICMP-ping-anmodninger skal du køre følgende kommandoer.

$ iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

$ iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP

Åbn et bestemt udvalg af havne

For at åbne en række porte skal du køre følgende kommando.

$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8933: 8500 -j ACCEPT

Angiv NAT-regler

For at liste NAT-regler skal du køre følgende kommando:

$ sudo iptables -t nat -L -n -v

Eller

$ sudo iptables -t nat -v -L -n --line-number

Nulstil pakketællere

Sådan tjekker du den aktuelle iptables-tæller:

$ sudo iptables -L -n -v

For at nulstille eller rydde tællerne skal du køre følgende:

$ sudo iptables -Z

$ sudo iptables -L -n -v

For kun at nulstille INPUT-kædetælleren, kør:

$ iptables -Z INPUT

For at nulstille en bestemt regeltæller skal du køre følgende:

$ iptables -z INPUT RULE-NUMBER

Sørg for at ændre REGELNUMMER til den pågældende regel.

Afsluttende ord

iptables er et kraftfuldt firewall-kommandolinjeværktøj. Du kan konfigurere næsten alt relateret til netværksressourcer, pakker, grænseflader og bestemte scenarier.

Også iptables tilbyder masser af muligheder. Tjek dens hovedside ved at bruge man-kommandoen for at få det komplette billede.

$ man iptables
$ man ip6tables

Tjek derefter en netværksfirewall, og hvordan den hjælper med at stoppe angreb.