Hjemmeside » hvordan » Brug af Iptables på Linux

    Brug af Iptables på Linux

    Denne vejledning vil forsøge at forklare, hvordan man bruger iptables på linux på et letforståeligt sprog.

    Indhold

    [skjule]

    • 1 Oversigt
    • 2 Anvendelse
      • 2.1 Blokerer en enkelt IP-adresse
      • 2.2 Tillad al trafik fra en IP-adresse
      • 2.3 Blokerer en port fra alle adresser
      • 2.4 Tilladelse af en enkelt port fra en enkelt IP
      • 2.5 Visning af de nuværende regler
      • 2.6 Rydning af de nuværende regler
    • 3 Fordeling-Specific
      • 3.1 Gentoo

    Oversigt

    Iptables er en regelbaseret firewall, som vil behandle hver regel i rækkefølge, indtil den finder en, der matcher.

    Todo: inkludere eksempel her

    Anvendelse

    Iptables-værktøjet er typisk forudinstalleret på din Linux-distribution, men kører ikke nogen regler. Du finder værktøjet her på de fleste distributioner:

    / Sbin / iptables

    Blokerer en enkelt IP-adresse

    Du kan blokere en IP ved at bruge parameteren -s, og erstatte 10.10.10.10 med den adresse, du forsøger at blokere. Du bemærker i dette eksempel, at vi brugte -I parameteren (eller -insert virker også) i stedet for tilføjelsen, fordi vi vil sørge for at denne regel vises først, før nogen tillade regler.

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

    Tillad al trafik fra en IP-adresse

    Du kan alternativt tillade al trafik fra en IP-adresse ved at bruge samme kommando som ovenfor, men erstatte DROP med ACCEPT. Du skal sørge for, at denne regel vises først, før eventuelle DROP regler.

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

    Blokerer en port fra alle adresser

    Du kan blokere en port udelukkende fra at blive adgang til via netværket ved at bruge porten -port og tilføje porten til den tjeneste, du vil blokere. I dette eksempel blokerer vi mysql-porten:

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

    Tilladelse af en enkelt port fra en enkelt IP

    Du kan tilføje kommandoen -s sammen med kommandoen -dport for yderligere at begrænse reglen til en bestemt port:

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

    Visning af de nuværende regler

    Du kan se de nuværende regler ved hjælp af følgende kommando:

    / sbin / iptables -L

    Dette skal give dig en output svarende til følgende:

    Kæde INPUT (politik ACCEPT) mål prot opt ​​kilde destination ACCEPT alle - 192.168.1.14 hvor som helst ACCEPT alle - 10.10.10.0/24 hvor som helst DROP tcp - hvor som helst tcp dpt: ssh DROP tcp - hvor som helst tcp dpt: mysql

    Den faktiske produktion vil naturligvis være lidt længere.

    Rydning af de nuværende regler

    Du kan rydde alle de nuværende regler ud ved hjælp af flush-parameteren. Dette er meget nyttigt, hvis du skal sætte reglerne i den rigtige rækkefølge, eller når du tester.

    / sbin / iptables - flush

    Distribution-Specific

    Mens de fleste Linux-distributioner indeholder en form for iptables, indeholder nogle af dem også indpakninger, der gør forvaltningen lidt lettere. Oftest er disse "addons" i form af init scripts, der tager sig af at initialisere iptables ved opstart, selvom nogle distributioner også omfatter fuldblæste wrapper applikationer, som forsøger at forenkle den almindelige sag.

    Gentoo

    Det iptables init script på Gentoo er i stand til at håndtere mange fælles scenarier. Til at begynde med kan du konfigurere iptables til at indlæse ved opstart (normalt hvad du vil):

    rc-update tilføj iptables standard

    Ved hjælp af init scriptet er det muligt at indlæse og rydde firewallen med en kommando, der er nem at huske:

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

    Init script håndterer detaljerne om at fortsætte din nuværende firewall konfiguration ved start / stop. Således er din firewall altid i den tilstand, du forlod den. Hvis du har brug for manuelt at gemme en ny regel, kan init script også håndtere dette:

    /etc/init.d/iptables save

    Derudover kan du gendanne din firewall til den tidligere gemte tilstand (i det tilfælde, hvor du eksperimenterede med regler og nu vil gendanne den tidligere arbejdskonfiguration):

    /etc/init.d/iptables reload

    Endelig kan init-scriptet sætte iptables i en "panik" -tilstand, hvor alle indgående og udgående trafik er blokeret. Jeg er ikke sikker på, hvorfor denne tilstand er nyttig, men alle Linux firewalls synes at have det.

    /etc/init.d/iptables panik

    Advarsel: Start ikke paniktilstanden, hvis du er tilsluttet din server via SSH; du vilje frakobles! Den eneste gang du burde sætte iptables i panik tilstand er mens du er fysisk foran computeren.