各个Linux系统版本开启端口的方法-05互联
>

新闻中心 / 各个Linux系统版本开启端口的方法

各个Linux系统版本开启端口的方法

发布时间:2024/11/13 10:49:34

我来详细说明各个Linux系统版本开启端口的具体方法:

  1. CentOS 7/8 系统(使用firewalld)

# 1. 检查防火墙状态
systemctl status firewalld

# 2. 如果未安装,安装firewalld
yum install firewalld -y

# 3. 启动firewalld
systemctl start firewalld
systemctl enable firewalld

# 4. 开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

# 5. 查看开放的端口
firewall-cmd --list-ports

# 6. 配置服务
firewall-cmd --add-service=http --permanent  # 开放http服务
firewall-cmd --add-service=https --permanent # 开放https服务
firewall-cmd --reload

# 7. 配置允许访问的IP
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.1.0/24 port port=3306 protocol=tcp accept"
  1. Ubuntu/Debian 系统(使用ufw)

# 1. 安装ufw
apt-get update
apt-get install ufw

# 2. 配置默认策略
ufw default deny incoming  # 默认拒绝所有入站连接
ufw default allow outgoing # 默认允许所有出站连接

# 3. 开放端口
ufw allow 22/tcp    # SSH
ufw allow 80/tcp    # HTTP
ufw allow 443/tcp   # HTTPS
ufw allow 3306/tcp  # MySQL

# 4. 启用ufw
ufw enable

# 5. 查看状态
ufw status verbose

# 6. 配置特定IP访问
ufw allow from 192.168.1.0/24 to any port 3306

# 7. 删除规则
ufw delete allow 80/tcp
  1. CentOS 6 系统(使用iptables)

# 1. 确保iptables服务已安装
yum install iptables -y

# 2. 启动服务
service iptables start
chkconfig iptables on

# 3. 配置规则
# 开放SSH端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 开放Web服务端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 4. 保存规则
service iptables save

# 5. 重启服务
service iptables restart

# 6. 查看规则
iptables -L -n
  1. RHEL/CentOS/Fedora(使用firewalld的高级配置)

# 1. 配置区域(zone)
firewall-cmd --get-zones  # 查看可用区域
firewall-cmd --set-default-zone=public  # 设置默认区域

# 2. 配置服务
firewall-cmd --get-services  # 查看预定义服务
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent

# 3. 端口转发
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent

# 4. 配置富规则
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="http" accept' --permanent

# 5. 配置接口
firewall-cmd --zone=trusted --change-interface=eth0 --permanent
  1. Debian系统(直接使用iptables)

# 1. 安装iptables
apt-get update
apt-get install iptables

# 2. 配置基本规则
# 清空现有规则
iptables -F

# 设置默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许本地回环接口
iptables -A INPUT -i lo -j ACCEPT

# 开放特定端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 3. 保存规则
apt-get install iptables-persistent
netfilter-persistent save
netfilter-persistent reload
  1. SUSE Linux系统

# 1. 使用SuSEfirewall2
# 安装
zypper install SuSEfirewall2

# 2. 配置防火墙
# 编辑配置文件
vi /etc/sysconfig/SuSEfirewall2

# 添加开放端口
FW_SERVICES_EXT_TCP="22 80 443"

# 3. 重启防火墙
rcSuSEfirewall2 restart

重要提示:

  1. 开放端口的安全建议:

# 限制访问频率
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

# 记录异常访问
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
  1. 检查端口是否正确开放:

# 检查端口状态
netstat -tulnp | grep LISTEN

# 使用telnet测试
telnet your_server_ip 80

# 使用nmap扫描
nmap -p 80,443 your_server_ip
  1. 常见问题处理:

# SELinux相关
semanage port -a -t http_port_t -p tcp 8080  # 添加SELinux端口

# 日志查看
tail -f /var/log/messages
tail -f /var/log/syslog

下一篇:如何让别人访问自己的端口?