Centos7 配置防火墙 firewall
一、firewall
1、从CentOS7开始,默认使用firewall来配置防火墙,没有安装iptables(旧版默认安装)。
2、firewall的配置文件是以xml的格式,存储在 /usr/lib/firewalld/ 和 /etc/firewalld/ 目录中。
(1)系统配置目录,目录中存放定义好的网络服务和端口参数,系统参数,不要修改。
/usr/lib/firewalld/
/usr/lib/firewalld/services
/usr/lib/firewalld/zones
(2)用户配置目录
/etc/firewalld/
/etc/firewalld/services
/etc/firewalld/zones
3、特性
(1)firewalld是centos7的一大特性,最大的好处有两个:
- 支持动态更新,不中断用户连接
- 加入了防火墙的“zone”概念 ,可以理解为 firewalld 的单位、规则集:
1️⃣ drop(丢弃),任何接受的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网路连接。
2️⃣ block(限制),任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。
3️⃣ public(公共),在公共区域内使用,不能相信网络内的其他计算机不会对你的计算机造成危害,只能接收经过选取的连接。
4️⃣ external(外部),特别是为路由器启动了伪装功能的外部网。你不能相信来自网络的其他计算机,不能相信他们不会对你的计算机造成危害,只能接收经过选择的连接。
5️⃣ dmz(非军事区),用于你的非军事区内的电脑,此区域内可公开访问,可以有限的进入你的内部网络,仅仅接收经过选择的连接。
6️⃣ work(工作),用于工作区。你可以基本相信网络内的其他计算机不会危害到你。仅仅接收经过选择的连接。
7️⃣ home(家庭),用于家庭网络。你可以基本相信网络内的其他计算机不会危害到你。仅仅接收经过选择的连接。
8️⃣ internal(内部),用于内部网络。你可以基本相信网络内的其他计算机不会危害到你。仅仅接收经过选择的连接。
9️⃣ trusted(信任),可接受所有的网络连接。
说明:firewalld 的缺省区域是 public。
(2)firewalld有图形界面和工具界面
(3)firewalld的字符界面管理工具是 firewall-cmd
二、配置防火墙
设置防火墙的方式有两种:firewall命令 、 直接修改配置文件
1、firewall命令
例如:对外开放/停止3306端口,供外部的计算机访问。该命令方式添加的端口,可在/etc/firewalld/zones中的对应配置文件中得到体现
#开放
firewall-cmd --zone=public --add-port=/tcp --permanent #删除
firewall-cmd --zone=public --remove-port=/tcp --permanent #别忘记重启防火墙
systemctl restart firewalld
说明:
- firewall-cmd:Linux中提供的操作firewall的工具。
- –zone:指定作用域。
- –add-port=3306/tcp:添加的端口,格式为:端口/通讯协议。
- –permanent:表示永久生效,没有此参数重启后会失效。
2、直接修改配置文件
比如:修改 /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port="39000-40000"/>
<port protocol="tcp" port=""/>
</zone>
如上,需要开放的端口,已经添加再public这个区域里了。
三、firewall常用命令
1、查看状态
service firewalld status
或
systemctl status firewalld
或
firewall-cmd --state
2、启动、停止、重启
# 启动
service firewalld start
或
systemctl start firewalld # 停止
service firewalld stop
或
systemctl stop firewalld # 重启
service firewalld restart
或
systemctl restart firewalld
3、开机自启动
# 关闭开机自启动
systemctl disable firewalld # 开启开机自启动
systemctl enable firewalld
4、查看防火墙规则
firewall-cmd --list-all
四、其他命令
1、其他基本命令
firewall-cmd --version #查看版本
firewall-cmd --help #查看帮助
firewall-cmd --panic-on #拒绝所有包
firewall-cmd --panic-off #取消拒绝状态
firewall-cmd --query-panic #查看是否拒绝
firewall-cmd --reload #重新加载防火墙,并不中断用户连接(firewalld特性之一动态添加规则)
firewall-cmd --complete-reload #重新加载防火墙并中断用户连接(类似于重启服务)
2、zone相关
firewall-cmd --get-zones #显示支持的区域列表
firewall-cmd --get-active-zones #查看当前的区域
firewall-cmd --get-default-zone #查看默认区域
firewall-cmd --set-default-zone=home #设置默认区域为 home
firewall-cmd --zone=public --list-interfaces #显示显示公共区域(public)所有接口
firewall-cmd --zone=public --list-all #显示公共区域(public)所有设置
firewall-cmd --get-zone-of-interface=ens33 #查看指定接口 ens33 所属区域
firewall-cmd --zone=internal --change-interface=ens33 #临时修改网络接口 ens33 为内部区域(internal),永久修改加上 --permanent 参数
firewall-cmd --zone=public --add-interface=ens37 #为公共区域(public)增加一个接口 ens37
3、service相关
firewall-cmd --get-service #显示服务列表
firewall-cmd --list-service #显示当前服务
firewall-cmd --enable service=ssh #允许SSH服务通过
firewall-cmd --disable service=ssh #禁止SSH服务通过
firewall-cmd --enable service=samba --timeout= #临时允许 samba 服务通过 秒
firewall-cmd --permanent --zone=internal --add-service=http #添加 http 服务到内部区域(internal)
firewall-cmd --zone=work --add-service=smtp #把 smtp 服务加入工作区域(work)
firewall-cmd --zone=work --remove-service=smtp #从工作区域(work)移除 smtp 服务
4、地址伪装
firewall-cmd --zone=external --query-masquerade #查询外部区域(external)是否能伪装ip,结果为yes
firewall-cmd --zone=external --add-masquerade #外部区域(external)启用IP伪装(masquerade)
firewall-cmd --zone=external --remove-masquerade #外部区域(external)禁用用IP伪装
5、端口转发
# 打开端口转发,首先需要打开IP地址伪装
firewall-cmd --zone=external --add-masquerade # example :把外部区域(external)的 端口 转发至
firewall-cmd --zone=external --add-forward-port=:porto=tcp:toport= # example :把外部区域(external)的 端口转发到 192.168.1.20 的同一端口
firewall-cmd --zone=external --add-forward-port=:porto=tcp:toaddr=192.168.1.20 # example :把外部区域(external)的 端口转发到 192.168.1.20 的 端口
firewall-cmd --zone=external --add-forward-port=port=:proto=tcp:toport=:toaddr=192.168.1.20
Centos7 配置防火墙 firewall的更多相关文章
- Linux Centos7配置防火墙开启端口
在使用centos7安装完mysql.tomcat.nginx后,都需要配置防火墙才能正常访问. 下面系统的学习一下防火墙的配置. centos7默认使用firewall,需要关闭,然后使用iptab ...
- CentOS7配置防火墙
使用命令的方式配置 ##Add firewall-cmd --permanent --zone=public --add-port=/tcp ##Remove firewall-cmd --perma ...
- Centos7,配置防火墙,开启端口
原文链接:https://blog.csdn.net/u013410747/article/details/61696178 适用于CentOS 7 64位的指令: .查看已开放的端口(默认不开放任何 ...
- Centos7安装防火墙firewall
安装 1.下载 yum install -y firewalld yum install -y firewall-config 2.启动 systemctl start firewalld # 启动 ...
- Centos7:配置防火墙
firewalld的基本使用 启动: systemctl start firewalld 关闭:systemctl stop firewalld 查看状态: systemctl status fire ...
- CentOS7.3防火墙firewalld简单配置
今天安装了centos7.3, 想用iptables的save功能保存规则的时候发现跟rhel不一样了, 后来度娘说centos用的是firewalld而不是iptables了, 平时工作都是用re ...
- linux配置防火墙,开启端口
Centos7,配置防火墙,开启端口 1.查看已开放的端口(默认不开放任何端口) firewall-cmd --list-ports 2.开启80端口 firewall-cmd --zone=publ ...
- Centos7启动防火墙时报错Failed to start IPv4 firewall with iptables
今天在虚拟机的Linux系统(centos7)里安装Redis,准备学习一下布隆过滤器呢,安装完后使用Windows本机访问不了虚拟机里的Redis,telnet不通能够ping通.于是就去看防火墙, ...
- CentOS7 下使用 Firewall防火墙系统封禁允许IP和端口的访问 端口转发 IP转发方法
CENTOS7的防火墙系统默认已经从iptable改成了firewall,使用方法也有所不同,下面是详细介绍 一.管理端口 列出 dmz 级别的被允许的进入端口 # firewall-cmd --zo ...
随机推荐
- HDU 4747 Mex【线段树上二分+扫描线】
[题意概述] 一个区间的Mex为这个区间没有出现过的最小自然数,现在给你一个序列,要求求出所有区间的Mex的和. [题解] 扫描线+线段树. 我们在线段树上维护从当前左端点开始的前缀Mex,显然从左到 ...
- 初学数位DP
所谓数位dp,字面意思就是在数位上进行dp,数位的含义:一个数有个位.十位.百位.千位.等等,数的每一位就是数位. 数位DP一般应用于: 求出给定区间[A,B]内,符合条件P[i]的数 i 的个数. ...
- 笔记——python风格规范
分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Python会将 圆括号, 中括号和花括号 ...
- WebLoad 解析服务器返回的JSON格式内容
服务器返回Json格式的响应内容经常是以 String (txt) 形式返回给客户端.客户端需要把 文本形式的内容还原为Json格式以进一步做处理(如,取得返回内容的一个值作为下个请求的一个输入).这 ...
- POJ 1330 (LCA)
http://poj.org/problem?id=1330 题意:给出一个图,求两个点的最近公共祖先. sl :水题,贴个模板试试代码.本来是再敲HDU4757的中间发现要用LCA, 操蛋只好用这 ...
- Codeforces 629D Babaei and Birthday Cake(树状数组优化dp)
题意: 线段树做法 分析: 因为每次都是在当前位置的前缀区间查询最大值,所以可以直接用树状数组优化.比线段树快了12ms~ 代码: #include<cstdio> #include< ...
- P1665 正方形计数
P1665 正方形计数 题目描述 给定平面上N个点,你需要计算以其中4个点为顶点的正方形的个数.注意这里的正方形边不一定需要和坐标轴平行. 输入输出格式 输入格式: 第一行一个数X,以下N个点的坐标. ...
- win7 多用户远程登录
win7多用户远程登录 远程桌面服务使局域网(LAN)上的计算机可以连接到服务器(也称为远程计算机)并运行位于服务器上的程序.这可以只需要在1台机器上安装应用程序,其他机器共享使用.远程桌面连接使用远 ...
- web开发常见性能优化方式
经常使用的高并发. 高性能web,数据库server. 1.html 静态化 : 如新闻频道更新的非常快,都是通过cms静态生成(门户,信息公布类型的站点,交互性高的如猫扑的大杂烩也是静态化,实时静 ...
- C#的DataGridView如何修改字体
在RowTemplate中可以修改字体和显示的格式(比如保留几位小数)