Sådan åbner du porte i Linux
Linux Ubuntu Ubuntu Grundlæggende Helt / / March 02, 2022

Sidst opdateret den

Hvis du ønsker at tillade eksterne forbindelser til en pc eller server, skal du åbne den rigtige port. Linux-brugere kan åbne porte ved hjælp af denne nyttige vejledning.
Har du brug for at oprette forbindelse til en ekstern pc eller server – eller har du brug for en anden pc eller server til at oprette forbindelse til dig? Hvis du kører Linux, skal du sørge for, at den rigtige port er åben.
Mens andre operativsystemer normalt har et eller andet grafisk værktøj til dette, er Linux ikke så simpelt. Vi vil lede dig gennem, hvordan du åbner porte i Linux nedenfor.
Hvad er en havn, og hvorfor skal jeg åbne den?
En port er et slutpunkt på netværket. Tænk på det som en dør, der fører til et bestemt rum eller omverdenen, men på din computer. Alt, hvad du gør på internettet, bruger en bestemt port eller serie af porte.
Lad os for eksempel sige, at du vil køre din egen Minecraft-server. For at gøre det skal du åbne en port, så brugerne kan oprette forbindelse til den. Det samme ville gælde for at køre din egen web-, mail- eller FTP-server.
Havne er standardiseret på tværs af alle netværkstilsluttede enheder. De første 1.024 porte (fra 0 til 1023) omtales som velkendte portnumre. De er reserveret til de mest brugte tjenester, såsom HTTP og HTTP (henholdsvis port 80 og 443) og SSH (port 22).
Portnumre over 1024 omtales som flygtige havne, og er typisk tilgængelige for dig til at bruge til dit onlinespil, private webservere og så videre. Portnumrene 1024 til 49151 kaldes registreret eller brugerporte, mens dem fra 49152 til 65535 er kendt som dynamisk eller private havne.
Liste over åbne porte på Linux
Før du begynder at prøve at åbne en port på Linux, skal du sørge for, at den ikke allerede er i brug. Du kan opnå dette ved at bruge netstat kommando, inkluderet i de fleste Linux-distributioner. Hvis din distribution ikke har netstat, du kan bruge ss i stedet.
netstat -lntu.

Dette vil udskrive alle lyttestik (-l), sammen med portnummeret (-n). Det inkluderer TCP-porte (-t) samt UDP (-u). Hvis dit system ikke har netstat, bare brug ss med de samme parametre.
ss -lntu.

Sådan åbner du porte i Linux
Af hensyn til dette eksempel antager vi, at vi ønsker at åbne port 4000 til TCP-forbindelser. Vi skal først sikre os, at porten ikke allerede er i brug. Vi gør dette igennem netstat eller ss.
netstat -na | grep :4000. ss -na | grep :4000.
Forudsat at outputtet er tomt, kan vi tilføje de relevante portregler til systemets firewall. Metoder til dette vil variere afhængigt af din distribution og om den bruger den nyere ufw firewall eller firewalld. Ubuntu favorisererufw, mens CentOS bruger typiskfirewalld i stedet. Selvfølgelig er der stadig nogle Linux-distributioner, der bruger den ældre iptables firewall.
Til Ubuntu-brugere og andre ufw Firewall-baserede systemer
I stedet for at bruge den ældre iptables firewall, Ubuntu og nogle andre distributioner ufw. Under disse systemer vil følgende kommando åbne porten.
sudo ufw tillade 4000.
Spring forbi de næste par trin, og test din nyåbnede port for at sikre, at den fungerer.
Sådan åbner du porte i Linux ved hjælp af CentOS og andre firewalld-baserede systemer
Hvis dit system bruger firewalld, er dit bedste bud at bruge firewall-cmd kommando for at opdatere reglerne.
sudo firewall-cmd --add-port=4000/tcp.
Dette vil ikke være en permanent ændring, men vi vil dække, hvordan man får reglerne til at fortsætte efter genstart, når vi tester porten.
Til andre Linux-distributioner
Hvis dit Linux-system ikke har ufw eller firewalld, skal du bruge iptables. Hvis det ikke er installeret, skal du gå videre og få det ved hjælp af din valgte pakkeadministrator. Når den er installeret, åbner denne kommando port 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j ACCEPT. sudo service iptables genstart.
Hvis dit system bruger systemctl, erstat den anden kommando med:
sudo systemctl genstart iptables.
Test af nyåbnede porte for forbindelser
Dernæst bør vi teste porten for at sikre, at den accepterer forbindelser. Det gør vi ved at bruge netcat (nc) for at lytte til porten og derefter forsøge at telnet til den.
Åbn først et terminalvindue og giv denne kommando:
sudo ls | nc -l -p 4000.
Lad det køre (lytter), og åbn et andet terminalvindue. I det vindue bruger du telnet til at teste forbindelsen. Hvis telnet ikke er installeret, skal du gøre det ved hjælp af din pakkehåndtering.
telnet [værtsnavn/IP-adresse] [portnummer]
Erstatte [værtsnavn/IP-adresse] med dit systems IP-adresse, og [portnummer] med det portnummer, du åbnede.
telnet localhost 4000.
Du skulle se output som det nedenfor, hvilket indikerer en åben forbindelse med nc.

