防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全。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的更多相关文章

  1. Linux防火墙(iptables/firewalld)

    Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...

  2. Linux防火墙简介 – iptables配置策略

    Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...

  3. linux防火墙之iptables

    linux防火墙之iptables 1.1.1 关于iptables简介 IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 ...

  4. Linux防火墙配置(iptables, firewalld)

    netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...

  5. Linux防火墙:iptables禁IP与解封IP常用命令

    在Linux服务器被攻击的时候,有的时候会有几个主力IP.如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了. 在Linux下封停IP,有封杀网段和封杀单个IP两种形 ...

  6. Linux防火墙设置

    对于Internet上的系统,不管是什么情况都要明确一点:网络是不安全的.因此,虽然创建一个防火墙并不能保证系统100%安全,但却是绝对必要的. Linux提供了一个非常优秀的防火墙工具-netfil ...

  7. SUSE Linux 防火墙设置

    1.vim /etc/sysconfig/SuSEfirewall2        #编辑防火墙设置 FW_SERVICES_EXT_TCP="22 5901"       #开启 ...

  8. Linux 防火墙设置,禁止某个ip访问

    service  iptables  status        查看防火墙状态 service  iptables  start           开启防火墙 service  iptables  ...

  9. linux防火墙相关 iptables

    1. root用户查看防火墙状态(非root用户无权限查看) 查看防火墙状态: service iptables status 2.开启和关闭防火墙 //开启防火墙: service iptables ...

随机推荐

  1. LNMP环境安装

    一.LNMP 1.使用LNMP的优点: 资源占用少 更多并发 代理服务器 热启动 稳定高效 负载均衡 邮件服务器 2.安装前准备: 2.1查看防火墙(默认开启): [root@localhost ~] ...

  2. Linux下创建动态库与使用

    参考文章:dll和so文件区别与构成:http://www.cnblogs.com/likwo/archive/2012/05/09/2492225.html 动态库路径配置- /etc/ld.so. ...

  3. 转载:java集合类数据结构分析

    数组是 最常用的数据结构.数组的特点是长度固定,可以用下标索引,并且所有的元素的类型都是一致的.数组常用的场景有把:从数据库里读取雇员的信息存储为 EmployeeDetail[],把一个字符串转换并 ...

  4. 小白struts2 札记

    struts2里面的filter 也就是起个过滤作用的  1 过滤request 请求2 过滤文件类型 禁用的文字等

  5. 【CSS3】transform-origin以原点进行旋转 (转)

    话不多说, 以左上角为原点 -moz-transform-origin: 0 0; -webkit-transform-origin:0 0; -o-transform-origin:0 0; 以右上 ...

  6. Linux 查看文件夹大小(排序)

    du -s * | sort -nr (-n是按数字大小排序,不能加上参数h)

  7. php number_format()函数 语法

    php number_format()函数 语法 number_format()函数怎么用? php number_format()函数表示通过千位分组来格式化数字,语法是number_format( ...

  8. [CSP-S模拟测试60]题解

    回去要补一下命运石之门了…… A.嘟嘟噜 给定报数次数的约瑟夫,递推式为$ans=(ans+m)\% i$. 考虑优化,中间很多次$+m$后是不用取模的,这种情况就可以把加法变乘法了.问题在于如何找到 ...

  9. SPOJ_QTREE系列题解

    QTREE4 #pragma comment(linker, "/STACK:102400000,102400000") //#include<bits/stdc++.h&g ...

  10. Gym101158 J 三分 or 模拟退火 Cover the Polygon with Your Disk

    目录 Gym101158 J: 求圆与给定凸多边形最大面积交 模拟退火 三分套三分 模拟退火套路 @ Gym101158 J: 求圆与给定凸多边形最大面积交 传送门:点我点我 求 $10 $ 个点组成 ...