iptables 命令

  • 防火墙分为硬件防火墙软件防火墙

  • 防火墙策略一般分为两种:开放屏蔽

  • iptables 是 Linux 上常用的防火墙软件

  • iptables 一共有四张表五条链

  1. iptables (选项)[表名] (选项)[链名规则] (选项)[动作]

表:

  • Raw 负责连接跟踪
  • Mangle 负责包处理
  • Nat 负责地址转换
  • Filter 负责包过滤

链名规则:

  • PREROUTING 数据包作路由选择之前
  • INPUT 接收数据包
  • FORWARD 在内核空间中,从一个网络接口进入,到另一个网络接口去。转发过滤
  • OUTPUT 输出数据包
  • POSTROUTING 数据包作路由选择之后

动作:

  • accept:接收数据包。
  • DROP:丢弃数据包。
  • REDIRECT:重定向、映射、透明代理。
  • SNAT:源地址转换。
  • DNAT:目标地址转换。
  • MASQUERADE:IP伪装(NAT),用于ADSL。
  • LOG:日志记录。

例子

  1. iptables -I INPUT -s ip -j DROP #屏蔽指定 ip 访问
  2. iptables -A INPUT -p tcp --dport 2222 -j ACCEPT #允许 2222 端口访问
  3. iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP #屏蔽 icmp 协议,即关闭 ping 服务
  4. iptables -L -n --line-numbers #查看已添加的规则并以序号显示
  5. iptables -D INPUT 8 #删除序号为 8 的规则

补充:-A 代表追加,-I 代表插入,-D 代表删掉,-R 代表替换,-L 代表列表,-p 代表协议,-s 代表源地址,必须是 IP ,-j 代表动作,-d 代表目标地址,-i 网卡进入是数据,-o 代表网卡输出的数据。