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.
Indholdsfortegnelse
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.
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.
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.
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.