Hoe IPTables in Linux te configureren? [Stap voor stap handleiding 2021]

Hoe IPTables in Linux te configureren? [Stap voor stap handleiding 2021]

IPTables is de naam van een firewallsysteem dat via de opdrachtregel op Linux draait.Het programma wordt voornamelijk gebruikt als:UbuntuHet standaardhulpprogramma op.Beheerders gebruiken vaak IPTables-firewalls om toe te staan ​​of te voorkomen dat verkeer hun netwerken binnenkomt.

Als IPTables nieuw voor u is, moet u het eerst bijwerken of installeren met de volgende opdracht:

$ sudo apt-get install iptables

Hoewel gebruikers die niet bekend zijn met de opdrachtregelinterface, vinden dat IPTables een leercurve heeft, is het hulpprogramma zelf erg eenvoudig en gemakkelijk te gebruiken.Er is een reeks kernopdrachten die kunnen worden gebruikt als basis voor het regelen van verkeer.Dat gezegd hebbende, moet u heel voorzichtig zijn bij het wijzigen van de IPTables-regels.Als u de verkeerde opdracht typt, wordt u mogelijk volledig uitgesloten van IPTables totdat u het probleem op de fysieke machine hebt opgelost.

In dit artikel geven we je een basisgids voor IPTables en laten we je kennismaken met de basis.Voordat we ingaan op de kern van IPTables, moet je ervoor zorgen dat je eenUbuntu uitvoeren 16.04VPAen eenMet SSH-client的 Lokaal apparaat.Als je deze al hebt, is het tijd om te beginnen.

IPTables-zelfstudie: ketting

Een van de basisconcepten die u in IPTables moet beheersen, is het concept van ketens.De ketting is in wezen een regel.De filtertabel heeft drie ketens die je op IPTables tegenkomt;binnenkomen,Naar voren 和uitvoer.

    • INVOER  – De INPUT-keten is de regel die inkomende datapakketten controleert.U kunt hier nieuwe verbindingen blokkeren of toestaan.U kunt dit doen op basis van de poort, het protocol en het bron-IP-adres.
  • FORWARD  – De FORWARD-keten filtert inkomende pakketten die naar verschillende terminallocaties worden doorgestuurd.Tenzij u aan het routeren bent of specifiek op zoek bent naar doorsturen, is het onwaarschijnlijk dat u deze ketting gebruikt.
  • OUTPUT  – De OUTPUT-keten wordt gebruikt om uitgaande datapakketten en verbindingen te beheren.Het is belangrijk op te merken dat als u een externe host pingt, de invoerketen wordt gebruikt om de gegevens naar u terug te sturen.

Standaard kettinggedrag

Misschien wilt u in het begin direct naar het configureren van specifieke regels gaan, maar u moet een stap terug doen om het standaardgedrag te definiëren.Om te bepalen wat het standaardgedrag van de keten is, moet u de volgende opdracht uitvoeren:

$ sudo iptables -L commando

Dit geeft het volgende weer:

gebruiker@ubuntu:~$ sudo iptables -L -v 
Chain INPUT (beleid ACCEPT) 
Keten VOORUIT (beleid ACCEPTEREN) 
Keten OUTPUT (beleid ACCEPT) 
gebruiker@ubuntu:~$

Deze informatie vertelt u precies het doel van de ketenconfiguratie.In het voorbeeld zijn de invoer-, doorstuur- en uitvoerketens geconfigureerd om verkeer te accepteren.Deze instellingen zijn een goed startpunt, omdat ze eventuele gewenste verbindingen niet zullen voorkomen.

gerelateerde vraag:  Handige Linux-terminalopdrachten [die je moet onthouden in 2021]

Als u echter merkt dat uw beleid geen verbindingen accepteert, kunt u elk van de volgende opdrachten invoeren om alle verbindingen te accepteren:

$ sudo iptables —beleid INPUT ACCEPTEREN
$ sudo iptables —beleid UITVOER ACCEPTEREN
$ sudo iptables —beleid VOORUIT ACCEPTEREN

