通过对主机server2的防火墙firewalld制定规则,设置只允许192.168.26.0/24网段的主机访问server2的端口80,其他客户端都不能访问
时间: 2024-03-08 11:46:20 浏览: 126
好的,以下是具体的操作步骤:
1. 登录到server2主机,并使用root用户打开终端。
2. 执行以下命令打开端口80:
```
firewall-cmd --add-service=http --permanent
```
3. 执行以下命令添加允许访问的源IP地址:
```
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.26.0/24" service name="http" accept' --permanent
```
这个命令的意思是添加一个规则,允许来自192.168.26.0/24网段的主机访问80端口,并且使用--permanent参数将规则永久保存。
4. 最后,执行以下命令重新加载防火墙规则:
```
firewall-cmd --reload
```
现在,只有来自192.168.26.0/24网段的主机可以访问server2的80端口,其他客户端都不能访问了。
相关问题
firewalld允许192.168.1.0/24访问9681
好的,您需要在firewalld中放通IP地址段192.168.1.0/24访问端口9681,可以使用以下命令实现:
1. 首先检查firewalld是否正在运行:
```
systemctl status firewalld
```
2. 如果firewalld没有运行,则可以使用以下命令启动它:
```
systemctl start firewalld
```
3. 接下来,可以使用以下命令放通IP地址段192.168.1.0/24访问端口9681:
```
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="9681" accept' --permanent
```
这个命令会添加一个新的规则,指定只有来源IP地址在192.168.1.0/24地址段内的TCP流量才被允许访问端口9681。请注意,如果您需要允许其他IP地址访问该端口,您需要相应地修改规则。
4. 最后,重新加载firewalld配置以使更改生效:
```
firewall-cmd --reload
```
现在,IP地址段192.168.1.0/24已经被允许访问端口9681了。
写一个脚本,使用firewalld禁止访问主机和主机上docker地址ip和端口,主机和主机上docker仅允许172.27.30.1主机和192.168.2.0/24网段访问ip和端口。
### 回答1:
以下是一个使用firewalld禁止访问主机和主机上docker地址IP和端口的脚本,同时只允许172.27.30.1主机和192.168.2.0/24网段访问IP和端口的配置:
```
#!/bin/bash
# 关闭防火墙
systemctl stop firewalld
# 清空防火墙规则
firewall-cmd --flush
# 禁止访问主机
firewall-cmd --add-rich-rule='rule family="ipv4" source address="all" drop'
# 禁止访问主机上的docker地址IP和端口
firewall-cmd --add-rich-rule='rule family="ipv4" source address="all" port port="2375" protocol="tcp" drop'
firewall-cmd --add-rich-rule='rule family="ipv4" source address="all" port port="2376" protocol="tcp" drop'
# 允许172.27.30.1主机访问IP和端口
firewall-cmd --add-rich-rule='rule family="ipv4" source address="172.27.30.1" port port="2375" protocol="tcp" accept'
firewall-cmd --add-rich-rule='rule family="ipv4" source address="172.27.30.1" port port="2376" protocol="tcp" accept'
# 允许192.168.2.0/24网段访问IP和端口
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.0/24" port port="2375" protocol="tcp" accept'
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.0/24" port port="2376" protocol="tcp" accept'
# 保存防火墙规则
firewall-cmd --runtime-to-permanent
# 启动防火墙
systemctl start firewalld
```
请注意,此脚本需要以root用户身份运行。另外,根据您的实际情况,可能需要修改IP地址和端口号。
### 回答2:
脚本如下:
```bash
#!/bin/bash
# 定义被禁止访问的IP和端口
blocked_ip="192.168.1.1"
blocked_port="8080"
# 定义允许访问的主机和网段
allowed_host="172.27.30.1"
allowed_subnet="192.168.2.0/24"
# 启用 firewalld 服务
systemctl start firewalld.service
# 添加被禁止访问的规则
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="'$blocked_ip'" drop'
# 添加允许访问主机的规则
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="'$allowed_host'" accept'
# 添加允许访问网段的规则
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="'$allowed_subnet'" accept'
# 添加被禁止访问的端口规则
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="'$blocked_port'" protocol="tcp" drop'
# 重新加载防火墙规则
firewall-cmd --reload
# 显示当前防火墙规则
firewall-cmd --list-all
```
这个脚本使用 firewalld 命令添加防火墙规则,首先启动 firewalld 服务,然后添加被禁止访问的IP、被禁止访问的端口、允许访问的主机和允许访问的网段的规则,并重新加载防火墙规则,最后显示当前的防火墙规则。
阅读全文