Hvordan åpne porter i Linux
Linux Ubuntu Ubuntu Grunnleggende Helt / / March 02, 2022
Sist oppdatert den
Hvis du ønsker å tillate eksterne tilkoblinger til en PC eller server, må du åpne riktig port. Linux-brukere kan åpne porter ved å bruke denne nyttige veiledningen.
Trenger du å koble til en ekstern PC eller server – eller trenger en annen PC eller server for å koble til deg? Hvis du kjører Linux, må du sørge for at riktig port er åpen.
Mens andre operativsystemer vanligvis har et grafisk verktøy for dette, er ikke Linux så enkelt. Vi vil lede deg gjennom hvordan du åpner porter i Linux nedenfor.
Hva er en port og hvorfor må jeg åpne den?
En port er et endepunkt på nettverket. Tenk på det som en dør som fører til et bestemt rom eller omverdenen, men på datamaskinen din. Alt du gjør på internett bruker en bestemt port eller serie med porter.
La oss for eksempel si at du vil kjøre din egen Minecraft-server. For å gjøre det, må du åpne en port som brukerne kan koble til den gjennom. Det samme vil gjelde for å kjøre din egen web-, e-post- eller FTP-server.
Havner er standardisert på tvers av alle nettverkstilkoblede enheter. De første 1024 portene (fra 0 til 1023) blir referert til som velkjente portnumre. De er reservert for de mest brukte tjenestene, som HTTP og HTTP (henholdsvis port 80 og 443) og SSH (port 22).
Portnumre over 1024 refereres til som flyktige havner, og er vanligvis tilgjengelige for deg å bruke for nettspill, private webservere og så videre. Portnummer 1024 til 49151 kalles registrert eller brukerporter, mens de fra 49152 til 65535 er kjent som dynamisk eller private havner.
Oppføring av åpne porter på Linux
Før du begynner å prøve å åpne en port på Linux, bør du sørge for at den ikke allerede er i bruk. Du kan oppnå dette ved å bruke netstat kommando, inkludert i de fleste Linux-distribusjoner. Hvis distribusjonen din ikke har netstat, du kan bruke ss i stedet.
netstat -lntu.
Dette vil skrive ut alle lyttekontaktene (-l), sammen med portnummeret (-n). Den inkluderer TCP-porter (-t) samt UDP (-u). Hvis systemet ditt ikke har netstat, bare bruk ss med samme parametere.
ss -lntu.
Hvordan åpne porter i Linux
Av hensyn til dette eksemplet antar vi at vi ønsker å åpne port 4000 for TCP-tilkoblinger. Vi må først sørge for at porten ikke allerede er i bruk. Vi gjør dette gjennom netstat eller ss.
netstat -na | grep :4000. ss -na | grep :4000.
Forutsatt at utgangen er tom, kan vi legge til de riktige portreglene til systemets brannmur. Metoder for dette vil variere avhengig av distribusjonen din og om den bruker den nyere ufw brannmur eller brannmur. Ubuntu favorisererufw, samtidig som CentOS bruker vanligvisbrannmur i stedet. Selvfølgelig er det fortsatt noen Linux-distribusjoner som bruker den eldre iptables brannmur.
For Ubuntu-brukere og andre ufw-brannmurbaserte systemer
I stedet for å bruke den eldre iptables brannmur, Ubuntu og noen andre distribusjoner bruker ufw. Under disse systemene vil følgende kommando åpne porten.
sudo ufw tillat 4000.
Hopp forbi de neste trinnene, og test den nyåpnede porten for å sikre at den fungerer.
Hvordan åpne porter i Linux ved hjelp av CentOS og andre brannmurbaserte systemer
Hvis systemet ditt bruker brannmur, det beste alternativet er å bruke brannmur-cmd kommando for å oppdatere reglene.
sudo brannmur-cmd --add-port=4000/tcp.
Dette vil ikke være en permanent endring, men vi vil dekke hvordan du får reglene til å vedvare etter omstart når vi tester porten.
For andre Linux-distribusjoner
Hvis Linux-systemet ditt ikke har ufw eller brannmur, må du bruke iptables. Hvis den ikke er installert, fortsett og få den ved å bruke pakkebehandlingen du velger. Når den er installert, vil disse kommandoene åpne port 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j GODTAR. sudo service iptables starter på nytt.
Hvis systemet ditt bruker systemctl, erstatt den andre kommandoen med:
sudo systemctl start iptables på nytt.
Tester nylig åpnede porter for tilkoblinger
Deretter bør vi teste porten for å sikre at den godtar tilkoblinger. Vi gjør dette ved å bruke netcat (nc) for å lytte til porten, og deretter forsøke å telnet til den.
Først åpner du et terminalvindu og gir denne kommandoen:
sudo ls | nc -l -p 4000.
La den kjøre (lytte) og åpne et andre terminalvindu. I det vinduet bruker du telnet for å teste tilkoblingen. Hvis telnet ikke er installert, gjør du det ved å bruke pakkebehandlingen.
telnet [vertsnavn/IP-adresse] [portnummer]
Erstatte [vertsnavn/IP-adresse] med systemets IP-adresse, og [portnummer] med portnummeret du åpnet.
telnet localhost 4000.
Du bør se utgang som det nedenfor, som indikerer en åpen forbindelse med nc.
Vi kan også vise at porten er åpen ved å bruke nmap. Igjen, hvis kommandoen ikke allerede er installert, bruk pakkebehandlingen for å hente den.
nmap localhost -p 4000.
Noter det nmap vil bare vise åpne porter som lytter etter tilkoblinger. Det er derfor vi bruker netcat for testing, for å lytte på den porten. Ellers vil ikke porten registreres som åpen.
Jeg kan ikke koble til porten jeg nettopp åpnet, hva nå?
Hvis du går gjennom alle trinnene ovenfor og ikke kan oppnå en tilkobling til porten, dobbeltsjekker du skrivingen. Hvis du er sikker på at du har skrevet inn alt riktig, er sjansen stor for at du må konfigurere nettverksruteren på nytt for å tillate trafikken.
Siden hver nettverksruter har forskjellige konfigurasjonsskjermer, bør du konsultere støttesidene eller brukerhåndboken for ditt spesielle utstyr. Du må se etter portvideresending eller portkartleggingsinnstillinger, samt eventuell innebygd brannmur ruteren kan bruke.
Hvordan åpne en port permanent i Linux
Når du har testet den åpne porten og sørget for at den fungerer, vil du sannsynligvis gjøre endringen permanent. Ellers kan det hende at endringene ikke holder seg etter en omstart. Hvis du er en Ubuntu-bruker, eller på annen måte bruker ufw brannmur, du trenger ikke å bekymre deg for dette. De ufw regler tilbakestilles ikke ved omstart.
For brukere av brannmur
Det er enkelt å få en portregel til å holde seg etter en omstart brannmur. Bare legg til -fast flagg til den første kommandoen, og den vil bli inkludert i Linux-systemets brannmurregler ved oppstart.
sudo brannmur-cmd --add-port=4000/tcp --permanent.
Hvis du fortsatt bruker iptables
De iptables brannmuren er mye mer plagsom (kanskje en god grunn til å oppgradere til brannmur eller ufw). For å "permanent" åpne en port i iptables, kan du installere iptables-vedvarende pakke for å hjelpe.
Når du først installerer iptables-vedvarende på et Debian-basert system vil det lagre de gjeldende reglene dine til enten /etc/iptables/rules.v4 eller /etc/iptables/rules.v6. For å legge til nye regler, utsteder du følgende kommando:
sudo iptables-save > /etc/iptables/rules.v4.
ELLER
sudo iptables-save > /etc/iptables/rules.v6.
For de som kjører RPM-baserte Linux-distribusjoner, er det litt annerledes. Pakken heter iptables-tjenester, og lagringsfilene er /etc/sysconfig/iptables og /etc/sysconfig/ip6tables.
På RPM-baserte distribusjoner er det også en annen kommando som brukes for IPv6-porter. Lagring av reglene dine gjøres ved å bruke en av disse to kommandoene:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Sørg for å overvåke portbruken din
Etter hvert som tiden går, kan serverbehovene dine endres. Akkurat som du burde holde seg oppdatert på brukerkontoene på Linux-maskinen din bør du også revidere de åpne portene dine regelmessig. Lukk alle åpne porter som ikke lenger er nødvendige. Sammen med regelmessig endre passordet ditt, dette er en god sikkerhetspraksis som vil hjelpe deg å unngå systeminntrenging og sikkerhetsutnyttelser.