firewalld支持动态更新和zone概念。firewalld有图形界面和命令行界面,图形界面简单粗暴,挺好用,but server没有的咯。firewalld命令行管理工具是firewall-cmd,没事多firewalld-cmd –help就好了。
firewalld默认有8个zone,都配置好了,只要切换就可以了
drop 默认丢弃所有包
block 拒绝所有外部链接,允许内部发起的连接
public 指定外部连接可以进入
external
dmz 和硬件防火墙一样,受限制的公共连接可以进入
work 工作区,概念和workgroup一样,指定的外部链接允许
home 类似家庭组
internal 信任所有链接
centos7默认安装了firewalld,若没有安装,执行 yum install firewalld firewalld-config安装
systemctl start firewalld 启动
systemctl status firewalld或者firewall-cmd –state 查看状态
sytemctl disable firewalld 停止并禁用开机启动
systemctl enable firewalld 设置开机启动
systemctl stop firewalld 禁用
firewall-cmd –version 查看版本
firewall-cmd –help帮助信息
firewall-cmd –get-active-zones查看区域信息
firewall-cmd –get-zone-of-interface=eth0查看指定接口所属区域
firewall-cmd –panic-on 拒绝所有包
firewall-cmd –panic-off取消拒绝状态
firewall-cmd –query-panic查看是否拒绝
firewall-cmd –reload 更新防火墙规则
firewall-cmd –complete-reload 断开再连接
firewall-cmd –zone=public –add-interface=eth0 将接口添加到public区域 , 默认接口都在public。若加上–permanet则永久生效
firewall-cmd –set-default-zone=public 设置public为默认接口区域
firewall-cmd –zone=pulic –list-ports 查看所有打开的端口
firewall-cmd –zone=pulic –add-port=80/tcp 把tcp 80端口加入到区域
firewall-cmd –zone=public –add-service=http 把http服务加入到区域
firewall-cmd –zone=public –remove-service=http 移除http服务
设置一下防火墙,无论使用哪个zone,千万记得把ssh服务允许了。。。不然下次putty就连不上去咯
1.查看防火墙状态和启用防火墙并加入开机启动
systemctl status firewalld.service
systemctl enable firewalld.service
systemctl status firewalld.service
firewall-cmd –get-zones 列出所有zone
firewall-cmd –new-zone=prod –permanet 增加一个zone
firewall-cmd –complete-reload 重启防火墙
firewall-cmd –get-zones 可以看到刚增加的prod了
firewall-cmd –set-default-zone=prod 设置默认为prod
firewall-cmd –get-default-zone 查看默认的zone(当然也可以用firewall-cmd –zone=prod –add-interface=eth0把指定接口设置成prod)
firewall-cmd –zone=prod –add-service=http 允许http服务
这个时候blog.feehi.com能够正常访问了,但是samba svn服务防火墙还是拦截
firewall-cmd –zone=prod –add-service=samba
firewall-cmd –zone=prod –add-port=3690/tcp
svn可以使用了
一开始,我以为firewalld比iptables会更麻烦,其实firewalld比iptables方便多了。这只是firewalld基本的配置,还有更复杂的配置,有待学习.