LINUX中IPTABLES防火墙的基本使用教程

  

  

对于有公网IP的生产环境VPS,仅仅开放需要的端口,即采用ACL来控制IP和端口(访问控制列表)。

  

这里可以使用Linux防火墙netfilter的用户态工具

  

iptables有4种表:原料→损坏(修改报文原数据)→nat(定义地址转换)→过滤(定义允许或者不允许的规则)

  

<强>每个表可以配置多个链:
  

  

*对于过滤器来讲一般只能做在3个链上:输入,输出
  

  

*对于nat来讲一般也只能做在3个链上:PREROUTING,输出,POSTROUTING
  

  

*对于损坏是5个链都可以做:PREROUTING,输入,输出,POSTROUTING)

  

<强>过滤表的三个链详解:
  

  

*输入链:过滤所有目标地址是本地的数据包
  

  

*转发链:过滤所有路过本机的数据包
  

  

*输出链:过滤所有由本机产生的数据包

  

举一反三学习:

        【例】:过滤所有的访问:   iptables - t - s 0.0.0.0/0.0.0.0 - d X.X.X.过滤器——输入X - j下降      【例】:对SSH的22端口开放   iptables - i - s 0.0.0.0/0.0.0.0 - d X.X.X.输入X - p tcp——dport 22 - j接受      【例】:开放80端口   iptables -输入- s 0.0.0.0/0.0.0.0 - d X.X.X.X - p tcp——dport 80 - j接受         【例】:来自124年的数据禁止通过174 IP   tcp - s 45.32.102.124 iptables -输出- p - d 157.240.22.174 - j拒绝      【例】打印当前生效的iptables规则(- n显示IP地址)   iptables - l - n      

Linux中iptables防火墙指定端口范围

        iptables -输入- p tcp——dport 700:800 - j下降   iptables -输入- s 11.129.35.45 - p tcp——dport 700:800 - j接受      

一、700:800表示700到800之间的所有端口
  

  

二,:800表示800及以下所有端口
  

  700年

三,700:表示以及以上所有端口
  

  

这个例子作用是,700 - 800端口,仅仅对11.129.35.45 IP开放,白名单机制。

  

<强> Snat, Dnat的iptables用途:
  

  

源地址转换(Snat): iptables - t nat - a - s私IP - j Snat源公IP
  

  

目的地址转换(Dnat): iptables - t nat - prerouting - d公IP - j Dnat到目的地私IP

  

  

iptables常用的命令选项有:
  

  
  

- p:设置默认策略的(设定默认门是关着的还是开着的)如:iptables - p输入(下跌|接受)
  - f: FLASH,清空规则链的(注意每个链的管理权限)
  n:新支持用户新建一个链,比如:iptables - n inbound_tcp_web表示附在tcp表上用于检查网页的。
  - x:用于删除用户自定义的空链
  - z:清空链
  ——:追加
  我num:插入,把当前规则插入为第几条
  - r num:回放替换/修改第几条规则
  - d num:删除,明确指定删除第几条规则
  - l:查看规则详细信息,比如“iptables - l - n - v”
  - s表示源地址IP
  - d表示目标地址IP
  删除表示丢弃(拒绝)
  接受表示接受
  - p表示适用协议,如tcp
  

     

<强>其他更多例子:

        【例】添加iptables规则禁止用户访问域名为www.sexy.com的网站。      www.sexy.com向前iptables - i - d - j下降      【例】添加iptables规则禁止用户访问IP地址为20.20.20.20的网站。      向前iptables - i - d 20.20.20.20 - j下降      【例】添加iptables规则禁止IP地址为192.168.1 . x的客户机上网。      iptables - i - s 192.168.1向前发展。X - j下降      【例】添加iptables规则禁止192.168.1.0子网里所有的客户机上网。      向前iptables - i - s 192.168.1.0/24 - j下降      【例】禁止192.168.1.0子网里所有的客户机使用FTP协议下载。      向前iptables - i - s 192.168.1.0/24 - p tcp -dport 21 - j下降      【例】强制所有的客户机访问192.168.1 . x这台Web服务器。      iptables - t nat - PREROUTING我eth0 - p tcp -dport 80 - j DNAT 192.168.1 . x到目的地:80      【例】禁止使用ICMP协议。      iptables -我输入我ppp0 - p icmp - j下降      

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

LINUX中IPTABLES防火墙的基本使用教程