4、使用firewalld,允许所有人能访问http,https服务,但只有10.8.0.1主机可以访问ssh服务。
时间: 2024-10-16 15:16:17 浏览: 6
在Linux系统中,特别是使用firewalld防火墙工具的情况下,你可以通过编辑规则文件来实现这个特定的访问策略。以下是步骤:
1. **打开firewalld管理**:
首先,你需要运行`sudo firewall-cmd --permanent`然后输入密码以获取管理员权限。这将使你能够永久更改防火墙设置。
2. **配置HTTP和HTTPS服务**:
对于HTTP和HTTPS(端口80和443),你可以添加一条规则允许所有IP访问这些服务。命令如下:
```
firewall-cmd --permanent --add-service=http/tcp --add-service=https/tcp
```
3. **允许特定IP访问SSH(端口22)**:
然后,针对SSH服务,只允许来自IP地址10.8.0.1的流量:
```
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.8.0.1" port protocol=tcp port=22'
```
4. **保存并应用规则**:
使用 `sudo firewall-cmd --reload` 来使新的防火墙规则生效。
5. **验证规则**:
你可以运行`firewall-cmd --list-all`来检查规则是否已设置正确,确认HTTP、HTTPS对所有人开放,而SSH仅对10.8.0.1有效。
请注意,上述操作基于firewalld的简单命令行界面,如果你的环境使用的是其他配置方法(如firewalld图形界面或者其他配置文件),可能需要稍作调整。完成上述操作后,确保定期审查和更新防火墙规则以保持安全。
阅读全文