博客
关于我
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/

你可能感兴趣的文章
MTTR、MTBF、MTTF的大白话理解
查看>>
mt_rand
查看>>
mysql /*! 50100 ... */ 条件编译
查看>>
mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
查看>>
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
查看>>
MySQL 8.0 恢复孤立文件每表ibd文件
查看>>
MySQL 8.0开始Group by不再排序
查看>>
mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
查看>>
multi swiper bug solution
查看>>
MySQL Binlog 日志监听与 Spring 集成实战
查看>>
MySQL binlog三种模式
查看>>
multi-angle cosine and sines
查看>>
Mysql Can't connect to MySQL server
查看>>
mysql case when 乱码_Mysql CASE WHEN 用法
查看>>
Multicast1
查看>>
MySQL Cluster 7.0.36 发布
查看>>
Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
查看>>
MySQL Cluster与MGR集群实战
查看>>