Hjemmeside » hvordan » Bruke Iptables på Linux

    Bruke Iptables på Linux

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

    innhold

    [gjemme seg]

    • 1 oversikt
    • 2 Usage
      • 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 Distribusjon Spesifikke
      • 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å Linux-distribusjonen, men kjører ikke noen regler. Du finner verktøyet her på de fleste distribusjoner:

    / Sbin / iptables

    Blokkering av 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 tillatelsesregler.

    / 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 eventuelle 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 å bruke port-porten og legge til porten til tjenesten du vil blokkere. I dette eksemplet vil vi blokkere mysql-porten:

    / sbin / iptables -A INPUT -p tcp --port 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 --port 3306 -j ACCEPT

    Vise gjeldende regler

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

    / sbin / iptables -L

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

    Angi alt - 10.10.10.0/24 hvor som helst TROP tcp - hvor som helst tcp dpt: ssh DROP tcp - hvor som helst tcp dpt: mysql

    Den faktiske utgangen vil bli litt lenger, selvfølgelig.

    Sletting av gjeldende regler

    Du kan rydde ut alle gjeldende regler ved hjelp av flush-parameteren. Dette er veldig nyttig hvis du må 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 legg til iptables standard

    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 stopp

    Init-skriptet håndterer detaljene for å 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 lagre

    I tillegg kan du gjenopprette brannmuren til forrige lagrede tilstand (i tilfelle hvor 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 panikk

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