Linux Firewalld防火墙
Firewalld防火墙配置指南
Firewalld防火墙常用参数
Firewalld 是一个动态管理防火墙的工具,支持区域和服务的概念。以下是一些常用的配置命令和参数。
1. 开放端口
要开放特定的端口,可以使用以下命令:
# 开放所有TCP端口(1-65535),通常不推荐使用
firewall-cmd --add-port=1-65535/tcp --permanent
firewall-cmd --reload
注意:开放所有端口可能会带来安全隐患,建议根据实际需求选择需要开放的端口。
2. 设置端口转发
如果需要将外部请求转发到内部服务器,可以使用以下命令:
# 设置端口转发,将8090端口的请求转发到192.168.1.2的8090端口
firewall-cmd --permanent --zone=public --add-forward-port=port=8090:proto=tcp:toaddr=192.168.1.2:toport=8090
3. 限制地址访问端口
可以通过添加丰富规则来限制特定IP或IP段访问某个端口:
# 针对某个IP地址
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.101.39.72" port protocol="tcp" port="3306" accept'
# 针对某个地址段
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.101.39.0/24" port protocol="tcp" port="3306" accept'
4. 开启伪装(NAT)
如果需要启用网络地址转换(NAT),可以使用以下命令:
# 开启伪装
firewall-cmd --permanent --add-masquerade
此外,还需要在 sysctl.conf 文件中启用 IP 转发:
# 编辑 sysctl.conf 文件
vim /etc/sysctl.conf
# 添加或修改以下行
net.ipv4.ip_forward = 1
保存文件后,执行以下命令使更改生效:
sysctl -p
其他注意事项
-
持久化配置:使用
--permanent参数可以确保配置在重启后依然有效。 -
重载配置:修改防火墙规则后,使用
firewall-cmd --reload使更改生效。 -
区域管理:根据不同的网络环境,可以创建和管理不同的区域,以便更灵活地控制访问权限。
-
查看当前规则:可以使用以下命令查看当前的防火墙规则:
firewall-cmd --list-all -
编辑配置文件:除了使用命令行工具,还可以直接编辑 Firewalld 的配置文件,如
/etc/firewalld/zones/public.xml,但建议优先使用命令行工具进行管理。
总结
Firewalld 提供了灵活的防火墙管理方式,能够有效控制网络流量。根据实际需求配置防火墙规则时,请确保遵循最佳安全实践,以保护系统免受潜在威胁。