Linux-Iptables常用配置

Linux iptables的认识:
  一、它是一个配置Linux的防火墙命令工具,是netfilter项目的一部分,iptables用于配置IPv4,ip6tables用于配置IPv6。防火墙的最大作用就是它能帮助我们限制某些服务的存取来源,可以管制来源和目标IP。
  二、iptables可以检测,转发,重定向,修改和过滤ipv4的数据包,并且按照不同的目的被组织成的表。“表”由一组预先定义的链 组成,“链”包含了遍历的规则,每一条规则包含一个谓词的潜在匹配和相应动作(成为目标)。如果谓词为真,该动作会被执行,也就是说条件匹配。
  我们可以用一张图的形式来总结iptables的工作流程,有一种困扰就是以为iptables对内部端口的进入的数据和从外部互联网的数据iptables采取了不同的措施,相反的而是,iptables都采取了统一对待,只不过可以自己配置规则针对内网和外网采取不同的过滤措施。
  防火墙除了可以防备本机被入侵之外, 他还可以架设在路由器上面藉以控管进出本地端网域的网络封包。
  Version 2.0:使用 ipfwadm 这个防火墙机制;
  Version 2.2:使用的是 ipchains 这个防火墙机制;
  Version 2.4 与 2.6 :主要是使用 iptables 这个防火墙机制


  三、iptables包含5张表;
  ① raw: 用于配置数据包,raw中的数据包不会被系统跟踪。
  ② filter:用于存放与防火墙相关操作的默认表。
  ====filter:
  INPUT-----主要与想进入我们Linux主机的封包有关。
  OUTPUT-----主要与我们Linux送出的封包有关
  FORWARD----与本机没有太大关系,可以转递封包到后端的计算机中
  ③ nat: 用于网络地址转换(端口转发用的较多)管理后端主机防火墙内部的机器。
  nat 地址转换:
  PREROUTING:主要是在进行路由判断前要进行的规则(DANT/REDIRECT)修改目标IP
  POSTROUTING: 主要是在进行路由判断之后进行的规则(SANT/MASQUERADE)修改来源IP
  OUTPUT: 与送出去的封包有关。
  ④ mangle:用于对特定的数据包的修改(损坏数据包)。与标记有关
  ⑤ security:用于强制访问控制网络规则(例如:SElinux)。用的较多的是filter和nat,其他的都不怎么常用。


  网络封包进入主机之前NetFilter会检查该包,也就是进行防火墙的规则过滤,如果接受 ACCEPT 即可进入本机获取资源,如果没有通过检查,则可能会被 DROP掉,防火墙的所有的rule都是有顺序的,假如说一个封包进入主机,进入了rule1 并且符合rule1的规则,则可以执行相关的Action动作,就不必理会别的rule。


  iptables的一些配置命令:


  iptables -F 清除所有的已经定制的规则
  iptables -X  杀掉所有的使用者“自定义”的chain (tables)
  iptables -Z 将所有的chain的计数与流量统计归零


  定义预设政策:
   iptables [-t table] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
   -P :定义policy 大写P
    ACCEPT: 该封包可接受
    DROP:该封包丢弃,不会让client端知道为何被丢弃。


   iptables [-AI链名] [-io 网络接口] [-p协议] [-s来源IP/网域][-d目标IP/网域] -j[ACCEPT DROP REJECT LOG]
   -AI链名:针对某链进行规则的“插入”和累加
     -A:新增一条规则,该规则增加原本的规则最后面,
     -I:插入一条规则,如果没有指定该规则的顺序,默认插入变成第一条规则。
   -io:网络接口,设定封包进出的接口规范
     -i:封包进入那个网络接口,例如:ech0,需要与INPUT配合
     -o:封包所传出的那个网络接口,需要与OUTPUT配合。
    -p:协议名称,指定该规则适用于哪种封包,例如:tcp,udp,all,icmp等
    -s:来源IP/网域,设定此规则的封包来源项目,可设置单纯的IP或者网域。
    -d:目标IP/网域 原理同-s一样。
    -j:后接动作,主要有 ACCEPT,DROP,REJECT 以及记录LOG。


    iptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT 
    #把该条规则放在INPUTchain的第一条,对状态为ESTABLISHED和RELATED的连接放行,简单的说就是对允许出去的包被对方主机接收后,对方主机回应寄来的封包放行,很重要的一条语句,尤其在ftp服务器的场合。
    iptables -A INPUT -i lo -j ACCEPT #
    iptbales -A OUTPUT -o lo -j ACCEPT # 对运行在本机回还地址上的所有服务放行
    iptables -A FORWARD -p tcp -s 192.168.1.12 -d 192.168.13 -o ech0 -j DROP
    #禁止ip


    iptables -A INPUT -p tcp -dport 1:1024 -j DROP
    iptables -A INPUT -p udp -dport 1:1024 -j DROP #这两条可以防止nmap探测
    iptables -A INPUT -p tcp -dport ** -j ACCEPT #需要开放的端口
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值