eenvoudige stappen om een poort te openen in Linux RHEL / CentOS 7/8

inhoudsopgave:

reclame

In dit artikel zal ik voorbeelden delen om de poortstatus te controleren en een poort in Linux te openen. Dit artikel is geschreven tijdens het gebruik van CentOS 8, dus het is veilig om te zeggen dat het ook volledig dekt CentOS / RHEL 7/8, Fedora, Oracle Enterprise Linux en in het algemeen de hele Red Hat familie van besturingssystemen en mogelijk Novell SLES en OpenSUSE.

voordat we in de voorbeelden springen om een poort in Linux te openen, moeten we de vereiste duidelijk begrijpen. De zeer fundamentele vraag die mij te binnen schiet

  1. moet u een poort openen voor een dienst? Zoals een aangepaste poort 5555 voor apache service?
  2. bedoelt u dat de poort al luistert, maar geblokkeerd is door een firewall, zodat u een poort in een firewall wilt openen?
  3. Open een poort voor aangepaste tijdelijke taak, zoals bestanden overbrengen en ontvangen met behulp van deze poort en sluit de poort.

we zullen al deze scenario ‘ s in dit artikel behandelen

controleer poortstatus

om de lijst van bestaande poorten te controleren die open zijn zullen we nmap gebruiken om de poortstatus te controleren:

# nmap localhost
Starting Nmap 7.70 ( https://nmap.org ) at 2020-03-22 12:08 IST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000024s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
Nmap done: 1 IP address (1 host up) scanned in 1.71 seconds

momenteel zien we slechts twee poorten open zijn op mijn CentOS 8 knooppunt.

checklist van luisterpoorten

we zullen netstat gebruiken om de TCP-poorten te tonen die in luisterstatus zijn. Het totale aantal poorten is hoger in vergelijking met de Nmap-uitvoer.

# netstat -ntlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1627/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 26893/sshd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp6 0 0 :::22 :::* LISTEN 26893/sshd tcp6 0 0 :::111 :::* LISTEN 1/systemd

Open een poort voor een dienst

als dit uw vereiste is, zoekt u de verkeerde vraag. In principe is het andersom, dat wil zeggen dat een dienst een poort opent. Bijvoorbeeld wanneer u sshd service start, zal het standaard poort 22 starten en niet andersom, dat wil zeggen als u poort 22 opent, zal het niet automatisch de SSHD service starten.

advertentie

laten we dit in het voorbeeld bekijken, we weten dat poort 22 open is op mijn CentOS 8 knooppunt. Als ik de SSHD service

# systemctl stop sshd

stop, kan je zien dat poort 22 niet meer open is.

# netstat -ntlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1627/dnsmasq tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp6 0 0 :::111 :::* LISTEN 1/systemd

u moet het configuratiebestand van de betreffende service gebruiken om de standaardpoort te wijzigen. Eenmaal gedaan kunt u de service opnieuw opstarten en dat moet automatisch de betreffende poort op uw Linux node te openen.

HINT:

als u van plan bent een aangepaste poort voor een service te gebruiken, moet u deze ook toevoegen in /etc/services

dit heeft betrekking op het eerste scenario.

firewalld open poort

het is ook mogelijk dat uw poorten zijn uitgeschakeld in firewall. Als uw poort niet in nmap staat, wordt deze waarschijnlijk geblokkeerd door een firewall.

we zullen firewalld gebruiken om een poort te openen omdat dit de meest gebruikte interface is vandaag in RHEL / CentOS 7 en 8. Bepaal in welke zone de netwerkinterfaces van het systeem zich bevinden. In het volgende voorbeeld bevinden de eth0 en eth1 interface zich in de’ public ‘ zone:

# firewall-cmd --get-active-zones
libvirt
interfaces: virbr0
public
interfaces: eth0 eth1

gebruik de optie --add-port om permanent een open poort in een zone te openen. Het voorbeeld hieronder opent permanent tcp poort 1234 in de’ public ‘ zone. Houd er rekening mee dat permanente wijzigingen pas van kracht worden als de firewalld service opnieuw is geladen.

# firewall-cmd --zone=public --add-port=1234/tcp --permanentsuccess# firewall-cmd --reloadsuccess
opmerking:

om een niet-aanhoudende wijziging aan te brengen, geeft u hetzelfde commando uit zonder de --permanent optieset. Elke niet-permanente wijziging zal onmiddellijk van kracht worden en zal aanhouden totdat de firewall opnieuw wordt geladen.

zodra firewalld poort opent, gebruik vervolgens netstat om de poortstatus te controleren:

reclame

# netstat -ntlpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1627/dnsmasqtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 28188/sshdtcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemdtcp6 0 0 :::22 :::* LISTEN 28188/sshdtcp6 0 0 :::111 :::* LISTEN 1/systemd

we zien hier nog steeds geen poort 1234. Dit komt omdat poort 1234 momenteel niet gebonden is aan enige service. Dus onze haven is OPEN, maar luistert niet. Zodra een verzoek of service poort 1234 probeert te gebruiken, krijgen we dit in LISTEN state.

gebruik nc of ncat om een poort te openen in Linux

laten we controleren of deze theorie gebruik nc of ncat om een poort te openen in Linux nc of ncat wordt geleverd als onderdeel van nmap-ncat rpm in RHEL/CentOS die u kunt installeren met behulp van yum of dnf. Gebruik --listen met --port om een poort te openen met de opdracht nc. In het onderstaande voorbeeld openen we poort 1234

# nc --listen --source-port 1234

Open een andere terminal van deze server en controleer poort status

# netstat -ntlp | grep 1234tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 28983/nctcp6 0 0 :::1234 :::* LISTEN 28983/nc

zoals u ziet dat poort 1234 zowel naar IPv4 als IPv6 luistert. Om alleen IPv4 te gebruiken, gebruik -4 met het bovenstaande commando

# nc --listen --source-port 1234 -4

volgende op een andere terminal kunt u de poortstatus controleren op poort 1234

# netstat -ntlp | grep 1234tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 29329/nc

gebruik nc of ncat om een poort te openen en bestanden

over te dragen we kunnen ook nc gebruiken om bestanden van de ene host naar de andere host over te brengen. Hier zal ik mijn “inputfile” overbrengen van centos-8 naar rhel-8 op de client zullen we een willekeurige poort openen, hier zullen we 9899 gebruiken. Ik heb uitgebreid ingeschakeld zodat u meer details kunt zien op het scherm

# ncat --verbose --listen 9899 > outputfileNcat: Version 7.70 ( https://nmap.org/ncat )Ncat: Listening on :::9899Ncat: Listening on 0.0.0.0:9899Ncat: Connection from 192.168.43.250.Ncat: Connection from 192.168.43.250:40242.

naast het starten van de overdracht, gebruik het onderstaande commando

# ncat --verbose 192.168.43.157 9899 < inputfileNcat: Version 7.70 ( https://nmap.org/ncat )Ncat: Connected to 192.168.43.157:9899.Ncat: 19 bytes sent, 0 bytes received in 0.01 seconds.

als u problemen ondervindt, kunt u de firewall tussen uw server en client controleren. Het is mogelijk dat de betreffende poort geblokkeerd is en dat u firewalld open poort

moet gebruiken

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.