当前位置: 澳门新濠3559 > 操作系统 > 正文

它具有三种内建链,对于进出的报文进行规制匹

时间:2019-12-26 00:20来源:操作系统
系统不支持serviceiptables restart,serviceiptables status,如何查看与清除iptable的规则呢? Iptables防火墙,iptables 防火墙(firewall)技术   什么是防火墙呢?就是工作在网络边缘,按照管理员

系统不支持service iptables restart,service iptables status,如何查看与清除iptable的规则呢?

Iptables防火墙,iptables

防火墙(firewall)技术
   什么是防火墙呢?就是工作在网络边缘,按照管理员定义的规则,对于进出的报文进行规制匹配动作检测这一的组件。
   防火墙分为硬件与软件防火墙,防火墙工作在网络的边缘,防火墙自身是不会发生作用的,它只是一个组件。
防火墙策略
rules (规则) policy
防火墙的类型
市面主要有二种 工作的三四层的网络层防火墙  工作在七层的 代理网关
   工作在三层的: 工作在网络层 所有进出ip首部 进行规检测
   工作在七层的:防火墙比较安全,但是效率比较低   只要发现目标 传输报文规则 就做出处理的匹配处理
三层的防火墙只拆开三层发现没有问题后封装后发送。 七层的拆开所有的数据包再封装发送。
 
inux系统上自带的防火墙
iptables  前身ipfwiptables ->写成规则放在内核中才能生效
tcp/IP stack协议栈放在内核中, 在 kernel(rules)中 才生效
能给内核打交道的文件  /proc   /sys 防火墙想要生效 必须放在内核空间中
iptables/netfilter 网络过滤器  五个关卡 过滤数据    数据包的走向
   
                        ---ssh---
                         //                        \                    
外网 《---             服务器             《--- 内网
   
地址转换 必须在路由之前转换
不同的功能,需要在不同的位置实现 不同的位置还有使用不同的规则链和处理机制
NETFILET 有五个位置实现过滤 
hook functions 钩子函数
五个内置的量 chains五个关卡 
数据包 就要就如我们网卡的那一刻的也就是路由器的叫做
         PREROUTING 路由器
到本机内部 INPUT 流入接口
转发关卡   FORWARD
流出的端口 output
          POSTROUTING
 内置的5个规则链
 
防火墙策略
“通”  默认门是光着的  谁都不让进 要明确谁能进
“堵”  默认门是开着的
1,允许/不允许         filter
2,地址转换                nat

一 iptables查看基本语法

1 位置

使用vim /usr/sysconfig/iptables

过滤与转发是分开的 为了避免交叉我们专一定义一个表的东西来实现定义区分同一个链上的不同功能的规则。

3,修改报文源数据    mangle

iptables [-t tables] [-L] [-nv]

2 启动、关闭、保存

  • service iptables stop
  • service iptables start
  • service iptables restart
  • service iptables save

(这个表格主要是与特殊数据包的路由标记有关)
回顾ip首部格式思考一下?
=三表五链=
filter表 只能做到三个链上 input forward    output(大写)
nat表        prerouting output postrouting 大写
mangle表    prerouting input forward    OUTPUT POSTROUTING

选项与参数:

它具有三种内建链,对于进出的报文进行规制匹配动作检测这一的组件。3 结构

iptables –> tables –> chains –>rules

数据包是自上而下检测的 一旦匹配到了就不在检测了 要把严格的放在上面,
处理机制 自己定义的链必须要与基准链串联起来才能工作
可以删除自己定义的链 不能删除内部的链
怎么写防火墙规则  

-t:后面接table,例如nat或filter,若省略,则使用默认的filter

3.1 iptables的表与链

iptables具有Filter,NAT,Mangle,Raw四种内建表

iptables 语法规则
   iptables的命令会对网络数据包进行过滤及阻止。所以不要在远程主机上进行防火墙的练习
i  ptables 至少有3个默认的table(filter nat mangle) 比较常用的是filter 它是默认的表格,另一个则是net表格较常用,mangle比较少用.................
鸟哥上面的资料
1.规则的清除与观察
#iptables [-t tables][-L][-nv]
-t:后面接table 例如nat或filter 若省略次项目,则使用默认的filter
-L:列出目前的table的规则
-n:不进行ip与HOSTNAME的反查 显示信息的速度会快的很多

-L:列出目前的table的规则

3.1.1 Filter表

filter表示iptables的默认表,它具有三种内建链:

  • input chain   - 处理来之外部的数据
  • output chain - 处理向外发送的数据
  • forward chain- 将数据转发到本机的其它网卡上

-v:列出更多信息,包括通过规则的数据包总个数、相关的网络接口等