Zodra uw standaardinstellingen alle verbindingen accepteren, kunt u de toegang tot IPTables regelen door IP-adressen en poortnummers te blokkeren.Hiermee kunt u specificeren welke verbindingen u wilt blokkeren in plaats van standaard alle verbindingen te blokkeren.

Als u te maken heeft met bijzonder gevoelige informatie, kunt u de standaardinstellingen configureren om automatisch alle verbindingen te blokkeren.Op deze manier kunt u IPTables gebruiken om de individuele IP-adressen te selecteren die u wilt toestaan.Om dit te doen, moet u de volgende opdracht invoeren:

$ sudo iptables —beleid INPUT DROP
$ sudo iptables —beleid OUTPUT DROP
$ sudo iptables —beleid VOORWAARTS DROP

Het is voor de meeste gebruikers het beste om alle verbindingen te accepteren, maar als u op een zeer goed beveiligde server werkt, is het de moeite waard om dit te onthouden.

Een enkele verbinding configureren

Na het configureren van het standaard kettinggedrag, kunt u een enkele verbinding configureren.Hier configureert u het zogenaamde verbindingsspecifieke antwoord.Dit vertelt IPTables in wezen hoe te communiceren wanneer verbinding wordt gemaakt met een IP-adres of poort.Deze reacties zijn als volgt;receptie,opgeven,Weigeren.

Zoals u in de bovenstaande afbeelding kunt zien, heeft de gebruiker kettingregels gedefinieerd om verbindingen toe te staan, te laten vallen of te weigeren op basis van vereisten.Hieronder volgt een beschrijving van wat elk antwoord bevat:

  • ACCEPTEREN – Deze configuratie staat alleen verbindingen toe.
  • DROP  – Drop blokkeert de verbinding zonder enige interactie met de bron.
  • WEIGEREN  – Dit blokkeert de poging tot verbinding, maar stuurt ook een foutmelding.Dit is meestal om de bron te informeren dat de verbindingspoging is geblokkeerd door de firewall.

Verbindingen toestaan ​​of blokkeren

Afhankelijk van uw instellingen zijn er veel verschillende manieren om verbindingen te blokkeren of toe te staan.In het volgende voorbeeld wordt een verborgen blokkeringsmethode gebruikt, dat wil zeggen met behulp vanVal Verbreek de verbinding zonder enige interactie. iptables-A Hiermee kunnen we extra waarschuwingen toevoegen aan de regels die zijn vastgesteld door de standaardketeninstellingen.Hieronder ziet u hoe u deze opdracht kunt gebruiken om de verbinding te blokkeren:

Een enkel IP-adres blokkeren:

$ sudo iptables -A INPUT -S 10.10.10.10 -j DROP

In het bovenstaande voorbeeld kun je 10.10.10.10 vervangen door het IP-adres dat je wilt blokkeren.

gerelateerde vraag:  Hoe ipv6 op Linux uit te schakelen (een stapsgewijze handleiding voor 2021)

Blokkeer een reeks IP-adressen:

$ sudo iptables -A INPUT -s 10.10.10.10.0/24 -j DROP    

of

$ sudo iptables -A INPUT -s 10.10.10.0/255.255.255/.0 -j DROP

Een enkele poort blokkeren:

$ sudo iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP 

Houd er rekening mee dat ssh kan worden vervangen door elk protocol of poortnummer.Merk ook op dat de sectie -p tcp van de code wordt gebruikt om aan te geven of het protocol dat u wilt blokkeren UDP of TCP is.

Als het protocol UDP gebruikt, voert u in:-p udpIn plaats van-p tcp.U kunt ook alle verbindingen van IP-adressen blokkeren door de volgende opdracht in te voeren:

$ sudo iptables -A INPUT -p tcp --dport ssh -jDROP

Tweerichtingscommunicatie: verbindingsstatus IPTables-tutorial

