一、linux防火墙介绍
在 Linux 中,常见的防火墙有 iptables 和 firewalld。
主要作用包括:
- 阻止未经授权的访问,保护系统安全。
- 限制特定端口的访问,防止潜在的攻击。
- 可以根据需求灵活配置,以满足不同的网络环境和安全要求。
配置注意:不同的 Linux 发行版可能会使用不同的防火墙工具和配置方式,例如:CentOS 7 及以上版本默认使用的是 firewalld 防火墙,而 CentOS 6.x 及以下版本默认安装的是 iptables。
二、iptables的配置命令
/etc/sysconfig/iptables
:这是 iptables 防火墙的主要配置文件。
安装iptables
- yun install iptables-services
查看iptables服务状态。
- systemctl status iptables
启动iptables
- systemctl start iptables
重启firewall
- systemctl restart iptables
关闭firewall
- systemctl stop iptables
开机自启用iptablesl服务
- systemctl enable iptables
开机禁用iptables服务
- systemctl disable iptables
开放80端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
三、firewalld的配置命令
/etc/firewalld/firewalld.conf
:这是 firewalld 防火墙的配置文件。
/etc/firewalld/zones/
:存放着不同区域(zone)的配置文件,例如 public、private 等。
安装firewall
- yum install firewalld
查看firewall服务状态。
- systemctl status firewalld
启动firewall
- systemctl start firewalld
重启firewall
- systemctl restart firewalld
关闭firewall
- systemctl stop firewalld
开机自启用firewall服务
- systemctl enable firewalld
开机禁用firewall服务
- systemctl disable firewalld
查看防火墙的版本。
- firewall-cmd --version
查看firewall的状态。
- firewall-cmd --state
查看防火墙全部的信息。
- firewall-cmd --list-allda'te
查看防火墙已开通的端口。
- firewall-cmd --list-port
查看防火墙已开通的服务。
- firewall-cmd --list-service
查看全部的服务列表
- firewall-cmd --get-services
查看防火墙服务是否开机启动。
- systemctl is-enabled firewalld
重新加载防火墙配置
- firewall-cmd --reload
开放22端口
- firewall-cmd --zone=public --add-port=22/tcp --permanent
移去22端口
- firewall-cmd --zone=public --remove-port=22/tcp --permanent
开放2000-3000之间的端口
- firewall-cmd --zone=public --add-port=2000-3000/tcp --permanent
移去5000-5500之间的端口
- firewall-cmd --zone=public --remove-port=2000-3000/tcp --permanent
开放ftp服务
- firewall-cmd --zone=public --add-service=ftp --permanent
移去http服务
- firewall-cmd --zone=public --remove-service=ftp --permanent
四、iptables VS firewalld
iptables:一种强大且灵活的防火墙工具
-
它通过一系列规则来控制网络数据包的进出。
- 可以基于源地址、目标地址、端口等条件进行精细的过滤和控制。
- 规则体系相对底层和细致,需要对网络协议和数据包结构有较深入的理解才能熟练配置。
- 对于复杂规则的组合和定制能力很强。
- 直接基于表(如 filter 表等)和链来管理规则。
firewalld:一种相对较新的防火墙管理工具
- 提供了更高级的概念和抽象,比如区域和服务等,简化了一些常见场景的配置。
- 可以动态地添加、修改和删除规则,无需重启服务立即生效。
- 对一些网络服务的管理更加直观,通过直接指定服务名称来配置规则。
- 可以方便地与其他系统服务进行集成和交互。