#iptables [-t tables] [-FXZ]
参数
-F :清除所有的已定规则
-X:除掉所有用的“自定义”的链(应该说的tables)
-Z;将所有的chain的计数与流量通过都归零。
...................
 
2.定义默认策略   
#iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
-P 定义策略(Policy) 注意 这个p位大写
     ACCEPT :该数据包可接受
     DROP :    该数据包直接丢弃 不让client端知道为何丢弃。
范例 将本机的input设为DROP 请他的设置为ACCEPT
         # iptables -p    INPUT DROP
         # iptables -p    OUTPUT ACCEPT
         # iptables -p    FORWARD ACCEPT    

iptables [-t table] COMMAND chain CRETIRIA -j actton
列 iptables -t filter -A INPUT -s 1
澳门新濠3559,查看定义的规则iptables -L S

 chain指定在那个链操作  CRETIRIA匹配规则标准  -j 指定如何处理  对于规则是必须的
 COMMAND:

-n:不进行IP与HOSTNAME的反查,显示信息速度回快很多。

3.1.2 NAT表

NAT有三种内建的链:

  • prerouting   - 处理刚到达本机并在路由转发前的数据包,它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。
  • postrouting - 处理即将离开本机数据包,它会转换数据包中的源目标IP地址(source ip address),通常SNAT(source NAT)
  • output        - 处理本机产生的数据包

链管理命令 :

p 设定默认策略是关的还是开的    # iptables -P    INPUT(DROP|ACCEPT) 立即生 效的       
            列    #iptables -P INPUT DROP    把默认规则删除
                    #iptables -p INPUT ACCEPT 开启        
-F flash     清空所有已定的规则   
        #iptable -t net -F PREROUTING 清空net表链
-N 新建用户自定义规则链
        #iptables -N inbound_tcp_web
-X 删除用户自定义的空规则链
-E 重定义用户的规则链
-Z 清空链默认规则及链规则中的接受器的
规则管理命令:
-A    追加的
-I    把规则插入到第几条
-R    修改规则    NUM
-D 删除第几条规则
查看命令
-L 查看
     -n 数据的方式
     -v 详细信息 -vv    -vvv 越多越详细
     -x    精确值 不进行单位换算
     --line-numbers 显示行号 列 iptables -L -n --line-number
   
 
匹配标准:
 通用匹配
通用匹配
-s,--src 指定做源地址匹配
    IP ,NETWORK/NETMASK, 0.0.0.0/0.0.0.0
-d 匹配目标地址
-p 匹配协议的 通常这三种协议(tcp|udp|icmp)
-i 数据的流入接口 etho
-o 流出接口

 
  隐含扩展
tcp utp的规则比对
   某种特定协议的扩展
 -p tcp
         --dport 端口范围 限制来源端口号码,端口号码可以是连续的 列入1024:65535
         --sport    端口范围 限制目的地的端口号码。
         --tcp-flags     参数 检查的标准位    必须为1的标准位                                        六个标志位 SYN,ACK,FIN,PAH,RST,URG
            :--tcp-flage syn,ack,fin,rst,syn 三次握手的第一次匹配 = --syn
    -p udp
         --dport
         --sport
    -p    icmp
         --icmp-types 8    后面需要接ICMP的数据包类型 也可以使用代号
                    列如8代表echo request 的意思
         例如ICMP type为 0,3,4,11,12,14,16,18的数据包可以进入本机
                     --icmp-type 0,3,4,11,12,14,16,18
         echo-request    8 请求回显
         echo-reply 0    
 
  显示扩展
 状态模块 MAC与RELATED
   -m  表示显示扩展 
   -p tcp -m multiport --dports 21,23,80
-m  start 状态检测
-j ACTION
DROP  悄悄拒绝
REJECT 明确拒绝
ACCRPT 接受
custom_chain
DNAT    SNAT
MASQUERADE 源地址伪装
REDIRECT   端口重定向
MAPK
RETUPN 返回
ipables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.100.1 -p tcp -dport

RELATED
状态检测
NEW  新发布的链接 
ESTABLISHED 以建立的链接
ERLATED   具有关联关系的链接
INVALID   无法识别的链接

iptables -L -n
iptables -L -n --line-number
iptables -R 
       
保存
service iptables save
在这个文件下面
/etc/sysconfig/iptables
iptable-sabe > /etc/syscnnfig/iptables.2
iptables-restore < /etc/sysconfig/iptables.2       

-v:列出更多的信息,包括通过该规则的数据包总位数、相关的网络接口等

3.1.3 Mangle表

Mangle表用于指定如何处理数据包,它能改变TCP头中的Qos位,Mangle表具有5个内建链

  • prerouting
  • output
  • forward
  • input
  • postrouting

 

NAT
代理服务器
地址转换
iptables -t nat POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.1
MASQUERADE地址伪装
本文出自 “博客世界” 博客

