centos7 防火墙

来源:互联网 发布:优检一生 知乎 编辑:程序博客网 时间:2024/05/22 12:16

防火墙一般是系统自带安装的;如果系统没有默认安装,可使用以下命令安装:

yum install firewalld


开启/关闭 防火墙:

systemctl start firewalld.servicesystemctl stop firewalld.service


开机自动启动/关闭开机自启动

systemctl enable firewalld.servicesystemctl disable firewalld.service


查看防火墙状态:

systemctl status firewalld




设置firewall,使用firewall-cmd命令

查看状态:

firewall-cmd --state           //running表示在运行


获取活动区:

firewall-cmd --get-active-zones


获取所有支持的服务:

firewall-cmd --get-service


获取永久选项所支持的服务   就是重启后也支出的:

firewall-cmd --get-service --permanent   //在 0.3.0 之前的 FirewallD版本中, panic 选项是 –enable-panic 与 –disable-panic


开启应急模式阻断所有网络连接:

firewall-cmd --panic-on  //在 0.3.0 之前的 FirewallD版本中, panic 选项是 –enable-panic 与 –disable-panic


关闭应急模式:

firewall-cmd --panic-off


查看应急模式状态:

firewall-cmd --query-panic

在不改变状态的条件下重新加载防火墙/修改配置文件后重新加载:

firewall-cmd --reload


启用某个服务:

firewall-cmd --zone=public --add-service=https   //临时firewall-cmd --permanent --zone=public --add-service=https  //永久

开启某个端口:

firewall-cmd  --zone=public --add-port=8080-8081/tcp   //临时
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp //永久


查看开启的端口和服务
firewall-cmd --permanent --zone=public --list-services    //服务空格隔开  例如 dhcpv6-client https ss   firewall-cmd --permanent --zone=public --list-ports //端口空格隔开  例如  8080-8081/tcp 8388/tcp 80/tcp

在每次修改 端口和服务后  /etc/firewalld/zones/public.xml  文件就会被修改   所以也可以在 /etc/firewalld/zones/public.xml 文件中之间修改  然后重新加载



设置某个 ip 访问某个服务

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"  source address="192.168.0.4/24" service name="http" accept"      //ip 192.168.0.4/24 访问 http    设置后 public.xml 会发生变化

删除上一步设置规则:

firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4"  source address="192.168.0.4/24" service name="http" accept"




systemctl start firewalld.service  //开启服务systemctl enable firewalld.service //开机制动启动systemctl stop firewalld.service  //关闭服务systemctl disable firewalld.service //禁止开机启动

端口转发:

先开启允许伪装IP:

firewall-cmd --query-masquerade   // 检查是否允许伪装IPfirewall-cmd --add-masquerade     // 允许防火墙伪装IPfirewall-cmd --remove-masquerade  // 禁止防火墙伪装IP

设置转发:

firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=3753       // 转发 tcp 22 端口至 3753
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100   // 转发 22 端口数据至另一个 ip 的相同端口上
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100    // 转发 22 端口数据至另一 ip 的 2055 端口上




























firewall-cmd  --zone=public --add-port=8080-8081/tcp   //临时
原创粉丝点击