3 måter å åpne porter i Linux

3 måter å åpne porter i Linux
“Denne opplæringen forklarer hvordan du åpner porter i de fleste Linux -distribusjoner ved hjelp av forskjellige teknikker.

Etter å ha lest denne opplæringen, vil du enkelt kunne åpne porter i spesifikke Linux -distribusjoner og en universell måte å åpne dem i alle distribusjoner.

Brannmurer beskrevet i dette dokumentet inkluderer Nftables, UFW (Debian/Ubuntu) og iptables.

Hvert trinn forklart i denne artikkelen inneholder skjermbilder, noe som gjør det enkelt for hver Linux -bruker å implementere dem.

Merk: Forsikre deg om at tjenestene for åpne porter er aktive.”

Hvordan åpne porter ved hjelp av nftables

Nftables er erstatning av iptables. I dag ble nftables viktigere enn den avviklede iptables brannmur.

Nye distribusjonsversjoner som Debian har allerede med seg nftables.

Du kan fremdeles bruke iptables og dens frontend UFW (ukomplisert brannmur), som forenkler alle oppgaver. Begge er også forklart i denne opplæringen etter denne delen dedikert til Nftables.

For å begynne. På Debian-baserte Linux-distribusjoner, kjør kommandoen vist på skjermdumpen nedenfor.

sudo apt installer nftables

Under installasjonsprosessen vil du bli bedt om bekreftelse for å starte noen programmer og tjenester på nytt. trykk TAST INN.

I tilfelle de blir oppdatert for glibbiblioteket ditt, trykk JA Hvis du blir bedt om å oppgradere den.

Når du blir spurt om omstart tjenester igjen, trykk TAST INN.

Når Nftables er installert, kan du begynne å skrive brannmuren og definere porter for å forbli åpne.

sudo nftablesrules.tekst

Nedenfor kan du se en enkel Nftables -brannmur med en restriktiv politikk, og slippe all trafikk bortsett fra de definerte åpne portene 80, 443, 53 og 22. Alle kjørbare linjer er forklart i kommentarene.

#De to første kjørbare linjene definerer det lokale nettverket (LinuxhintNet) og #Noome Ports (80.443,22) for å muliggjøre trafikk gjennom dem i reglene nedenfor.
Definer LinuxHintNet = 192.168.0.0/16
Definer tillatelser = 80,443,53,22
#Jeg erklærer en ny tabell som inneholder kjeder og regler. Jeg kalte denne tabellen #"Restriktiv"; Navnet er vilkårlig. "Inet" bruker regler for både #IPv4 og IPv6. For IPv6 bruker bare "IP6" eller bruk "IP" IPv4.
Legg til tabell inet restriktiv
# Når tabellen ble definert nedenfor, la jeg til tre kjeder, innkommende, viderekobling og utgående. Navnene deres er også vilkårlige. Alle av dem slipper innkommende, utgående og videresending av trafikk som standardpolicy.
legg til kjede inet restriktiv innkommende type filterkrok inngangsprioritet 0; Politikkfall;
Legg til kjede inet restriktiv omdirigering type filterkrok fremover prioritet 0; Politikkfall;
legg til kjede inet restriktiv utgående type filterkrok utgangsprioritet 0; Politikkfall;
# Nedenfor, lagt til to regler som tillater loopback -trafikk.
Legg til regel inet restriktiv innkommende iifname lo counter godta
Legg til regel inet restriktiv innkommende oifname lo counter godta
# Jeg la også til regler for å tillate trafikk gjennom portene jeg definerte i #Allowports -variabelen.
Legg til regel inet restriktiv innkommende TCP Sport $ tillatende teller aksepterer
Legg til regel inet restriktiv utgående TCP DPort $ tillatende teller godta aksepterer
Legg til regel inet restriktiv innkommende UDP Sport $ tillater porter mot aksepter
Legg til regelin -restriktiv utgående UDP DPort $ tillatende teller godta aksepterer

Nedenfor kan du se et skjermbilde av brannmuren.

Etter å ha lagret filen, utfør brannmuren ved å bruke følgende kommando, hvor “nftableRules.tekst”Må erstattes med filnavnet du opprettet.

sudo nft -f nftableRules.tekst

For å se de aktive brannmurreglene kjøres:

