0、firewalld 安装
CentOS7 默认是安装了 firewalld 的,如果没有,且需要安装,可执行下方代码。
习惯通过图形界面操作的,可以执行下方代码,就能通过界面操作
- yum install firewall-config
1、firewalld 基本使用
启动 firewalld
- systemctl start firewalld
查看 firewalld 状态
- systemctl status firewalld
停止 firewalld
- systemctl disable firewalld
禁用 firewalld
2、firewalld-cmd 常用操作命令
查看版本
查看帮助
显示状态
查看所有打开的端口
- firewall-cmd --zone=public --list-ports
查看区域信息
- firewall-cmd --get-active-zones
查看指定接口所属作用域
- firewall-cmd --get-zone-of-interface=eth0
查看指定级别的接口
- firewall-cmd --zone=public --list-interfaces
拒绝所有包
一般服务器受到攻击时使用,谨慎。
取消拒绝状态
查看是否拒绝
- firewall-cmd --query-panic
3、通过 systemctl 管理 firewalld
启动 firewalld 服务
- systemctl start firewalld.service
关闭 firewalld 服务
- systemctl stop firewalld.service
重启 firewalld 服务
- systemctl restart firewalld.service
显示 firewalld 服务的状态
- systemctl status firewalld.service
开启 firewalld 服务在开机时启动
- systemctl enable firewalld.service
禁止 firewalld 服务在开机时启动
- systemctl disable firewalld.service
查看 firewalld 服务是否开机启动
- systemctl is-enabled firewalld.service
查看已启动的服务列表
- systemctl list-unit-files|grep enabled
查看启动失败的服务列表
4、firewalld 常用端口操作
添加端口开放
示例,添加开放 80 端口
- firewall-cmd --zone=public --add-port=80/tcp --permanent
- --zone #作用域
- --add-port #添加端口,格式为:端口/通讯协议
- --permanent #永久生效,没有此参数重启后失效
防火墙重载
注意:添加、修改、删除端口都需要重载或重启防火墙,才能生效。
查看开放端口
- firewall-cmd --zone= public --query-port=80/tcp
删除开放端口
- firewall-cmd --zone= public --remove-port=80/tcp --permanent
5、firewalld 不常用端口操作
端口转发
默认是关闭的,需要先开启端口转发。
- firewall-cmd --zone=external --add-masquerade
示例,转发 22 端口到 555
- firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=555
示例,转发 22 端口到另一个 ip 的相同端口( 22 )
- firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
示例,转发 22 端口到另一个 ip 的 555 端口
- firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=555:toaddr=192.168.1.100
ip 地址伪装
查看伪装状态
- firewall-cmd --zone=external --query-masquerade
打开伪装
- firewall-cmd --zone=external --add-masquerade
移除伪装
- firewall-cmd --zone=external --remove-masquerade
6、zone(作用域)作用介绍
- drop: 丢弃所有进入的包,而不给出任何响应
- block: 拒绝所有外部发起的连接,允许内部发起的连接
- public: 允许指定的进入连接
- external: 同上,对伪装的进入连接,一般用于路由转发
- dmz: 允许受限制的进入连接
- work: 允许受信任的计算机被限制的进入连接,类似 workgroup
- home: 同上,类似 homegroup
- internal: 同上,范围针对所有互联网用户
- trusted: 信任所有连接
完毕!
评论 (0)