25+ vanligste iptables-kommandoer med eksempler
Hvis du bruker Linux, har du mange alternativer for å beskytte enheten din. Den leveres med iptables, et kommandolinjebrannmurverktøy som tilbyr fleksibilitet og utmerket beskyttelse.
Men siden det er et kommandolinjeverktøy, krever det en liten læringskurve.
Så hvis du er systemadministrator eller Linux-lærer, er du på rett sted når vi går gjennom de vanlige iptables-kommandoene med eksempler.
Hva er iptables?
iptables er en programvarebasert Linux innebygd brannmur. Det lar Linux-brukere lage eller definere retningslinjer som direkte og indirekte påvirker internetttrafikken.
Dette betyr at du kan bruke iptables til å lage regler som blokkerer eller tillater trafikk via porten, kildens IP-adresse, nettverksgrensesnitt og mer.
Når du har definert reglene, må all trafikk gå gjennom den. Så for eksempel, for hver ny tilkobling, vil iptables se etter forhåndsdefinerte regler som samsvarer med tilkoblingen. Hvis den gjør det, bruker den regelen på tilkoblingen. Men hvis det ikke er noen tilknyttede gjeldende regler, implementerer den standardregelen.
For å bruke iptables, må du bruke følgende kommando.
$ iptables -L -n -v
Her er parametrene som nedenfor:
- -L er for å liste opp alle regler.
- -n gjør at den numeriske utgangen gir raskere ytelse.
- -v for å vise utdata i detaljert format.
Når du kjører iptables-kommandoen uten noen parameter, vil den returnere følgende utdata:
iptables v1.8.7 (nf_tables): no command specified Try `iptables -h' or 'iptables --help' for more information.
Du må installere den hvis den får en feil, for eksempel kommandoen «iptables» ikke funnet.
For å installere iptables i Linux-distribusjonen din, kjør følgende kommando.
$ sudo apt-get install iptables
Den vil returnere følgende siden den allerede er forhåndsinstallert på min Linux-distribusjon.
#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.
Hva er brannmur?
Brannmurer er den mest grunnleggende formen for å beskytte systemer, nettverk og personlige datamaskiner. Det kan være maskinvare- eller programvarebasert, og stole på regler for å fungere ordentlig.
De fleste brannmurer er svært tilpassbare, slik at du kan opprette eller redigere regler. For eksempel, ettersom pakker fra internett bruker porter for å komme inn i et system, kan portbasert skanning hjelpe deg med å filtrere dem ut. Bortsett fra det kan du også tillate eller blokkere tjenester etter kilde-IP-adresse eller nettverksgrensesnitt.
Hvis du bruker Linux, får du tilgang til innebygde iptables. Du kan imidlertid også bruke en frittstående Linux-brannmur for å hjelpe deg i prosessen med å beskytte systemet ditt.
Hvorfor trenger du iptables for å konfigurere brannmuren?
Men hvorfor skal du bruke iptables i det hele tatt? Tross alt er det gode alternative kommandolinjebrannmurverktøy som ufw og firewalld. Du kan også bruke frittstående Linux-brannmurer som er enkle å bruke og tilbyr flere funksjoner.
Så, hva gjør iptables så tiltalende når du konfigurerer en brannmur? Grunnene til å bruke det inkluderer:
- Den gir utmerket fleksibilitet ut av esken. Du kan angi regler på pakkenivå.
- Det er relativt enkelt å bruke når du først vet hvordan det fungerer.
- Blokker uønsket trafikk på en enkel måte.
- Omdiriger pakker til en alternativ IP-adresse.
- Beskytt systemene dine mot Denial of Service (DoS)-angrep.
Og mye mer!
Forstå iptables-arkitektur og dens forhold til Netfilter
For å forstå iptables riktig, må vi lære om arkitekturen deres. Først vil det gi oss en klar forståelse av forskjellige iptables-komponenter. Så, når vi vet om hver av dem, kan vi bruke dem til å skrive brannmurregler.
Og når vi snakker om iptables, kommer Netfilter også inn i bildet. Du kan tenke på «Netfilter» som en storebror til iptables. Den bygger på toppen av iptables og tilbyr et bedre funksjonssett for å administrere brannmuren din. Imidlertid bruker den iptables som et av virkemidlene for å oppnå utmerkede brannmuregenskaper.
Iptables er et kommandolinjegrensesnitt til Netfilter-kroker på kjernenivå. Disse krokene kan samhandle med Linux-nettverksstakken, noe som påvirker pakker på det dypeste nivået.
Så, hvordan ser iptables-arkitekturen ut:
Tabeller
iptables-arkitektur starter med tabeller. Disse tabellene tar seg av regelorganisering. Og hver tabell er klassifisert basert på beslutningstypen de tar. Enkelt sagt forenkler en tabell den generelle pakkebehandlingen ved å legge ved en spesifikk måte å behandle pakker på.
De forskjellige bordene som tilbys av iptables inkluderer:
- Filtertabell: Angir beslutningstype for pakkefiltrering. Enkelt sagt avgjør den om en pakke skal nå målet eller ikke.
- NAT-tabell: Spesifiserer beslutningstype for adresseoversettelse. Her bestemmes rutingen av pakkene basert på NAT-nettverkene. For eksempel, hvis en pakke ikke kan få tilgang til NAT, hopper den over og prøver å søke etter et ikke-NAT-nettverk.
- Mangletabell: Håndterer pakkens spesielle behandlingsbehov. Du kan for eksempel konfigurere den til å endre pakkens overskriftsinformasjon, for eksempel TTL-verdier.
- Råtabell: Råtabellen lar deg jobbe flittig med det stateful aspektet av iptables-brannmuren. Ved å bruke tabellen kan du rute pakker basert på deres «tilstand» før Linux-kjernen begynner å spore dens tilstand. Den brukes først og fremst til å merke pakkene, enten tilkoblingssporingssystemet håndterer dem eller ikke. Hvis en pakke ikke spores, settes den til NOTRACK-mål.
Kjeder
Og så har vi «kjeder» innenfor «tabeller».
Disse kjedene håndterer dyp pakkeinspeksjon på forskjellige stadier av reisen. Du kan for eksempel inspisere dem når den når en port eller et nettverksgrensesnitt. På denne måten kan en beslutning tas før pakken frigis til systemets prosess.
Akkurat som bord får du også forskjellige kjeder. Disse inkluderer:
- PREROUTING-kjede: Her håndterer regler nettopp ankomne pakker i nettverksgrensesnittet.
- INPUT-kjede: Reglene nevnt i INPUT-kjeden håndterer innkommende tilkoblingsatferd. Når de er ferdige, blir de gitt til den lokale prosessen.
- OUTPUT-kjede: OUTPUT-kjeden omhandler pakker som prosesser produserer.
- FORWARD-kjeden: FORWARD-kjeden administrerer pakker som ikke er ment for lokale systemer. Det er en bærer for andre destinerte systemer, for eksempel en ruter.
- POSTROUTING-kjeden: Til slutt har vi POSTROUTING-kjeden, som tar for seg pakkene som skal ut gjennom nettverksgrensesnittet.
Ikke alle kjeder er tilgjengelige i hver tabell. For eksempel er FORWARD-kjeden bare tilgjengelig i mangle-, filter- og sikkerhetstabellen. På samme måte er POSTROUTING-kjeden tilgjengelig på mangle og nat (SNAT). Bare OUTPUT-kjeden er tilgjengelig i alle tabellene.
Mål
Nå har vi et «mål». Når en pakke kommer, beveger den seg gjennom kjeder for å se hvilken regelbeskrivelse som passer best. Hvis den passer til beskrivelsen av en regel, utfører den den tilknyttede handlingen basert på den og flytter den deretter til målet – forsegler pakkens skjebne.
I mange tilfeller vil en pakke ikke passe til noen beskrivelse eller regelsett. Og det er her standardpolicyen, et mål, kommer inn.
Målene kan være ACCEPT, DROP og REJECT. Dette er avsluttende mål som avgjør pakkens skjebne.
- GODKJENNER: Godtar pakkene.
- DROP: Dropper pakken, noe som gjør den ikke i stand for avsenderen å finne ut om systemet er til stede eller ikke.
- AVVIS: Avviser pakken.
Det er også ikke-avsluttende mål som hovedsakelig brukes til å lagre informasjon om pakken.
Mest vanlige iptables-kommandoer med eksempler
Før du hopper og begynner å utføre iptables-kommandoen, sørg for:
- Du har administrativ tilgang til å kjøre kommandoene. Hvis kommandoen mislykkes på grunn av administrative rettigheter, kjør kommandoen på nytt med sudo-kommandoen foran den.
- Artikkelen er ikke en veiledning om hvordan du konfigurerer iptables på Ubuntu.
- Vi bruker iptables-kommandoen som fungerer med IPv4. Hvis du har tenkt å jobbe med IPv6, må du bruke ip6tables i stedet.
Sjekker iptables-statusen
For å sjekke gjeldende iptables-status, må du kjø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
Ovennevnte utgang inneholder mye informasjon. Det antyder imidlertid også en inaktiv brannmur. Det er fordi, for øyeblikket, er alle kjeder satt til GODKJENNING og har ingen regler.
Du må begynne å legge til regler for å aktivere brannmuren.
Legge til regler i kjeden
Når du legger til en regel, legges den alltid til i kjeden. Derfor må du bruke alternativet -A (Legg til). Syntaksen for det er som nedenfor:
$ sudo iptables - A
Men når du kjører den, returnerer den følgende:
iptables v1.8.7 (nf_tables): option "-A" requires an argument Try `iptables -h' or 'iptables --help' for more information.
Argumentene du kan bruke for å legge til regler er:
- – i: Det står for grensesnittet. Her kan du nevne grensesnittet du legger til regler for. Det kan være ppp0, eth0, og så videre.
- – p: Det står for protokoll. Her nevner du regelen for å bruke en nettverksprotokoll for å filtrere pakkere. Du kan for eksempel si ICMP, TCP, UDP osv. Hvis du vil at regelen skal fungere på tvers av alle protokoller, nevner du «alle» som argumentverdien.
- – s: Deretter kommer kildeargumentet, som nevner kilden til trafikken (som IP-adresse eller vertsnavn)
- – dport: dporten står for destinasjonsporten, hvor du nevner portnummeret som pakken er destinert til.
- – j: Til slutt har vi et TARGET-argument der du kan nevne TARGET-navnet, ACCEPT, DROP eller RETURN
Det er også viktig å skrive kommandoen i følgende rekkefølge:
$ sudo iptables -A <chain-name> -i <interface-name> - p <protocool-name> - s <source> --dport <port no.> -j <target>
Lagrer endringer i iptables
Når du har lagt til en regel, kan du lagre den med kommandoen iptables -save.
$ sudo iptables -save
Utgangen 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 lagrer ikke iptables reglene. Så hvis du starter datamaskinen på nytt, vil den fjerne alle reglene. Du må bruke følgende kommandoer for å sikre at du ikke trenger å rekonfigurere iptables.
For IPv4-regler, skriv kommandoen:
$ sudo iptables-save > /etc/iptables/rules.v4
Og for IPv6-regler, skriv kommandoen:
$ sudo iptables-save > /etc/iptables/rules.v6
Vedvarende regler automatisk
For å få regler til å vedvare selv etter en omstart, og det også automatisk, må du installere iptables-presistent-pakken.
For å gjøre det, kjør følgende kommando.
$ sudo apt-get install iptables-persistent
Det vil åpne opp følgende vindu. Trykk enter på
Når vi jobber med IPv4-tabellen, vil den bare vise IPv4-regler. Hvis du jobber med IPv6, vil det vise det relevante vinduet.
Merk: Pakken laster bare de lagrede iptables-reglene dine. Så hver gang du endrer iptables, må du lagre den med kommandoen iptables -save.
Regler for omlasting etter omstart
Når reglene er lagret, må du gjenopprette dem med følgende kommando.
$ sudo iptables-restore < /etc/iptables/rules.v4
Og
$ sudo iptables-restore < /etc/iptables/rules.v6
Aktiverer trafikk på Localhost / Aktiverer Loopback
For å aktivere trafikk på Localhost, bruk følgende kommando:
$ sudo iptables -A INPUT -i lo -j ACCEPT
Her står lo for loopback-grensesnittet for all lokal vertskommunikasjon.
På samme måte kan vi tillate at pakker går gjennom loopback-grensesnittet.
$ sudo iptables -A OUTPUT -o lo -j ACCEPT
For å sjekke hvordan det endret reglene, kjør 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
Aktiverer trafikk på bestemte havner
Du kan aktivere trafikk for å GODKJENNE eller AVVISE på bestemte porter.
For eksempel er SSL-, HTTP- og SSH-porter viktige for normal funksjon av appene dine. Du kan legge til regler i ACCEPT-pakken gjennom portnumrene for å sikre at de fungerer etter hensikten.
For SSL, kjør følgende kommando.
$ sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
For HTTPS, kjør følgende kommando.
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
For å tillate all HTTPS-trafikk ved eth0-grensesnittet.
$ 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, kjør følgende kommando.
$ sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Og for å akseptere ALL innkommende SSH-trafikk på eth0-grensesnittet, kjør 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 annet eksempel kan være å aktivere porttrafikk på en bestemt port for den tilpassede appen din. La oss si port 233.
For å åpne tilkoblinger på den porten, kjør.
$ sudo iptables -A INPUT -p tcp --dport 233 -j ACCEPT
På samme måte kan du også deaktivere tilkoblinger på en bestemt port ved å bruke REJECT target-alternativet.
La oss blokkere alle tilkoblinger på port 392.
$ sudo iptables -A INPUT -p tcp --dport 392 -j REJECT
For å sjekke, kjør kommandoen 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 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
Slett eksisterende regler
For å slette eksisterende regler, må du kjøre følgende kommando.
$ iptables -F
eller
$ iptables --flush
Merk: Hvis du ikke har lagret reglene dine, er de tapt for alltid og kan ikke gjenopprettes med iptables -restore
Slett regler med linjenumre
For å slette en bestemt regel, må du få listen over regler med tall.
$ 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
Kjør følgende kommando hvis du ønsker å fjerne regel nummer 4 for INPUT-kjeden.
$ sudo iptables -D INPUT 4
Og hvis du igjen kjører iptables -n -v -L 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 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:392 reject-with icmp-port-unreachable
Vis bare INPUT- eller OUTPUT-kjederegler
For å vise bare INPUT-kjederegler, kjør 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åte, hvis du bare vil se OUTPUT-kjederegler, kjør:
$ 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/stopp/start brannmuren på nytt
Hvis du bruker RHEL/Fedora Linux eller CentOS, kan du starte/stoppe eller starte brannmuren på nytt ved å kjøre kommandoene.
$ service iptables stop $ service iptables start $ service iptables restart
Du kan også bruke systemctl-kommandoen.
Det vil imidlertid ikke fungere på Ubuntu.
Sett inn regler på et bestemt sted
Hvis du vil sette inn regler på en bestemt posisjon, må du bruke følgende kommandoer.
Først, sjekk reglene.
$ 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
Kjør følgende kommando hvis du vil sette inn regler mellom 2 og 3.
$ sudo iptables -I INPUT 3 -s 252.32.1.2 -j DROP
Sjekk nå de oppdaterte reglene.
#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
Blokker innkommende trafikk, men tillat utgående trafikk
Du må skrive inn følgende kommando for å blokkere all innkommende trafikk.
$ 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åten kan du pinge eller laste ned pakker, men blokkere all ukjent innkommende trafikk.
Blokker en bestemt IP-adresse
For å blokkere en spesifikk IP-adresse, kjør følgende kommando.
$ iptables -A INPUT -s 14.23.59.9 -J DROP
Du kan også definere en variabel for å lagre den blokkerte IP-adressen og deretter kjøre kommandoen.
BLOCK_THE_IP = “a.b.c.d”
Og kjør deretter:
$ iptables -A INPUT -s “BLOCK_THE_IP” -j DROP
Merk: Endre «abcd» til din foretrukne IP-adresse.
Tillater systempinging utenfra
Du kan få eksterne brukere til å pinge serveren din for å gjøre nettverket ditt synlig.
$ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT $ sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Tillater internt nettverk å snakke med eksternt nettverk
Kjør følgende kommando for å tillate det interne nettverket (la oss si eth0) til det eksterne nettverket (la oss si eth1).
$ sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
Tillat utgående DNS
For å tillate DNS-tilkoblinger til serveren din, kjør 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
Tillat Rsycn fra et spesifikt nettverk
Hvis du bruker Rsync-kommandoen og vil aktivere den over et spesifikt nettverk, kjør 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
Blokker port
Kjør følgende kommando for å blokkere en bestemt port og eventuelle innkommende forespørsler.
iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
Blokker utgående trafikk til en bestemt IP-adresse
Du kan blokkere trafikk til enhver IP-adresse ved å kjøre følgende kommando.
$ host -t a tipsbilk.net.com
#produksjon
tipsbilk.net.com har adressen 172.66.40.93
For å blokkere utgående trafikk til den bestemte IP-adressen, kjør følgende kommando.
iptables -A OUTPUT -d 72.66.40.93 -j DROP
På samme måte kan du også blokkere sosiale medieplattformer som Instagram, Twitter og Facebook.
Finn IP-adressen til sosiale medier ved å kjøre følgende kommando:
$ host -t a social-media-web-adrress.com
For eksempel, for Instagram, vil det være:
$ host -t a www.instagram.com
Nå må du finne CIDR for IP-adressen til den aktuelle sosiale medieplattformen.
$ whois 185.89.219.11 | grep CIDR
Merk: Du må kanskje installere whois-pakken ved å kjøre sudo apt-get install whois
Skriv inn CIDR-verdien på følgende måte:
$ iptables - A OUTPUT -p tcp -d CIDR-value -j DROP
Merk: Sørg for å endre CIDR-verdien tilsvarende.
Tillat eller blokker ICMP Ping-forespørsel
For å tillate eller blokkere ICMP-pingforespørsler, kjør 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
Åpne et bestemt utvalg av havner
For å åpne en rekke porter, kjør følgende kommando.
$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8933: 8500 -j ACCEPT
List opp NAT-regler
For å liste NAT-regler, kjør følgende kommando:
$ sudo iptables -t nat -L -n -v
Eller
$ sudo iptables -t nat -v -L -n --line-number
Tilbakestill pakketellere
For å sjekke gjeldende iptables-teller:
$ sudo iptables -L -n -v
For å tilbakestille eller slette tellerne, kjør følgende:
$ sudo iptables -Z $ sudo iptables -L -n -v
For kun å tilbakestille INPUT-kjedetelleren, kjør:
$ iptables -Z INPUT
For å tilbakestille en bestemt regelteller, kjør følgende:
$ iptables -z INPUT RULE-NUMBER
Sørg for å endre REGELNUMMER til den bestemte regelen.
Siste ord
iptables er et kraftig brannmur-kommandolinjeverktøy. Du kan konfigurere nesten alt relatert til nettverksressurser, pakker, grensesnitt og spesielle scenarier.
Dessuten tilbyr iptables mange alternativer. Sjekk ut hovedsiden ved å bruke man-kommandoen for å få hele bildet.
$ man iptables $ man ip6tables
Deretter kan du sjekke ut en nettverksbrannmur og hvordan den hjelper til med å stoppe angrep.