Brug af Iptables på Linux

Indholdsfortegnelse:

Video: Brug af Iptables på Linux

Video: Brug af Iptables på Linux
Video: 3 Ways to Start Your Own Plex Server 2024, Marts
Brug af Iptables på Linux
Brug af Iptables på Linux
Anonim

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

Indhold

[skjule]

  • 1 Oversigt
  • 2 brug

    • 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 Rydde de nuværende regler
  • 3 Distributionsspecifik

    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, som erstatter 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 tilladelsesregler.

/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 --dport 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 --dport 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 udgang svarende til 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 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 omfatter 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, selv om nogle distributioner også omfatter fuldblæste wrapper applikationer, der 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 add iptables default

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 skal manuelt 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 panic

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

Anbefalede: