Debian/Ubuntu/Centos Linux系统VPS服务器防火墙放行指定端口

在学习在Linux上打开端口之前,让我们了解什么是网络端口。 端口是通信端点。 在操作系统内,端口允许数据包特定的进程或网络服务。通常,端口标识分配给它们的特定网络服务。 可以通过手动将服务配置为使用其他端口来更改此设置,但是通常可以使用默认值。

前1024个端口(端口0-1023 )称为众所周知的端口号,并保留用于最常用的服务,包括SSH(端口22),HTTP和HTTPS(端口80和443)等。端口号大于1024的被称为临时端口。 在临时端口中,端口号1024-49151称为已注册/用户端口。 其余端口49152-65535被称为动态/专用端口。

一、查看所有打开的端口

在Linux上打开端口之前,让我们首先检查所有打开的端口的列表,然后从该列表中选择一个临时端口打开。 我们可以使用netstat命令列出所有打开的端口,包括TCP , UDP的端口 ,它们是网络层中用于数据包传输的最常见协议。

注意:
如果您的发行版没有netstat ,那不是问题。 您可以使用ss命令通过侦听套接字显示打开的端口。

netstat -lntu

二、Debian/Ubuntu系统放行端口

安装iptables(通常系统都会自带,如果没有就需要安装)

apt-get update
apt-get install iptables

例如要放行8888端口

iptables -I INPUT -p tcp --dport 8888 -j ACCEPT

然后保存放行规则

iptables-save

设置完就已经放行了指定的端口,但重启后会失效,下面设置持续生效规则;

安装iptables-persistent

apt-get install iptables-persistent

保存规则持续生效

netfilter-persistent save
netfilter-persistent reload

设置完成后指定端口就会持续放行了;


三、Centos系统放行端口

例如要放行8888端口

firewall-cmd --zone=public --add-port=8888/tcp --permanent

命令含义:

--zone          #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent      #永久生效,没有此参数重启后失效

然后重启防火墙

firewall-cmd --reload

查看防火墙规则

iptables -L