文章目录
- 一、前文
- 二、Linux网络状态
- 三、firewalld启停
- 四、firewalld开机自启动
- 五、端口控制
- 六、IP地址控制
- 七、复杂规则(端口和IP地址的联合控制)
- 八、应急状况
- 九、应用实操
一、前文
- firewald是对于iptables的一个封装,可以让你更容易地管理iptables规则。
- firewalld是iptables前端控制器,用于实现持久地网络流量规则。
- firewalld使用区域和服务,iptables使用的是链式规则。
- firewalld的规则是默认拒绝,iptables的规则默认是允许。
- 基础知识请查阅:Linux系统firewalld防火墙的基本操作
- 进阶知识请查阅:Linux系统firewalld防火墙的进阶操作(日志保存 IP网段 ssh服务)
- 应用实操请查阅:Linux系统firewalld防火墙的应用实操(对外端口开放使用,对内端口限制ip地址使用,不使用端口默认关闭)
- 应用实操请查阅:Linux系统firewalld防火墙的应用实操(禁止屏蔽海外国外IP访问)
二、Linux网络状态
- 查看Linux系统网络状态,包括进程、IP地址、端口等信息。
netstat -nplt
三、firewalld启停
- firewalld默认关闭,且firewalld的规则是默认拒绝访问。
- 所以,当你开启firewalld后,你系统上的很多服务将不能访问。
systemctl start firewalld
systemctl restart firewalld
systemctl stop firewalld
systemctl status firewalld
四、firewalld开机自启动
- 最好别设置firewalld防火墙自启动,特别是购买的云服务器(机房的物理服务器略过,随便玩)。
- 因为如果firewalld设置错误,导致ssh远程连接失败的话。
- 这时候如果你没有设置firewalld开机自启动的话,你重启服务器,还有挽回的余地。
- 但是如果你设置了firewalld开机自启动的话,那么你重启也是于事无补。
- 这时候,除非你本地登录,否则除了重装系统,重头来过,别无他法。
systemctl enable firewalld
systemctl disable firewalld
五、端口控制
#打开端口
firewall-cmd --add-port=443/tcp
#永久打开端口
firewall-cmd --add-port=3690/tcp --permanent
#批量永久打开端口
firewall-cmd --add-port=9001-9100/tcp --permanent
#公共区域永久打开/关闭端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#防火墙重置
firewall-cmd --reload
#公共区域查询端口
firewall-cmd --zone=public --query-port=80/tcp
#公共区域查询所有端口
firewall-cmd --zone=public --list-ports
#查看防火墙规则
firewall-cmd --list-all
六、IP地址控制
#开放IP访问
firewall-cmd --add-source=192.168.1.1
#永久开放IP访问
firewall-cmd --add-source=192.168.1.1 --permanent
#永久开放IP段访问
firewall-cmd --add-source=192.168.1.0/24 --permanent
#移除IP访问
firewall-cmd --remove-source=192.168.1.1 --permanent
七、复杂规则(端口和IP地址的联合控制)
#允许指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
#允许指定IP段访问本机8080-8090端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
#禁止指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'
#移除规则
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
#查看防火墙规则
firewall-cmd --list-all
八、应急状况
#打开应急,拒绝所有访问,远程连接会立即断掉,只能本地登录
firewall-cmd --panic-on
#关闭应急,重新启动firewalld后,就可以远程ssh
firewall-cmd --panic-off
#检查应急是否开启
firewall-cmd --query-panic
九、应用实操
Linux系统firewalld防火墙的应用实操(对外端口开放使用,对内端口限制ip地址使用,不使用端口默认关闭)