De meeste protocollen die u tegenkomt, vereisen tweerichtingscommunicatie voor verzending.Dit betekent dat de transmissie bestaat uit input en output.Wat er in uw systeem gaat, is net zo belangrijk als wat er uitgaat.Met de verbindingsstatus kunt u mixen en matchen tussen tweerichtingsverbindingen en eenrichtingsverbindingen.In het volgende voorbeeld blokkeert het SSH-protocol SSH-verbindingen van IP-adressen, maar staat verbindingen met IP-adressen toe:

$ sudo iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state NIEUW, GEVESTIGD -j ACCEPTEREN 

$ sudo iptables -A OUTPUT -p tcp —sport 22 -d 10.10.10.10.-m staat —status GEVESTIGD -J ACCEPT

Nadat u de opdracht hebt ingevoerd om de verbindingsstatus te wijzigen, moet u de wijzigingen opslaan.Als u dit niet doet, gaat uw configuratie verloren wanneer u het hulpprogramma sluit.Afhankelijk van het distributiesysteem dat u gebruikt, kunt u veel verschillende opdrachten gebruiken:

gerelateerde vraag:  Hoe BackInTime te gebruiken om een ​​Linux-pc te back-uppen

Ubuntu:

$ sudo /sbin/iptables-opslaan

Red Hat/CentOS –

$ sudo /sbin/service iptables opslaan

of

$ sudo /etc/init.d/iptables opslaan

Onthoud dat het gebruik van deze commando's erg belangrijk is, omdat het de rompslomp van het telkens opnieuw moeten configureren van het hulpprogramma kan elimineren.

Regel verwijderen

Net zo belangrijk als het kunnen opslaan van regels, is het kunnen verwijderen ervan.Als je een fout hebt gemaakt of gewoon de oude regels wilt verwijderen, kun je de optie gebruiken - D 命令.Deze opdracht moet worden gebruikt in combinatie met het regelnummer dat u hebt ingevoerd.Dit nummer vertelt IPTables welke regel moet worden verwijderd.Als u bijvoorbeeld zou invoeren:

$ sudo iptables -D INPUT 10

Dan wordt de 10e regel die je hebt geconfigureerd verwijderd.

Als u het huis wilt opruimen en een reeks regels wilt verwijderen, kunt u gebruik maken van-F commando.U kunt dit doen door het volgende in te voeren:

$ sudo iptables -F

Hiermee wordt de volledige regelset gewist en wordt uw IPTable vernieuwd.

IPTables: kettingregels leren!

Hiermee is onze IPTables-tutorial afgerond.Zoals je kunt zien, is IPTables een manier om te blokkeren en toe te staanLinuxUitgegeven versieMultifunctioneel hulpmiddel op de stroom.Effectief gebruik van dit hulpprogramma omvat het effectief instellen van de standaardconfiguratie en het bouwen van andere regels er bovenop.Met de standaardconfiguratie kunt u de brede verkeersintentie schetsen om verkeer toe te staan ​​of te weigeren;Met deze regels kunt u uw methode bouwen op basis van IP-adres, poort en protocol.

We hebben net het oppervlak van het potentieel van IPTables bekrast, je kunt veel verschillende commando's gebruiken om te beslissen hoe je het verkeer op de server ervaart.We raden u echter aan de basisprincipes te begrijpen voordat u andere opdrachten gaat gebruiken.Voordat u zich bijvoorbeeld tot iets professionelers verplicht, moet u de basisketenregels begrijpen.

Als je eenmaal gewend bent aan hoe IPTables werkt, kun je beginnen met het integreren van meer regels om je ervaring aan te passen.Door dit te doen, kunt u nauwkeuriger dan ooit tevoren de typen verbindingen specificeren die u toestaat.

Oh Hallo 👋Leuk je te ontmoeten.

Abonneer op onze nieuwsbrief, Zeer regelmatig verzendenGeweldige technologieNaar je bericht.

Post Commentaar