Bruke Iptables på Linux

Innholdsfortegnelse:

Bruke Iptables på Linux
Bruke Iptables på Linux

Video: Bruke Iptables på Linux

Video: Bruke Iptables på Linux
Video: Hyper V: Advanced Topics Performance NUMA and Shielded VMs - YouTube 2024, April
Anonim

Denne veiledningen vil forsøke å forklare hvordan du bruker iptables på linux på lett å forstå språk.

innhold

[gjemme seg]

  • 1 Oversikt
  • 2 bruk

    • 2.1 Blokkering av en enkelt IP-adresse
    • 2.2 Tillat all trafikk fra en IP-adresse
    • 2.3 Blokkering av en port fra alle adresser
    • 2.4 Tillat en enkelt port fra en enkelt IP
    • 2.5 Vise gjeldende regler
    • 2.6 Fjerne gjeldende regler
  • 3 Distribusjonsspesifikke

    3.1 Gentoo

Oversikt

Iptables er en regelbasert brannmur, som vil behandle hver regel i rekkefølge til den finner en som samsvarer.

Todo: inkludere eksempel her

bruk

Iptables-verktøyet er vanligvis forhåndsinstallert på din Linux-distribusjon, men kjører ikke noen regler. Du finner verktøyet her på de fleste distribusjoner:

/sbin/iptables

Blokkerer en enkelt IP-adresse

Du kan blokkere en IP ved å bruke parameteren -s, erstatte 10.10.10.10 med adressen du prøver å blokkere. Du merker i dette eksemplet at vi brukte -I parameteren (eller -insert fungerer også) i stedet for vedlegget, fordi vi vil sørge for at denne regelen vises først før noen tillatelser.

/sbin/iptables -I INPUT -s 10.10.10.10 -j DROP

Tillater all trafikk fra en IP-adresse

Du kan alternativt tillate all trafikk fra en IP-adresse ved å bruke samme kommando som ovenfor, men erstatte DROP med ACCEPT. Du må sørge for at denne regelen vises først, før noen DROP-regler.

/sbin/iptables -A INPUT -s 10.10.10.10 -j ACCEPT

Blokkering av en port fra alle adresser

Du kan blokkere en port helt fra å bli tilgang til via nettverket ved hjelp av -port-bryteren og legge til porten til tjenesten du vil blokkere. I dette eksemplet vil vi blokkere mysql-porten:

/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP

Tillat en enkelt port fra en enkelt IP

Du kan legge til kommandoen -s sammen med kommandoen -dport for å ytterligere begrense regelen til en bestemt port:

/sbin/iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ACCEPT

Vise gjeldende regler

Du kan se gjeldende regler ved å bruke følgende kommando:

/sbin/iptables -L

Dette bør gi deg en utgang som ligner på følgende:

Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 192.168.1.1/24 anywhere ACCEPT all -- 10.10.10.0/24 anywhere DROP tcp -- anywhere anywhere tcp dpt:ssh DROP tcp -- anywhere anywhere tcp dpt:mysql

Den faktiske produksjonen vil være litt lengre, selvfølgelig.

Rydde gjeldende regler

Du kan rydde ut alle gjeldende regler ved å bruke flush-parameteren. Dette er veldig nyttig hvis du trenger å sette reglene i riktig rekkefølge, eller når du tester.

/sbin/iptables --flush

Distribusjon Spesifikke

Mens de fleste Linux-distribusjoner inneholder en form for iptables, inkluderer noen av dem også wrappers som gjør ledelsen litt enklere. Oftest er disse "tilleggene" tatt i form av init-skript som tar seg av å initialisere iptables ved oppstart, men enkelte distribusjoner inkluderer også fullblåste wrapper-applikasjoner som forsøker å forenkle det vanlige tilfellet.

Gentoo

De iptables init script på Gentoo er i stand til å håndtere mange vanlige scenarier. For det første lar du deg konfigurere iptables for å laste ved oppstart (vanligvis hva du vil):

rc-update add iptables default

Ved hjelp av init-skriptet er det mulig å laste og slette brannmuren med en kommando som er lett å huske:

/etc/init.d/iptables start /etc/init.d/iptables stop

Init-skriptet håndterer detaljene om å fortsette din nåværende brannmurkonfigurasjon ved start / stopp. Dermed er brannmuren din alltid i staten du forlot den. Hvis du trenger å lagre en ny regel manuelt, kan init-skriptet også håndtere dette:

/etc/init.d/iptables save

I tillegg kan du gjenopprette brannmuren til forrige lagrede tilstand (i tilfelle der du eksperimenterte med regler og nå vil gjenopprette tidligere konfigurasjon av arbeid):

/etc/init.d/iptables reload

Endelig kan init-skriptet sette iptables i en "panikk" -modus, der all innkommende og utgående trafikk er blokkert. Jeg er ikke sikker på hvorfor denne modusen er nyttig, men alle Linux-brannmurer synes å ha det.

/etc/init.d/iptables panic

Advarsel: Ikke start panikkmodusen hvis du er koblet til serveren din via SSH; duvil bli frakoblet! Den eneste gangen du burde sette iptables i panikkmodus er mens du erfysisk foran datamaskinen.

Anbefalt: