firewalld防火墙命令
firewalld防火墙命令
使用Firewalld工具来管理Linux防火墙连接规则
1.安装firewalld yum -y install firewalld
CentOS7 firewalld防火墙 常用命令
1、firewalld的基本使用
启动: systemctl start firewalld
重启:systemctl restart firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
firewalld-cmd 配置命令
2.配置firewalld-cmd
查看版本: firewall-cmd –version
查看帮助: firewall-cmd –help
显示状态: firewall-cmd –state
查看所有打开的端口: firewall-cmd –zone=public –list-ports
更新防火墙规则: firewall-cmd –reload
查看区域信息: firewall-cmd –get-active-zones
查看指定接口所属区域: firewall-cmd –get-zone-of-interface=eth0
拒绝所有包:firewall-cmd –panic-on
取消拒绝状态: firewall-cmd –panic-off
查看是否拒绝: firewall-cmd –query-panic
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.servicec
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl –failed
centos7版本
centos7版本对防火墙进行加强,不再使用原来的iptables,启用firewalld,
不过国外有些VPS服务器开启也是用iptables,使用时可以先检测一下开启的是哪一种防火墙。
firewalld防火墙设置
CentOS7/RHEL7系统默认的iptables管理工具是firewalld,不再是以往的iptables-services,命令用起来也是不一样了,
当然你也可以选择卸载firewalld,安装iptables-services firewalld 服务管理
开启端口
firewall-cmd –zone=public –add-port=80/tcp –permanent
firewall-cmd –zone=public –add-port=1723/tcp –permanent
firewall-cmd –zone=public –add-port=22/tcp –permanent
firewall-cmd –zone=public –add-port=47/tcp –permanent
移除端口
firewall-cmd –zone=public –remove-port=80/tcp –permanent
firewall-cmd –zone=public –remove-port=22/tcp –permanent
firewall-cmd –zone=public –remove-port=47/tcp –permanent
开放端口
firewall-cmd –zone=public –add-port=5672/tcp –permanent # 开放5672端口
firewall-cmd –zone=public –remove-port=5672/tcp –permanent #关闭5672端口
firewall-cmd –reload # 配置立即生效
配置防火墙,开启数据路由(关键的一步,不配置防火墙,无法实现网络访问)
firewall-cmd –permanent –direct –add-rule ipv4 filter INPUT 0 -i eth0 -p tcp –dport 1723 -j ACCEPT
firewall-cmd –permanent –direct –add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
firewall-cmd –permanent –direct –add-rule ipv4 filter POSTROUTING 0 -t nat -o eth0 -j MASQUERADE
firewall-cmd –permanent –direct –add-rule ipv4 filter FORWARD 0 -i ppp+ -o eth0 -j ACCEPT
firewall-cmd –permanent –direct –add-rule ipv4 filter FORWARD 0 -i eth0 -o ppp+ -j ACCEPT
设置完重启防火墙
systemctl restart firewalld
参考规则
firewall-cmd –permanent –direct –passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 172.30.229.0/24
端口的增、删、查(以80端口为例)
添加
firewall-cmd –zone=public –add-port=80/tcp –permanent (–permanent永久生效,没有此参数重启后失效)
删除
firewall-cmd –zone= public –remove-port=80/tcp –permanent
重新载入
firewall-cmd –reload
查看
firewall-cmd –zone= public –query-port=80/tcp
删除之前设置的转发规则,把以上命令中的–add-forward-port改为–remove-forward-port运行一次即可。
如果要使转发规则永久有效,要在命令最后面加上–permanent参数。
firewall-cmd –reload ##重启防火墙(此命令如果出错可以用systemctl restart firewalld重启)
firewall-cmd –zone=public –add-port=8080/tcp –permanent ##开放指定端口(此处为开放8080,可替换为指定端口号),开放后需重启防火墙生效
firewall-cmd –zone=public –remove-port=8080/tcp –permanent ##关闭指定端口(此处为关闭8080,可替换为指定端口号)
查看防火墙所有开放的端口
firewall-cmd –list-ports #查看开放的端口
查看所有打开的端口: firewall-cmd –zone=public –list-ports
更新防火墙规则: firewall-cmd –reload
查看区域信息: firewall-cmd –get-active-zones
查看指定接口所属区域: firewall-cmd –get-zone-of-interface=eth0
拒绝所有包:firewall-cmd –panic-on
取消拒绝状态: firewall-cmd –panic-off
查看是否拒绝: firewall-cmd –query-panic
配置服务器提供商主机的安全策略,如果使用的是阿里云的ECS,需要配置相关的安全策略,其他服务商请自行检查
开启TCP的1723端口
开启GRE协议