linux 的防火墙 ufw、firwalld、iptables 、
防火墙综述
linux 防火墙,常用的包括三种:ufw 、 firewalld 和 iptables。学习难度依次递增。
ufw
因为原生的 iptable 配置麻烦,学习成本较高。 ufw全称 Uncomplicated Firewall 是 ubuntu提供的一个 iptables 的接口。同时支持 ipv4 和 ipv6。
最新版的UFW默认启用了IPV6配置,你也可以通过以下命令进行检查:
# cat /etc/default/ufw | grep -i ipv6
IPV6=yes
默认策略
默认情况下,UFW 设置了:禁止所有流量转入,允许所有流量转出。(这点和 iptable 的默认允许所有流量转入不同)。
我们也可以更改此默认配置:
cat /etc/default/ufw |grep -i default_input # 加 -i 是关闭大小写区分。
DEFAULT_INPUT_POLICY="DROP"
规则设置
允许 80 端口的 tcp 流量包进入
sudo ufw allow 22/tcp
拒绝 88 端口的 tcp 流量包进入与流出
sudo ufw deny 88/tcp
允许特定的 ip 源的访问
sudo ufw allow from 192.168.1.1
firewall
Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙。其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewalld则是交由内核层面的nftables包过滤框架来处理。 相较于iptables防火墙而言,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。
关于 firewall 防火墙配置,需要注意的是:
这里需要首先说明的是,在执行命令时,如果没有带 --permanent 参数表示配置立即生效,但是不会对该配置进行存储,相当于重启服务器就会丢失。如果带上则会将配置存储到配置文件,,但是这种仅仅是将配置存储到文件,却并不会实时生效,需要执行 firewall-cmd --reload 命令重载配置才会生效。
规则配置
- 默认域的配置
firewall-cmd --list-all
- 应急命令
firewall-cmd --panic-on # 拒绝所有流量,远程连接会立即断开,只有本地能登陆
firewall-cmd --panic-off # 取消应急模式,但需要重启firewalld后才可以远程ssh
firewall-cmd --query-panic # 查看是否为应急模式
- 端口
firewall-cmd --add-port=<port>/<protocol> # 添加端口/协议(TCP/UDP)
firewall-cmd --remove-port=<port>/<protocol> # 移除端口/协议(TCP/UDP)
firewall-cmd --list-ports # 查看开放的端口
iptables
iptables 的结构
iptables -> Tables -> Chains -> Rules
简单地讲,tables由chains组成,而chains又由rules组成。iptables 默认有四个表Filter, NAT, Mangle, Raw,其对于的链如下图。

参考文献
https://zhuanlan.zhihu.com/p/98880088
https://www.cnblogs.com/stulzq/p/9808504.html
https://wooyun.js.org/drops/Iptables入门教程.html
linux 的防火墙 ufw、firwalld、iptables 、的更多相关文章
- Linux命令-防火墙命令:iptables
iptables详解--转 查看防火墙设置: 第一种方式: cat /etc/sysconfig/iptables 第二种方式: iptables -L -n -v 设置防火墙: 第一种方式: ipt ...
- linux配置防火墙详细步骤(iptables命令使用方法)
通过本教程操作,请确认您能使用linux本机.如果您使用的是ssh远程,而又不能直接操作本机,那么建议您慎重,慎重,再慎重! 通过iptables我们可以为我们的Linux服务器配置有动态的防火墙,能 ...
- LINUX防火墙firewall、iptables
(1) 重启后永久性生效: 开启: systemctl enable iptables.service'.ln -s '/usr/lib/systemd/system/iptables.service ...
- 转:linux关闭防火墙iptables
ref:https://jingyan.baidu.com/article/066074d64f433ec3c21cb000.html Linux系统下面自带了防火墙iptables,iptables ...
- Linux的防火墙iptables配置示例
注:内容来自网络 一.关闭防火墙 1.重启后永久性生效: 开启:chkconfig iptables on 关闭:chkconfig iptables off 2.即时生效,重启后失效: 开启:ser ...
- linux下防火墙iptables原理及使用
iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火 ...
- Linux防火墙firewall和iptables的使用
防火墙是整个数据包进入主机前的第一道关卡. Linux中有两种防火墙软件,ConterOS 7.0以上使用的是 firewall,ConterOS 7.0以下使用的是 iptables,本文将分别介绍 ...
- Linux中的防火墙(Netfilter、Iptables、Firewalld)
目录 Netfilter Iptables iptables做本地端口转发 Firewalld Netfilter Netfilter是Linux 2.4内核引入的全新的包过滤引擎,位于Linux内核 ...
- Linux防火墙简介及iptables的基本使用
一.防火墙基础知识 iptables/netfilter:网络防火墙,连接追踪(状态检测) netfilter:工作内核中,让规则能够生效的网络框架(framework) iptables:防火墙规则 ...
- Linux添加防火墙、iptables的安装和配置(亲测)
iptables基础 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”.规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源 ...
随机推荐
- 如何优化 Vue.js 应用程序
单页面应用(SPAs)当处理实时.异步数据时,可以提供丰富的.可交互的用户体验.但它们也可能很重,很臃肿,而且性能很差.在这篇文章中,我们将介绍一些前端优化技巧,以保持我们的Vue应用程序相对精简,并 ...
- 限流器算法实现(JUC原子类使用实践)
系列文章目录和关于我 一丶限流器存在的意义 在高并发系统中,出于系统保护角度考虑,通常会对流量进行限流. 限流*的目的是在遇到流量高峰期或者流量突增(流量尖刺)时,通过对流量速率进行限制,当达到限制速 ...
- Centos7系统编译Hadoop3.3.4
1.背景 最近在学习hadoop,此篇文章简单记录一下通过源码来编译hadoop.为什么要重新编译hadoop源码,是因为为了匹配不同操作系统的本地库环境. 2.编译源码 2.1 下载并解压源码 [r ...
- Ubuntu下的FTP Servers搭建与连接
1.安装FTP:vsftod sudo apt-get install vsftpd sudo: 使用sudo(super user do)给普通用户赋予权限 不是所有命令都能用sudo执行的,比 ...
- 斐讯K2刷华硕固件教程
转载博客园J'KYO: https://www.cnblogs.com/pejsidney/p/12361234.html
- Python接口自动化之pymysql数据库操作
一.pymysql介绍及安装 01 pymysql介绍 MySQL应该说是如今使用最为普遍的数据库了,没有之一,而Python作为最为流行的语言之一,自然少不了与MySQL打交道,其中PyMySQL就 ...
- SAP 文档必须包含正确的根元素
--------------------------- LoadXML Malformed XML Error --------------------------- 文档必须包含正确的根元素. -- ...
- TDSQL-C Serverless 服务是如何实现通过接入层来实现恢复感知
在一些极限的测试场景下,数据库实例会频繁的自动启停,这时候如何保证数据库实例停止后快速恢复呢?如何保证在恢复数据库实例时无需用户重复链接,直到恢复访问? 站在用户的角度考虑,谁都不希望数据库每次启停都 ...
- html添加公共文件
html添加公共文件 记录添加公共头尾文件的方法 thymeleaf模板引擎 common.html index.html
- [版本控制-Git]-git学习总结
1.如何将本地的文件添加到已经建好的远程分支上: 1.1 本地文件夹内,右键-git bash - 创建新仓 git init 1.2 git remote add origin 远程仓库的githu ...