sudo nft liste regelsett

Hvis du vil skylle brannmurreglene dine, kan du kjøre kommandoen som er vist nedenfor.

sudo nft flush reguleset

La oss nå utforske det mest enkle alternativet med UFW.

Hvordan åpne porter med UFW (ukomplisert brannmur)

Denne delen forklarer hvordan du åpner porter i Debian-baserte Linux-distribusjoner som Ubuntu som bruker UFW (ukomplisert brannmur), som, som navnet antyder, er en brukervennlig iptables frontend for å lage brannmurregler, inkludert disse vi trenger for å åpne porter i Debian/Ubuntu Linux.

Merk: For å åpne porter, i tillegg til brannmurregler, må du sørge for at tjenesten du vil aktivere er aktiv.

Hvis UFW ikke er installert i systemet ditt, kan du få det ved å bruke APT Packages Manager ved å kjøre følgende kommando.

sudo apt install ufw

Etter å ha installert UFW, må du aktivere det ved å utføre vist på skjermdumpen nedenfor.

sudo ufw aktiver

Når UFW er installert, kan du åpne en port ved å spesifisere den, som vist nedenfor.

sudo ufw tillater

For eksempel, for å åpne port 22, kjør følgende kommando.

sudo ufw tillater 22

Du kan også åpne en port ved å spesifisere tjenesten eller protokollen i stedet for portnummeret, som vist på bildet nedenfor.

sudo ufw tillater ssh

Når du legger til en regel som den forrige, kan du sjekke om porten ble åpnet ved å kjøre følgende kommando.

sudo ufw status

Men selv om brannmuren tillater trafikk, må du sjekke om den ønskede tjenesten kjører og porten er åpen; Du kan utføre kommandoen vist nedenfor.

sudo netstat -tulpn | grep lytter

Som du kan se i bildet ovenfor, lytter porten.

Med UFW (og alle brannmurer) kan du spesifisere protokollen som du tillater trafikk i en bestemt port. Bare legg til en skråstrek etter portnummeret eller tjenestenavnet etterfulgt av protokollen. I eksemplet nedenfor er port 80 på TCP -protokollen.

sudo ufw tillater 80/tcp

Følgende eksempel tillater UDP -trafikk gjennom port 1025.

sudo ufw tillater 1025/udp

For å tillate trafikk gjennom en port fra en bestemt IP -adresse, bruk følgende syntaks, der IP -adressen og portnummeret må byttes ut med ønsket IP/port.

sudo ufw tillater fra 172.64.175.28 til hvilken som helst port 21

Merk: For å lukke en port ved hjelp av UFW, erstatt “Tillat” med “Nekt”, som vist nedenfor.

sudo ufw nekter

Å lukke port 22, løpe:

sudo ufw nekt 22

Eller

sudo ufw nekter ssh

Merk: For å lukke port 22, sørg for at du deaktiverer SSH -tjenesten er deaktivert ved å kjøre kommandoen nedenfor.

sudo systemctl stopp 22

Igjen, jeg sjekker om reglene mine ble lagt til ved å kjøre UFW etterfulgt av status alternativ.

sudo ufw status

Det er den enkleste måten å åpne porter i Linux.

Åpne porter i alle Linux -distribusjoner (iptables)

Denne delen viser hvordan du åpner porter ved hjelp av iptables, brannmuren bak den tidligere forklarte UFW -fronten.

Følgende regel tillater innkommende (input) TCP -trafikk gjennom port 22. Bytt ut “22” med portnummeret du må åpne.

sudo iptables -a input -p tcp - -dport 22 -j aksepterer

De sudo iptables -s Kommando lar deg se aktive brannmurregler. Som du ser ovenfor, er den ekstra linjen aktiv.

Følgende linje tillater utgående (output) trafikk gjennom port 22.

sudo iptables -a output -p tcp - -dport 22 -j aksepterer

Du kan definere et portområde for å åpne ved å implementere en kolon mellom start- og sluttportene, som vist nedenfor.

sudo iptables -a input -p tcp -destination -port 21:25 -j aksepterer

For å lagre reglene utfør kommandoen som er vist i følgende figur.

sudo iptables-sparer

For å skylle iptables regler, utfør iptables etterfulgt av -f (flush) flagget.

sudo iptables -f