Linux系统通过firewall限制或开放端口

本文介绍了如何在Linux系统中管理防火墙,包括查看防火墙状态、开启与关闭防火墙、添加与删除端口开放规则、限制特定IP访问以及查看和删除丰富规则。通过`firewall-cmd`和`iptables`命令,可以实现对防火墙的精细控制,确保系统安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、查看防火墙状态

1、首先查看防火墙是否开启,如未开启,需要先开启防火墙并作开机自启

systemctl status firewalld

这是关闭的状态

开启

这是开启状态

开启防火墙并设置开机自启

systemctl start firewalld
systemctl enable firewalld

二、开放或限制端口

1、开放端口
(1)比如我们需要开启XShell连接时需要使用的22端口

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

其中–permanent的作用是使设置永久生效,不加的话机器重启之后失效

(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload

(3)可通过如下命令查看是否生效

firewall-cmd --zone=public --query-port=22/tcp

输出yes 表示开启,no表示未开启

(4)如下命令可查看当前系统打开的所有端口

firewall-cmd --zone=public --list-ports

详细信息

firewall-cmd --list-all

2、限制端口
(1)比如我们现在需要关掉刚刚打开的22端口

firewall-cmd --zone=public --remove-port=22/tcp --permanent

(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload

在这里插入图片描述

3、更改文件方式开放端口

iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT  //开放8080端口  
iptables-save

4、开放了那些白名单

firewall-cmd --zone=public --list-rich-rules

5、限制ip

比如限制IP为192.168.0.200的地址禁止访问80端口即禁止访问机器

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"

6、防火墙重启

systemctl restart firewalld

7、删除规则

firewall-cmd --remove-rich-rule '****'  --permanent

****表示要删除的规则

firewall-cmd --reload
firewall-cmd --list-all

防火墙启动关闭

1、启动防火墙

systemctl start firewalld

2、关闭防火墙

systemctl stop firewalld

3、查看状态

systemctl status firewalld

4、开机禁用

systemctl disable firewalld

5、开机启用

systemctl enable firewalld

6、移除规则

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="**" port protocol="tcp" port="8080" accept" 

7、端口访问开放某个ip访问

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="***" port protocol="tcp" port="3306" accept" 

Linux系统开放3389端口通常用于支持远程桌面连接服务,例如通过`xrdp`某些RDP(Remote Desktop Protocol)实现。以下是具体的配置步骤: ### 修改防火墙设置以开放3389端口 1. 在大多数基于Red Hat的Linux发行版(如CentOS、Fedora)中,默认使用的是`firewalld`作为防火墙管理工具。可以通过以下命令添加3389端口并重新加载防火墙规则: ```bash sudo firewall-cmd --permanent --add-port=3389/tcp sudo firewall-cmd --reload ``` 此操作将永久添加对TCP协议上3389端口的支持,并立即生效[^3]。 2. 如果使用的是较旧版本的系统者手动配置了`iptables`,则需要编辑相应的规则文件(通常是`/etc/sysconfig/iptables`),并在其中添加一条允许流量进入3389端口的规则: ```bash -A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT ``` 完成后重启`iptables`服务使更改生效: ```bash sudo systemctl restart iptables ``` ### 配置SELinux(如果启用) - 当前系统若启用了SELinux,则可能需要调整策略以允许新的端口被访问。可以使用如下命令来修改端口上下文: ```bash sudo semanage port -a -t ssh_port_t -p tcp 3389 ``` 这里假设您希望赋予3389端口与SSH相同的安全标签;不过,请根据实际运行的服务类型选择合适的类型标记[^1]。 ### 启动和配置远程桌面服务 - 对于想要通过RDP协议进行连接的情况,推荐安装`xrdp`软件包。它提供了一个开源的RDP服务器,能够接受来自Windows远程桌面客户端其他兼容RDP的应用程序的连接请求。 ```bash sudo yum install epel-release sudo yum install xrdp sudo systemctl start xrdp sudo systemctl enable xrdp ``` 安装完成后确保服务已经启动并且设置为开机自启。此时应该可以从远程设备上使用标准的远程桌面客户端尝试连接到该Linux主机了[^2]。 完成以上步骤之后,您的Linux系统就应当能够在3389端口监听来自网络的远程桌面连接请求了。请记得测试新配置是否按预期工作,并考虑实施额外的安全措施比如限制仅特定IP地址可访问此端口等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值