centOS7 防火墙 以及修改成iptables

centos7 默认使用firewalld防火墙配置,以及修改iptables

开启服务

1
systemctl start firewalld.service

关闭防火墙

1
systemctl stop firewalld.service

开机自动启动

1
systemctl enable firewalld.service

关闭开机制动启动

1
systemctl disable firewalld.service

查看状态

1
systemctl status firewalld

查看状态

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

获取活动的区域

1
firewall-cmd --get-active-zones

获取所有支持的服务

1
firewall-cmd --get-service

在不改变状态的条件下重新加载防火墙:

1
firewall-cmd --reload

防火墙预定义的服务配置文件是xml文件 目录在 /usr/lib/firewalld/services/

在 /etc/firewalld/services/ 这个目录中也有配置文件 但是/etc/firewalld/services/目录 优先于 /usr/lib/firewalld/services/ 目录

修改配置文件后 使用命令重新加载

1
firewall-cmd --reload

启用某个服务

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

开启某个端口

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

使用命令加载设置

1
firewall-cmd --reload

查看开启的端口和服务

1
2
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 文件就会被修改 所以也可以在文件中之间修改 然后重新加载

删除上面设置的规则

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

启动服务

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

安装iptables防火墙(在这之前关闭firewalld)

1
2
3
4
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动