Vi kan også vise, at porten er åben vha nmap. Igen, hvis kommandoen ikke allerede er installeret, skal du bruge din pakkehåndtering til at hente den.
nmap localhost -p 4000.

Noter det nmap vil kun vise åbne porte, der lytter efter forbindelser. Det er derfor, vi bruger netcat til test for at lytte på den port. Ellers vil porten ikke registreres som værende åben.
Jeg kan ikke oprette forbindelse til den port, jeg lige har åbnet, hvad nu?
Hvis du gennemgår alle ovenstående trin og ikke kan oprette forbindelse til porten, skal du dobbelttjekke din indtastning. Hvis du er sikker på, at du har indtastet alt korrekt, er chancerne for, at du bliver nødt til at omkonfigurere din netværksrouter for at tillade trafikken.
Da hver netværksrouter har forskellige konfigurationsskærme, bør du konsultere supportsiderne eller brugervejledningen til dit særlige udstyr. Du skal tjekke for portvideresendelse eller portkortlægningsindstillinger samt enhver indbygget firewall, som routeren måtte bruge.
Sådan åbnes en port permanent i Linux
Når du har testet din åbne port og sikret dig, at den virker, vil du sandsynligvis gøre ændringen permanent. Ellers hænger ændringerne muligvis ikke ved efter en genstart. Hvis du er Ubuntu-bruger eller på anden måde bruger ufw firewall, du behøver ikke bekymre dig om dette. Det ufw regler nulstilles ikke ved genstart.
Til firewall-brugere
Det er nemt at få en portregel til at hænge fast efter en genstart firewalld. Bare tilføj -permanent flag til din første kommando, og den vil blive inkluderet i dit Linux-systems firewall-regler ved opstart.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Hvis du stadig bruger iptables
Det iptables firewall er meget mere besværlig (måske en god grund til at opgradere til firewalld eller ufw). For "permanent" at åbne en port i iptables, kan du installere iptables-vedholdende pakke til at hjælpe.
Første gang du installerer iptables-vedholdende på et Debian-baseret system, vil det gemme dine nuværende regler til enten /etc/iptables/rules.v4 eller /etc/iptables/rules.v6. For at tilføje nye regler skal du udstede følgende kommando:
sudo iptables-save > /etc/iptables/rules.v4.
ELLER
sudo iptables-save > /etc/iptables/rules.v6.
For dem, der kører RPM-baserede Linux-distributioner, er det lidt anderledes. Pakken hedder iptables-tjenester, og gemte filer er /etc/sysconfig/iptables og /etc/sysconfig/ip6tables.
På RPM-baserede distributioner er der også en anden kommando, der bruges til IPv6-porte. Du gemmer dine regler ved at bruge en af disse to kommandoer:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Sørg for at overvåge dit portforbrug
Som tiden går, kan dine serverbehov ændre sig. Lige som du skal holde sig ajour med brugerkontiene på din Linux-maskine, bør du også kontrollere dine åbne porte regelmæssigt. Luk alle åbne porte, der ikke længere er nødvendige. Sammen med jævnligt ændre din adgangskode, dette er en god sikkerhedspraksis, der vil hjælpe dig med at undgå systemindtrængen og sikkerhedsudnyttelse.