`

iptables 命令操作

阅读更多


iptables是基于内核的防火墙,,iptables内置了filter、nat和mangle三张表。

   filter 负责过滤数据包,包括的规则链有,input,output和forward;
   nat 表示Network Address Translator即网络地址转换,包括的规则链有,prerouting,postrouting和output;
   mangle 表则主要应用在修改数据包内容上,用来做流量整形的,默认的规则链有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;
         input匹配目的IP是本机的数据包,forward匹配流经本机的数据包,prerouting用来修改目的地址用来做DNAT,postrouting用来修改源地址用来做SNAT。
        
-----------------------------------------------------------------------------------------------------------------------------------------------   

启动前:
[root@localhost ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
# 各个链中都不存在任何规则。
      
启动后:
[root@localhost ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           #所有输入数据包都转到 RH-Firewall-1-INPUT 链处理。

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           #所有转发数据包都转到 RH-Firewall-1-INPUT 链处理。

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain RH-Firewall-1-INPUT (2 references)                               #自定义链 RH-Firewall-1-INPUT,下面是它的规则。
target     prot opt source               destination        
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306 flags:0x16/0x02
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3306
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
     
-----------------------------------------------------------------------------------------------------------------------------------------------
 
       
iptables 指令的基本格式:
    <iptables> [-t 表] < 操作命令 > [ 链 ] [ 规则 ] [ -j 动作 ]
    注:iptables 严格区分大小写,所有链名必须大写,表明必须小写,动作必须大写,匹配必须小写
   
iptables中的表:
    filter、nat、mangle 。不指定则默认 filter 表。
iptables操作命令:
    -A 向规则链中添加一条规则,默认被添加到末尾
    -T 指定要操作的表,默认是filter
    -D 从规则链中删除规则,可以指定序号或者匹配的规则来删除
    -R 进行规则替换
    -I 插入一条规则,默认被插入到首部,可指定插入位置顺序号,默认顺序号为1
    -F 清空所选的链,重启后恢复,如清空指定链规则 iptable -F RH-Firewall-1-INPUT
    -L 查看指定链规则,默认所用链,如查看指定链规则 iptables -L RH-Firewall-1-INPUT,或 iptables -L -n
iptables规则:
    -N 新建用户自定义的规则链
    -X 删除用户自定义的规则链
    -p 用来指定协议可以是tcp,udp,icmp等也可以是数字的协议号,
    -s 指定来源地址,如 -s 192.168.1.10 匹配来自 192.168.1.10 网络的数据包
    --sport 来源端口,端口必须-p指定协议一起来配合使用
    -d 指外出的地址,如 -d www.163.com 匹配去往 www.163.com 网络的数据包
    --dport 流出端口,端口必须-p指定协议一起来配合使用
    -i 进入接口,如 -i eth0 匹配是否从网络接口 eth0 进来
    -o 流出接口,如 -o eth0 匹配是否从网络接口 eth0 出去
iptables动作:
    ACCEPT ,允许数据包通过本链而不拦截它
    DROP ,阻止数据包通过本链而丢弃它
    SNAT ,来源地址转换,如 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1 将内网 192.168.0.0/24 的原地址修改为 1.1.1.1,用于 NAT
    DNAT ,转换外出地址,如 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.0.1 把从 ppp0 进来的要访问 TCP/80 的数据包目的地址改为192.168.0.1
    MASQUERADE ,动态源地址转换(动态 IP 的情况下使用),如 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE 将源地址是 192.168.0.0/24 的数据包进行地址伪装
   
   
注:iptables 规则修改后会马上生效,但重启 iptables 后规则会恢复到修改之前的规则,需要保存新修改的规则重启才不会恢复:
    service iptables save

   
-----------------------------------------------------------------------------------------------------------------------------------------------
  
  

分享到:
评论

相关推荐

    iptables命令实例

    iptables 命令实例 本文档主要介绍了 Linux 中的iptables 命令的实例,涵盖了 iptables 的基本用法、规则设定、端口控制、NAT 转发等方面的知识点。 一、iptables 的基本概念 iptables 是 Linux 系统中的一个...

    iptables命令详解

    iptables 命令详解 iptables 是 Linux 内核中的 IP 包过滤规则设置、维护和检查工具。它可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条...

    iptables基本命令规则简介

    iptyables 基本命令规则简介 iptables 是基于内核的防火墙,功能非常强大,iptables 内置了 filter,nat 和 mangle 三张表。filter 负责过滤数据包,包括的规则链有,input,output 和 forward;nat 则涉及到网络...

    iptables常用命令和使用

    iptables命令的基本格式如下: ```bash iptables [选项] [表名] [链路] [匹配条件] [动作] ``` - **表名**:如 `-t filter` 指定使用 `filter` 表。 - **链路**:如 `INPUT` 或 `OUTPUT`。 - **匹配条件**:如 `-p...

    NetSpdLimit_iptables.sh

    自己写的Android下通过iptables命令操作进行网络限速的shell脚本

    centos6 iptables常用操作

    ### CentOS 6 iptables 常用操作及规则配置 #### 概述 在Linux系统中,`iptables`是一款强大的工具,用于管理网络流量并控制数据包过滤规则。CentOS 6作为一款广泛使用的服务器操作系统,其内置的`iptables`功能...

    Linux防火墙iptables入门教程

    在Ubuntu/Debian中更新/安装iptables的命令为: 代码如下:sudo apt-get install iptables现有的一些图形界面软件也可以替代iptables,如Firestarter。但iptables用起来并不难。配置iptables的规则时要特别小心,特别...

    详解Linux iptables 命令

    Linux iptables命令是Linux系统管理员用来管理IPv4数据包过滤和网络地址转换(NAT)的重要工具。它允许用户在操作系统内核的netfilter框架下设置规则,以控制网络流量的流入、流出和转发。iptables提供了高度灵活的...

    Linux iptables Pocket Refrence

    - **iptables Command Reference(iptables命令参考)**:详细介绍了iptables的各个子命令及其参数。 - **The iptables Subcommands(iptables子命令)**:包括如`-A`添加规则、`-D`删除规则、`-R`替换规则等。 - **...

    iptables脚本

    - **脚本结构**:脚本首先设置执行环境,接着加载系统配置文件,然后根据用户提交的数据动态生成iptables命令。 - **关键代码解析**: - `CONFIG_FILE=/root/portfiltering.conf`: 定义配置文件路径。 - `touch $...

    iptables详解

    #### 三、iptables命令详解 - **初始化iptables**: 在配置iptables之前,通常需要先清除所有现有规则。这可以通过以下命令完成: - `iptables -F`: 清除所有链中的规则。 - `iptables -X`: 删除用户自定义链。 -...

    Linux使用iptables限制多个IP访问你的服务器

    多个连续IP操作 1、拆分成多条命令运行 iptables -A INPUT 192.168.122.2 -j ACCEPT iptables -A INPUT 192.168.122.3 -j ACCEPT iptables -A INPUT 192.168.122.4 -j ACCEPT iptables -A INPUT 19

    Iptables速查手册

    #### 三、Iptables命令详解 - **基本命令格式**: ``` iptables [-t table] {command} [chain] [match] [-j target] ``` - **命令参数解释**: - `-t table`: 指定使用的表。 - `{command}`: 操作命令,如 `...

    Linux操作系统的常用命令

    Linux 操作系统的常用命令 Linux 操作系统提供了许多实用的命令来帮助用户管理和操作文件、目录、网络等。以下是 Linux 操作系统中的一些常用命令的总结: 文件和目录操作 * ls 命令:用于查看当前目录下的文件和...

    iptables配置实例

    ### iptables配置实例详解 #### 一、链的基本操作 **iptables** 是 Linux 系统中用于设置网络策略的重要工具之一,它可以帮助管理员控制进出系统的网络流量。以下是一些基本的链操作示例: 1. **清除所有的规则**...

    配置 Linux-iptables

    filter表是默认使用的表,如果未明确指定其他表,则所有的iptables命令都会作用于filter表。 - **nat表**:主要用于实现网络地址转换(NAT)。它可以实现一对一、一对多或多对多的地址转换。nat表包含了PREROUTING、...

    iptables指南 1.1.19

    编译iptables通常涉及到配置选项的选择,以及后续在特定操作系统(例如RedHat7.1)上的安装步骤。 iptables涉及的核心概念包括表和链。表(Table)定义了iptables规则的处理目标,包括mangle表、nat表和Filter表。...

    linux iptables

    2 小时玩转 iptables iptables 语法概述 操作命令(-A、-I、-D、-R、-P、-F) 查看命令(-[vnx]L) 匹配条件

    iptables帮助文件

    ### iptables 命令详解 #### 概述 `iptables`是Linux系统中的一个强大的网络管理工具,用于配置、维护以及检查内核中的IP包过滤规则表。它通过定义一系列复杂的规则来控制数据包的进出,从而实现对网络流量进行过滤...

    实用iptables 示例

    本文是我自己的一些学习iptables的心得,给大家拿出来来晒晒! filter #用于过滤 nat #做NAT input =&gt;filter #目的ip是本机的...iptables -t 要操作的表 操作命令 要操作的链 规则号码 匹配条件 -j 匹配到以后的命令

Global site tag (gtag.js) - Google Analytics