博客
关于我
CentOS 7-firewall-cmd基本命令
阅读量:610 次
发布时间:2019-03-13

本文共 3435 字,大约阅读时间需要 11 分钟。

文章目录

一、firewall-cmd基本命令
1. systemctl相关
# 首先查看防火墙是否开启,如未开启,需要先开启防火墙并作开机自启systemctl status firewalld# 开启防火墙systemctl start firewalld# 停止防火墙systemctl stop firewalld# 禁用防火墙systemctl disable firewalld# 设置开机自启systemctl enable firewalld# 在开机时启用一个服务systemctl enable firewalld.service# 在开机时禁用一个服务systemctl disable firewalld.service# 查看服务是否开机启动systemctl is-enabled firewalld.service
2. firewall-cmd通用信息查询
# 查看当前的firewall的信息和配置firewall-cmd --list-all# 查看版本firewall-cmd --version# 查看帮助firewall-cmd --help# 显示firewalld状态firewall-cmd --state# 模式# trusted:信任。可接受所有的网络连接。# home :家庭。用于家庭网络,仅接受dhcpv6-client ipp-client mdns samba-client ssh服务连接。# work :工作。工作网络,仅接受dhcpv6-client ipp-client ssh服务连接。# public :公共。公共区域使用,仅接受dhcpv6-client ssh服务连接,这是firewalld的默认区域。# external:外部。出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh服务连接。# dmz :非军事区。仅接受ssh服务连接。# block :限制。拒绝所有网络连接。# drop :丢弃。任何接收的网络数据包都被丢弃,没有任何回复。# 查看firewall的默认模式firewall-cmd --get-default-zone# 查看firewall都有哪几种模式firewall-cmd --get-zones# 将firewall的默认模式改为xxx,这是一个临时更改firewall-cmd --set-default-zone=xxx# 端口# 查看所有打开的端口firewall-cmd --zone=public --list-ports# 查看单独端口【--query-port端口/协议】firewall-cmd --zone= public --query-port=80/tcp# service# 查看所有服务firewall-cmd --list-services# 获取所有支持的服务firewall-cmd --get-service# 伪装IP# 检查是否允许伪装IPfirewall-cmd --query-masquerade# 允许防火墙伪装IPfirewall-cmd --add-masquerade# 禁止防火墙伪装IPfirewall-cmd --remove-masquerade# 查看区域信息firewall-cmd --get-active-zones# 查看指定接口所属区域firewall-cmd --get-zone-of-interface=eth0# panic# 拒绝所有包firewall-cmd --panic-on# 取消拒绝状态firewall-cmd --panic-off# 查看是否拒绝firewall-cmd --query-panic# 查看已设置的规则firewall-cmd --zone=public --list-rich-rules
3. firewall-cmd基本配置

注意配置完需要reload重新加载下,在每次修改端口和服务后/etc/firewalld/zones/public.xml文件就会被修改,所以也可以在文件中之中修改,然后重新加载,使用命令实际也是在修改文件,需要重新加载才能生效。

在这里插入图片描述

# 端口#【--zone作用域】【--add-port端口/协议】【--permanent永久生效】firewall-cmd --zone=public --add-port=80/tcp --permanent# 批量开放端口firewall-cmd --zone=public --add-port=100-500/tcp --permanent# 移除firewall-cmd --zone= public --remove-port=80/tcp --permanent# 批量移除firewall-cmd --zone=public --remove-port=100-500/tcp --permanent # 服务【--add-service服务】# 添加服务firewall-cmd --zone=public --add-service=http --permanent# 开启服务firewall-cmd --enable service=xxx# 关闭服务firewall-cmd --disable service=xxx# 删除服务firewall-cmd --remove-service=xxx# 流量转发# 将80端口的流量转发至8080firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 将80端口的流量转发至192.168.0.1firewall-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 --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept' # 删除配置firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept'# 设置某个ip访问某个端口firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.0.1/2 port port=80 protocol=tcp accept'# 删除配置firewall-cmd --permanent --remove-rich-rule 'rule family=ipv4 source address=192.168.0.1/2 port port=80 protocol=tcp accept'# 表示来自"172.25.254.102"的数据全部通过。如果开启,firewall不添加http,且改为8080端口后不添加到firewall,"172.25.254.102"主机也可以访问Apache。"add"改为"remove"可以取消。firewall-cmd --permanent --add-source=172.25.254.102 --zone=trusted# 重新加载# 不中断服务的重新加载firewall-cmd  --reload #中断连接,重新加载firewall-cmd --complete-reload # 防火墙规则永久保存firewall-cmd --runtime-to-permanent

转载地址:http://ohbaz.baihongyu.com/

你可能感兴趣的文章
navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
查看>>
Navicat可视化界面导入SQL文件生成数据库表
查看>>
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
Navicat工具中建立数据库索引
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>
navicat怎么导出和导入数据表
查看>>
Navicat怎样同步两个数据库中的表
查看>>
Navicat怎样筛选数据
查看>>
Navicat报错connection is being used
查看>>
Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
查看>>
Navicat控制mysql用户权限
查看>>
navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
查看>>
Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
查看>>
Navicat连接mysql数据库中出现的所有问题解决方案(全)
查看>>
Navicat连接Oracle出现Oracle library is not loaded的解决方法
查看>>