首页 运维 正文
Iptables防火墙配置详解

 2022-10-23    367  

  iptables防火墙配置详解

  iptables简介

Iptables防火墙配置详解

  iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表。

  filter负责过滤数据包,包括的规则链有,input,output和forward;

  nat则涉及到网络地址转换,包括的规则链有,prerouting,postrouting和output;

  mangle表则主要应用在修改数据包内容上,用来做流量整形的,默认的规则链有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;

  input匹配目的IP是本机的数据包,forward匹配流经本机的数据包,prerouting用来修改目的地址用来做DNAT,postrouting用来修改源地址用来做SNAT。

  iptables主要参数

  -A 向规则链中添加一条规则,默认被添加到末尾

  -T指定要操作的表,默认是filter

  -D从规则链中删除规则,可以指定序号或者匹配的规则来删除

  -R进行规则替换

  -I插入一条规则,默认被插入到首部

  -F清空所选的链,重启后恢复

  -N新建用户自定义的规则链

  -X删除用户自定义的规则链

  -p用来指定协议可以是tcp,udp,icmp等也可以是数字的协议号,

  -s指定源地址

  -d指定目的地址

  -i进入接口

  -o流出接口

  -j采取的动作,accept,drop,snat,dnat,masquerade

  –sport源端口

  –dport目的端口,端口必须和协议一起来配合使用

  注意:所有链名必须大写,表明必须小写,动作必须大写,匹配必须小写。

#p#

  iptable配置实例

  iptable基本操作

  iptables -L 列出iptables规则

  iptables -F 清除iptables内置规则

  iptables -X 清除iptables自定义规则

  设定默认规则

  在iptables规则中没有匹配到规则则使用默认规则进行处理

  iptables -P INPUT DROP

  iptables -P OUTPUT ACCEPT

  iptables -P FORWARD DROP

  配置SSH规则

  iptables -A INPUT -p tcp –dport 22 -j ACCEPT

  iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT 如果你把OUTPUT 设置成DROP,就需要加上这个规则,否则SSH还是不能登录,因为SSH服务职能进不能出。

  只允许192.168.0.3的机器进行SSH连接

  iptables -A INPUT -s 192.168.0.3 -p tcp –dport 22 -j ACCEPT

  如果要允许,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.

  允许loopback回环通信

  IPTABLES-AINPUT-ilo-pall-jACCEPT 
  •   IPTABLES-AOUTPUT-olo-pall-jACCEPT
  •   目的地址转换,映射内部地址

      iptables-tnat-APREROUTING-ippp0-ptcp--dprot81-jDNAT--to192.168.0.2:80 
  •   iptables-tnat-APREROUTING-ippp0-ptcp--dprot81-jDNAT--to192.168.0.1-192.168.0.10
  •   源地址转换,隐藏内部地址

      iptables-tnat-APOSTROUTING-s192.168.0.0/24-jSNAT--to1.1.1.1 
  •   iptables-tnat-APOSTROUTING-s192.168.0.0/24-jSNAT--to1.1.1.1-1.1.1.10
  •   地址伪装,动态ip的NAT

      iptables-tnat-APOSTROUTING-s192.168.0.0/24-jMASQUERADE 
  •   masquerade和snat的主要区别在于,snat是把源地址转换为固定的IP地址或者是地址池,而masquerade在adsl等方式拨号上网时候非常有用,因为是拨号上网所以网卡的外网IP经常变化,这样在进行地址转换的时候就要在每次都要修改转换策略里面的ip,使用masquerade就很好的解决了这个问题,他会自己去探测外网卡获得的ip地址然后自动进行地址转换,这样就算外网获得的ip经常变化也不用人工干预了。

      开启转发功能

      iptables-AFORWARD-ieth0-oeth1-mstate--stateRELATED,ESTABLISHED-jACCEPT只允许已建连接及相关链接对内转发 
  •   ptables-AFORWARD-ieth1-oeh0-jACCEPT允许对外转发
  •   过滤某个MAC

      iptables-AFORWARD-mmac--mac-sourceMAC地址-jDROP 
  •   报文经过路由后,数据包中原有的MAC信息会被替换,所以在路由后的iptables中使用mac匹配没有意义。

      数据包整流

      iptables-AFORWARD-d192.168.0.1-mlimit--limit50/s-jACCEPT 
  •   iptables-AFORWARD-d192.168.0.1-jDROP
  •   多端口匹配

      用以一次匹配多个端口

      iptables-AINPUT-ptcp-mmuliport--dports21,22,25,80,110-jACCEPT 
  •   丢弃非法连接

      iptables-AINPUT-mstate--stateINVALID-jDROP 
  •   iptables-AOUTPUT-mstate--stateINVALID-jDROP
  •   iptables-AFORWARD-mstate--stateINVALID-jDROP
  •   存储于恢复iptables规则

      iptables-save>somefile 
  •   iptables-restore<somefile
  • 原文链接:https://77isp.com/post/8323.html

    =========================================

    https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。