CentOS7安装firewall防火墙

CentOS7之后 , 系统已经推荐了firewall防火墙 , 而不是iptables

主要 : firewall 和 iptables冲突 , 需要禁用其中一个.

#停止iptables服务
systemctl stop iptables
#禁用iptables服务
systemctl mask iptables

 

开启firewall服务

#重启firewalld服务(注意有个d)
systemctl restart firewalld
#设置开机自启动(注意有个d)
systemctl enable firewalld

 

通用设置脚本

#设置脚本
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --permanent --zone=public --add-port=21/tcp
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload

 

# 也可批量设置连续端口
firewall-cmd --permanent --zone=public --add-port=8210-8215/tcp

# 删除用 --remove-port , 支持连续端口配置的删除
firewall-cmd --permanent --zone=public --remove-port=80/tcp
firewall-cmd --permanent --zone=public --remove-port=8210-8215/tcp

 

 

命令说明 : 

--permanent 永久生效 / 否则重启失效
--zone 作用域 一般都是public , 可以使用firewall-cmd --list-all-zones命令查看当前使用的域
--add-service 添加服务
--add-port 添加端口, 格式为 端口号/端口协议

 

查看端口开放情况

#查看某个端口
firewall-cmd --zone=public --query-port=80/tcp 

#查看所有端口开放情况
firewall-cmd --zone=public --list-ports

 

 

端口转发路由 :

# 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080   

# 将80端口的流量转发至192.168.0.1
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1 

# 将80端口的流量转发至192.168.0.1的8080端口
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 

 

扩展命令 : 

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

 

#设置特定ip访问特定服务
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept'

删除命令为 : --remove-rich-rule

 

posted on 2019-08-30 20:00  太清  阅读(5356)  评论(0编辑  收藏  举报