Linux防火墙设置——iptables
防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全。iptables是Linux下设置防火墙规则的常用工具,它可以让你设置、维护以及查看防火墙的规则表。你可以定义多个表,每个表可以包含多个链。每个链都是一系列规则,而每个规则定义了如何处理匹配的数据包。对于匹配的数据包要为其指定“目标”。目标可以是另一条链,也可以是如下特殊值(动作)之一:
- ACCEPT:意味着数据包允许通过。
- DROP:意味着数据包不允许通过。
- RETURN:意味着跳过当前链并且回到调用链的下一条规则。
下面我们来探究一下iptables中的过滤表。过滤表有3条链:
- INPUT:用来控制传入的数据包,你可以针对某个端口、协议或源ip地址来中断或允许连接。
- FORWARD :用来过滤传入此地但将要被转发至别处的数据包。
- OUTPUT:用来过滤传出的数据包。
实践出真知,下面来简单感受一下iptables的使用。
1. 查看当前iptables状态
通过这个命令可以查看当前iptables配置状态。-L选项用来列出所有规则,-v选项用来显示详细信息。输出示例如下图所示。可以看到3条链都被设置为默认的ACCEPT策略。当前每条链还没有规则。接下来我们会修改INPUT链来过滤进入的流量。
2. 定义规则
定义规则意味着把它追加到列表(链)的末尾。iptables命令完整的选项格式长得像这样。我们不必所有的选项。
这里 -A表示追加。interface是想要在其上过滤的网络接口。protocol是你想过滤的数据包所用的网络协议,你也可以指定端口号。
首先,启用本机内部的流量通信。这样应用和数据库之间的所有通信都能正常进行。
输出示例:
然后,我们启用HTTP、SSH和SSL端口连接。
想要HTTP(80端口),HTTPS(443端口),SSH(22端口)连接正常工作,输入以下命令来实现。我们用-p选项指定协议,-dport(destination port)选项指定相应的端口。
现在,这些指定端口上的TCP连接都能被接受。
接下来,基于源地址过滤数据包。
如果你想基于ip源地址或者地址范围来接受或拒绝数据包,那么你可以通过-s选项来指定。比如,接受来自192.168.1.3的数据。
你可以丢弃来自这一地址的数据包,只要将ACCEPT改为DROP:
如果对于来自某一地址范围的数据包你都想丢弃,则需要使用iprange模块,并通过--src-range指定地址范围。
最后,丢弃所有其他流量通信。这是十分重要的步骤,因为这样可以阻止其他端口的未授权访问。以下命令丢弃了除上述端口外其他所有的流入数据。
定义完以上规则后,再来看一看iptables中INPUT状态:
3. 删除规则
如果你想移除所有规则,可以使用flush命令:
如果你想删除指定规则,可以使用-D选项。在这之前,列出所有规则,使用下面的命令可以显示规则对应的行号:
输出如下图:
最后通过行号删除对应的规则:
4. 设置的持久化
目前为止我们对防火墙设置的规则都还只是保存在内存中。这意味这一旦重启变动都会消失。在Debian/Ubuntu系统中,可以使用一下命令保持设置:
该命令将当前规则保存到系统配置文件,它会在重启时重设规则表。每次设置规则后都应该运行这个命令。
Linux防火墙设置——iptables的更多相关文章
- Linux防火墙(iptables/firewalld)
Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...
- Linux防火墙简介 – iptables配置策略
Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...
- linux防火墙之iptables
linux防火墙之iptables 1.1.1 关于iptables简介 IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 ...
- Linux防火墙配置(iptables, firewalld)
netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...
- Linux防火墙:iptables禁IP与解封IP常用命令
在Linux服务器被攻击的时候,有的时候会有几个主力IP.如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了. 在Linux下封停IP,有封杀网段和封杀单个IP两种形 ...
- Linux防火墙设置
对于Internet上的系统,不管是什么情况都要明确一点:网络是不安全的.因此,虽然创建一个防火墙并不能保证系统100%安全,但却是绝对必要的. Linux提供了一个非常优秀的防火墙工具-netfil ...
- SUSE Linux 防火墙设置
1.vim /etc/sysconfig/SuSEfirewall2 #编辑防火墙设置 FW_SERVICES_EXT_TCP="22 5901" #开启 ...
- Linux 防火墙设置,禁止某个ip访问
service iptables status 查看防火墙状态 service iptables start 开启防火墙 service iptables ...
- linux防火墙相关 iptables
1. root用户查看防火墙状态(非root用户无权限查看) 查看防火墙状态: service iptables status 2.开启和关闭防火墙 //开启防火墙: service iptables ...
随机推荐
- Codeforces 360E 贪心 最短路
题意及思路:https://blog.csdn.net/huanghongxun/article/details/49846927 在假设所有边都是最大值的情况下,如果第一个人能比第二个人先到,那就缩 ...
- Failed to resolve com.android.support:support-compat:25.4.0
3down votefavorite I am trying to include this library to my project by adding compile 'jp.wasabee ...
- tomcat的server.xml配置
<Host>标签 appBase属性: 1 这个目录下面的子目录将自动被部署为应用. 2 这个目录下面的.war文件将被自动解压缩并部署为应用 一 ...
- 项目部署错误 HTTP Error 500.19 - Internal Server Error
HTTP Error 500.19 - Internal Server Error配置错误: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的 (overrid ...
- Mybatis基于XML配置SQL映射器(二)
Mybatis之XML注解 之前已经讲到通过 mybatis-generator 生成mapper映射接口和相关的映射配置文件: 下面我们将详细的讲解具体内容 首先我们新建映射接口文档 sysUse ...
- LUOGU P4587 [FJOI2016]神秘数(主席树)
传送门 解题思路 如果区间内没有\(1\),那么答案就为\(1\),从这一点继续归纳.如果区间内有\(x\)个\(1\),设区间内\([2,x+1]\)的和为\(sum\),如果\(sum=0\),那 ...
- 洛谷 P2522 [HAOI2011]Problem b (莫比乌斯反演+简单容斥)
题目描述 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 输入输出格式 输入格式: 第一行一个整数 ...
- CSS入门之盒模型(六分之四)
盒模型要点知识 务必注意看,这可是前端面试 必定会遇到 的问题. box-sizing 盒模型的主要CSS属性,除继承外有两个值: content-box 这里不再细说历史原因,只说其作用. cont ...
- SAS 读取数据文件
每次读取数据时需要告诉SAS3件事:1:数据存在哪里?2:数据的形式3:创建的数据集的类型(永久/临时) 1 读取SAS数据集 DATA temp; /*temp 为创建的数据集名称*/ INFILE ...
- c++简单String类实现
#include <iostream> #include <string> using namespace std; class String { public: String ...