CentOS防火墙设置
一、CentOS 6 的 iptaBLes 防火墙设置
在 CentOS 6 中,默认使用iptables
服务进行防火墙管理,以下是一些常用的iptables
命令:
1. 启动与停止防火墙
启动防火墙:service iptables start
停止防火墙:service iptables stop
重启防火墙:service iptables restart
永久关闭防火墙:chkconfig iptables off
永久开启防火墙:chkconfig iptables on
2. 查看防火墙规则
查看防火墙规则文件:cat /etc/sysconfig/iptables
3. 配置防火墙规则
编辑/etc/sysconfig/iptables
文件以添加或修改规则,对指定 IP 放行指定端口:
I INPUT s 192.168.197.145 p tcp dport 10022 j ACCEPT
对所有 IP 放行指定端口:
A INPUT m state state NEW m tcp p tcp dport 10022 j ACCEPT
对所有 IP 放行所有端口:
A INPUT s 192.168.197.145 j ACCEPT
二、CentOS 7+ 的 firewalld 防火墙设置
从 CentOS 7 开始,默认使用firewalld
服务来管理防火墙,以下是一些常用的firewalld
命令:
1. 启动与停止防火墙
启动防火墙:systemctl start firewalld
停止防火墙:systemctl stop firewalld
重启防火墙:systemctl restart firewalld
查看防火墙状态:systemctl status firewalld
永久关闭防火墙(禁止开机自启动):systemctl disable firewalld
永久开启防火墙(允许开机自启动):systemctl enable firewalld
2. 查看防火墙规则
查看所有打开的端口:firewallcmd listall
查看已启动的服务列表:systemctl listunitfiles | grep enabled
3. 配置防火墙规则
添加端口到特定区域(如 public):
firewallcmd zone=public addport=10022/tcp permanent
删除端口规则:
firewallcmd zone=public removeport=10022/tcp permanent
添加服务到特定区域(如 work):
firewallcmd zone=work addservice=smtp permanent
删除服务规则:
firewallcmd zone=work removeservice=smtp permanent
添加源地址到特定区域:
firewallcmd zone=work addsource=192.168.100.100/24 permanent
删除源地址规则:
firewallcmd zone=work removesource=192.168.100.100/24 permanent
4. 动态更新防火墙规则
重新加载防火墙配置以使新规则生效:firewallcmd reload
三、高级功能与常见问题解答(FAQs)
1. 如何更改默认区域?
可以通过修改/etc/firewalld/zones/public.xml
文件中的标签值来更改默认区域,将默认区域改为work
:
<zone> ... <target>default="work"/> </zone>
然后重新加载防火墙规则:firewallcmd reload
2. 如何永久关闭防火墙?
虽然不建议关闭防火墙以保证系统安全,但如果确实需要关闭,可以执行以下命令:
systemctl stop firewalld systemctl disable firewalld
或者直接禁止开机启动:
systemctl disable firewalld
这样做会降低系统的安全性,因此应谨慎使用。
CentOS 提供了灵活而强大的防火墙配置工具,通过合理配置和管理防火墙规则,可以有效保护系统免受未经授权的访问和网络攻击,无论是日常维护还是应急处理,掌握上述基本操作和高级功能都是必不可少的技能。