centos7 防火墙firewall
程序员文章站
2024-03-09 08:59:53
...
以前用习惯了centos6,设置防火墙的时候都是用iptables,
最近在用centos7,发现防火墙默认使用firewall,然后一脸懵逼,
后来搜集了一些资料,大致操作如下:
1、如果你机器上没有安装firewall的话,我们可以采用yum的方式安装
yum install firewalld
2、开启服务
systemctl start firewalld.service
3、关闭防火墙
systemctl stop firewalld.service
4、开启自动启动
systemctl enable firewalld.service
5、关闭开机制动启动
systemctl disable firewalld.service
6、查看状态
systemctl status firewalld
7、使用firewall-cmd 命令
查看状态
firewall-cmd --state
获取活动的区域
firewall-cmd --get-active-zones
获取所有支持的服务
firewall-cmd --get-service
获取永久选项所支持的服务 就是重启后也支出的
firewall-cmd --get-service --permanent
开启应急模式阻断所有网络连接
firewall-cmd --panic-on
关闭应急模式
firewall-cmd --panic-off
查看应急模式的状态
firewall-cmd --query-panic
在不改变状态的条件下重新加载防火墙
firewall-cmd --reload
修改配置文件后 使用命令重新加载
firewall-cmd --reload
启用某个服务
firewall-cmd --zone=public --add-service=https //临时
firewall-cmd --permanent --zone=public --add-service=https //永久
开启某个端口
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp //永久
firewall-cmd --zone=public --add-port=8080-8081/tcp //临时
查看开启的端口和服务
firewall-cmd --permanent --zone=public --list-services //服务空格隔开
firewall-cmd --permanent --zone=public --list-ports //端口空格隔开
设置某个ip 访问某个服务
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"
删除上面设置的规则
firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"
端口转发先开启允许伪装IP
firewall-cmd --query-masquerade # 检查是否允许伪装IP
firewall-cmd --add-masquerade # 允许防火墙伪装IP
firewall-cmd --remove-masquerade# 禁止防火墙伪装IP
设置转发
转发 tcp 22 端口至 3753
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=3753
转发 22 端口数据至另一个 ip 的相同端口上
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
转发 22 端口数据至另一 ip 的 2055 端口上firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100
上一篇: .war .jar 包的运行
下一篇: centos7防火墙常用命令