导读 Iptable已经集成在Linux 2.4及以上版本的内核中,同Windows下的众多“傻瓜”防火墙不同的是,Iptables需要用户自己定制相关规则。下面我就给大家简单介绍一下关于防火墙的基本操作。

防火墙的初始化

废话不多说,先上一张表格:

选项 含义
-F 清除链中所有的规则
-P 为链添加一条默认策略(目标)
-A 为链增加一条规则说明
-D 从链中删除一条规则
-L 查看当前表的链和规则

清空默认表(filter表)中的数据,只要简单的使用下面这条命令即可:

[root@localhost ~]# iptables -F

清除默认表中INPUT链的规则,可使用下面的命令:

[root@localhost ~]# iptables -F INPUT

命令执行完成后,使用iptables -L查看当前防火墙设置。
给链设置默认策略基本语法如下:

iptables -P archy target

其中archy是链的名称,target(目标)用于定义策略。
filter表中共有9个不同的策略可供使用,但最常用的只有4个,分别包括:ACCEPT表示允许包通过;DROP丢弃一个包;REJECT会在丢弃的同时返回一条ICMP错误消息;LOG则扮演了记事员的角色记录包的信息。
通常对服务器而言,将所有链设置为DROP是一个不错的选择,下面这条命令将所有的链的默认策略设置为DROP:

[root@localhost ~]# iptables -P INPUT DROP

执行完这条命令后,所有试图同本机建立连接的努力都会失败,因为所有从“外部”到达防火墙的包都会被丢弃,甚至连使用回环接口ping自己都不行。

添加规则

使用iptables  -A命令添加链规则,命令基本语法如下:

iptables -A archy -i interface -j target

其中,archy代表链的名称,interface指定该规则用于哪个网络接口,target用于定义策略。举一个很简单的例子,下面这条命令就是添加一条INPUT链的规则,允许所有通过lo接口的链接请求:

[root@localhost ~]# iptables -A INPUT -i lo -p ALL -j ACCEPT

其余有关防火墙规则的设置相关选项,如下表:

选项 含义
-p proto 匹配网络协议:tcp、udp、icmp
--icmp-type type 匹配ICMP类型,和-p icmp配合使用。注意有两根短划线
-s source-ip 匹配来源主机(或网络)的IP地址
--sport port# 匹配来源主机的端口,和-s source-ip配合使用。
-d dest-ip 匹配目标主机的IP地址
--dport port# 匹配目标主机(或网络)的端口,和-d dest-ip配合使用。
删除链规则

iptables提供了-D选项来删除链规则,有两种不同的语法用于删除一条规则,这儿介绍最常用的方法:

首先使用带--line-numbers选项的iptables -L命令查看链规则的编号,命令如下:

[root@localhost ~]# iptables -L --line-numbers

当你查到规则编号后使用下面命令就可以删除连规则:

[root@localhost ~]# iptables -D 18

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:https://www.linuxprobe.com/

Linux的防火墙–Iptables的更多相关文章

  1. [转] Linux下防火墙iptables用法规则详及其防火墙配置

    from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...

  2. 【iptables】linux网络防火墙-iptables基础详解(重要)

    一:前言   防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...

  3. 转:linux关闭防火墙iptables

    ref:https://jingyan.baidu.com/article/066074d64f433ec3c21cb000.html Linux系统下面自带了防火墙iptables,iptables ...

  4. Linux下防火墙iptables用法规则详及其防火墙配置

    转:http://www.linuxidc.com/Linux/2012-08/67952.htm iptables规则 规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规 ...

  5. Linux的防火墙iptables配置示例

    注:内容来自网络 一.关闭防火墙 1.重启后永久性生效: 开启:chkconfig iptables on 关闭:chkconfig iptables off 2.即时生效,重启后失效: 开启:ser ...

  6. linux下防火墙iptables原理及使用

    iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火 ...

  7. linux网络防火墙-iptables基础详解

    一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙 ...

  8. Linux之防火墙iptables

    一.检查iptables服务状态 1.首先检查iptables服务的状态 [root@bogon ~]# service iptables status iptables: Firewall is n ...

  9. Linux防火墙(Iptables)的开启与关闭

    Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...

随机推荐

  1. web学习测试环境

    ref:https://www.owasp.org/index.php/OWASP_Vulnerable_Web_Applications_Directory_Project/Pages/Offlin ...

  2. 用于解析通过JS的escape函数加密过的数据

    function js_unescape($str) { $ret = ''; $len = strlen($str); for ($i = 0; $i < $len; $i++) { if ( ...

  3. Ubuntu下查看软件版本及安装位置

    查看软件版本: XXX --version 或 aptitude show xxx 也可用apt-show-versions (要先安装sudo apt-get install apt-show-ve ...

  4. [BZOJ5093]图的价值(NTT+第二类Stirling数)

    5093: [Lydsy1711月赛]图的价值 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 250  Solved: 130[Submit][Sta ...

  5. POJ 2728 JZYZOJ 1636 分数规划 最小生成树 二分 prim

    http://172.20.6.3/Problem_Show.asp?id=1636 复习了prim,分数规划大概就是把一个求最小值或最大值的分式移项变成一个可二分求解的式子. #include< ...

  6. 二维数组sort排序

    和副本任务完全无关的奇怪感慨: 完全搞不懂我为什么会在搞图论的时候学这种奇怪东西,需要的时候不会,不需要的时候又莫名增加了奇怪的技能点. 之前的假期规划在十多天的放飞自我中彻底泡汤,简单的图论都一点不 ...

  7. PHP多个版本爆出远程DOS漏洞

    近日,php多个版本爆出远程DoS漏洞(官方编号69364),利用该漏洞构造poc发起链接,很容易导致目标主机cpu的100%占用率,绿盟科技威胁响应中心随即启动应急机制, 启动应急响应工作,总结PH ...

  8. [TC6194]AllWoundUp

    [TC6194]AllWoundUp 题目大意: 有\(A\)和\(B\)两个人.\(A\)在平面上游走,\(B\)会一直盯着\(A\)看,站在\(x\)轴某个位置上不动,并随着\(A\)的运动旋转身 ...

  9. java中的多线程 // 基础

    java 中的多线程 简介 进程 : 指正在运行的程序,并具有一定的独立能力,即 当硬盘中的程序进入到内存中运行时,就变成了一个进程 线程 : 是进程中的一个执行单元,负责当前程序的执行.线程就是CP ...

  10. JQ 数组动态添值,对象动态添值,判断数组/对象是否为空

    1.数组动态添值 首先声明一个空数组:var data = new Array(); 向数组中添值 :data.push('添加的值'); 示例: