使用firewall-cmd限制ssh只能从指定IP段访问

77 篇文章 4 订阅

参考文档(写的很详细)
https://www.liquidweb.com/kb/an-introduction-to-firewalld/

实现过程

下面的命令将配置192.168.1.0/24整个网段的IP允许访问服务器的22端口

// 先移除默认开启的没有访问限制的ssh服务
# firewall-cmd --permanent --remove-service=ssh
// 添加复杂规则,只允许指定IP段访问22端口
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
// 使上面配置生效
# firewall-cmd --reload
// 查看当前配置信息
# firewall-cmd --list-all

备注:
source address也可以设置为单个IP地址,例如192.168.1.1
port可以为单个端口或端口范围,例如1-10000


其他常用命令

删除之前的复杂规则,这里的内容需要与之前添加时的rule内容完全一致,可以复制粘贴过来

firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'

手动开放指定端口

firewall-cmd --permanent --add-port=3306/tcp

删除开放的端口

firewall-cmd --permanent --remove-port=3306/tcp

开放指定服务(系统内置的)

firewall-cmd --permanent --add-service=http

删除服务

firewall-cmd --permanent --remove-service=http

添加白名单地址(单IP)

firewall-cmd --permanent --add-source=192.168.1.100

注: 白名单中的IP可以任意访问所有服务器可用的端口 这个白名单的作用不是这样的,有待继续研究

添加白名单地址(指定网络段CIDR格式)

firewall-cmd --permanent --add-source=192.168.1.0/24

删除白名单地址

firewall-cmd --permanent --remove-source=192.168.1.100

屏蔽指定IP地址

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' reject"

屏蔽IP地址段

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' reject"

手动编辑xml配置文件

除了上面的命令添加规则外,还可以直接编辑/etc/firewalld/zones/public.xml文件(改完后记得执行firewall-cmd --reload生效)

可以按照以下步骤使用yum命令配置firewalld服务,设置本机访问控制列表,限制远程SSH管理IP,仅允许几个指定IP访问,其余所有IP都不允许访问: 1. 安装firewalld服务:使用以下命令安装firewalld服务: ``` yum install firewalld ``` 2. 启动firewalld服务:使用以下命令启动firewalld服务: ``` systemctl start firewalld ``` 3. 设置firewalld开机自启:使用以下命令设置firewalld开机自启: ``` systemctl enable firewalld ``` 4. 添加SSH服务:使用以下命令添加SSH服务: ``` firewall-cmd --add-service=ssh --permanent ``` 5. 添加允许访问IP地址:使用以下命令添加允许访问IP地址,例如允许192.168.1.100和192.168.1.200访问: ``` firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100/32" service name="ssh" accept' --permanent firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.200/32" service name="ssh" accept' --permanent ``` 6. 禁止所有IP访问SSH服务:使用以下命令禁止所有IP访问SSH服务: ``` firewall-cmd --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" service name="ssh" drop' --permanent ``` 7. 重新加载配置:使用以下命令重新加载firewalld配置: ``` firewall-cmd --reload ``` 注意:以上命令中的IP地址和服务名应根据实际情况进行修改。另外,如果需要修改已有的规则,可以使用firewall-cmd命令进行删除或修改。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DexterLien

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值