什么是防火墙呢?就是工作在网络边缘,按照管理员定义的规则,对于进出的报文进行规制匹配动作检测这一的组件...

 

3.1.4 Raw表

raw表用户处理异常,它具有2个内建链

  • prerouting chain
  • output chain

二 iptables查看应用

3.2 Iptables规则(Rules)

  • rules包括一个条件和一个目标(target)
  • 如果满足条件就执行目标target中规则或者特定值
  • 如果不满足条件,就判断下一条Rules

列出filter table 3条链的规则

3.2.1 目标值

  • accept - 允许防火墙接收数据包
  • drop    - 防火墙丢弃数据包
  • queue  - 防火墙将数据包移交到用户空间
  • return  - 防火墙停止执行当前链中的后续rules规则,并返回到调用链(the calling chain)

澳门新濠3559 1

4 命令

#iptables -t filter -L   查看filter表

#iptables -t nat  -L    查看nat表

#iptables -t mangel -L 查看mangel表

#iptables -t raw  -L 查看Raw表

例如 以下例子表明在filter表的input链, forward链, output链中存在规则:

# iptables --list
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
3    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
10   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

target:代表进行的操作,ACCEPT是放行,而REJECT则是拒绝,此外,还有DROP表示丢弃。

字段说明

num:编号

target:目标

prot:协议

source:数据包的源IP地址

destination:数据包的目标地址

prot:代表使用的数据包协议,主要有TCP、UDP以及ICMP3种数据包格式。

4.1 清空所有的规则 

#iptables –flush

opt:额外选项说明。

4.2 追加命令

iptables -A命令追加新规则,其中-A表示append,一般而言最后一条规则用于丢弃(drop)所有数据包,并且使用-A参数添加新规则,那么就是无用的。

source:代表此规则是针对哪个来源IP进行限制。

4.2.1 语法

iptables –A chain firewall-rule

  • -A chain 指定要追加的规则的链
  • firewall-rule 具体规则的参数

destination:代表此规则是针对哪个目标进行限制。

4.2.2 基本参数

用于描述数据包的协议,源地址、目的地址、允许经过的网络接口,以及如何处理这些数据包。

  • 协议 –p (protocol)
    如tcp,udp,icmp等,可以使用all来指定所有协议
    不指定-p参数,默认值是all,
    可以使用协议名(tcp,udp),或者协议值(6代表tcp),映射关系可以查看/etc/protocols
  • 源地址 –s (source)
    指定数据包的源地址,参数可以使用IP地址、网络地址、主机名,不指定-s参数,就是代表所有地址。
    例如:-s 192.168.1.101 具体的IP地址
    例如:-s 192.168.1.10/24 指定网络地址
  • 目的地址 –d  (destination)
    指定目的地址,参数和-s相同
  • 执行目标 –j (jump to target)
    -j代表了当与规则(Rule)匹配时如何处理数据包,可能的值是accept、drop、queue、return,还可以指定其他链(chain)作为目标
  • 输入接口 –i (input interface)
    指定了要处理来自哪个接口的数据包,这些数据包进入input、forward、prepoute链,不指定将处理进入所有接口的数据包
    例如:-i eth0 指定了要处理eth0进入的数据
    可以取反  !-i eth0,指eth0以外。
    可以匹配  -i eth+ 指以eth开头的
  • 输出接口 –o (out interface)
    数据包有那个接口输出,类似于 –i
  • 源端口 –sport
    例如 –sport 22
    例如 –sport 22:100指定端口范围
  • 目的端口 –dport
    类似于-sport
  • TCP标志
  • ICMP类型

 

5 实例分析

例如:接收目标端口为22的数据包

iptables –A INPUT –i etho –p tcp –dprot 22 –j ACCEPT

例如:拒绝所有其他数据包

iptables –A INPUT –j DROP

三 iptable-save语法

6 修改默认策略

上例仅对接收的数据包进行过滤,而对于要发出的数据包却没有任何限制。

使用iptables –L

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

1 位置 使用vim /usr/sysconfig/iptables 2 启动、关闭、保存 service iptables stop service iptables start service iptables restart service ipt...

iptables-save [-t table]

选项与参数:

-t:可以针对某些数据表格来输出,例如针对NAT或Filter等。

该命令会完整列出防火墙的规则

 

四 iptable-save应用

列出filter table的规则

澳门新濠3559 2  

五 清除iptables的语法

iptables [-t tables] [-FXZ]

选项与参数:

-F:清除所有制订的规则

-X:清除所有用户“自定义”的chain

-Z:将所有chain的计数与流量统计都归零

 

六 清除iptables的应用

澳门新濠3559 3

编辑:操作系统 本文来源:它具有三种内建链,对于进出的报文进行规制匹

关键词: