Linux防火墙软件iptables

本文旨在简单介绍Linux下防火墙软件iptables的使用及相关知识。

1. Netfilter

一般依据防火墙的作用域范围,Linux下提供了三种防火墙机制:Netfilter(同时适用单一主机网域和区网域)、TCP Wrapper(常用于单主机网域)和Proxy Server(常用于区网域),而本文要讲的是iptables这个软件则是由Netfilter提供的,通过分析进入主机的网络,主要是比对封包的表头数据比如MAC、IP等,进而决定对其放行或是阻挡。

2. iptables几个重要概念

iptables下定义了几个表格,而每个表格又定义了自己的预设政策和规则,来实现不同的功能。

2.1 filter

主要跟进入的Linux本机的封包相关,且是默认的表格,主要包括如下三种类型的链:

  • INPUT:进入本机的封包;
  • OUTPUT:本机发出的封包;
  • FROWARD:转发,跟NAT表相关;

举个简单的例子:
iptables -A INPUT -p tcp -s 192.168.10.50 --dport 21:23 -j DROP

2.2 nat

主要是用来做源、目标地址和端口转换的,包括如下常见的三种类型的链:

  • PREROUTING:进入路由之前要判断的规则(DNAT/REDIRECT),可以修改封包的目标IP;
  • POSTROUTING:进入路由之后要判断的规则(SNAT/MASQUERADE),可以修改封包的源IP;
  • OUTPUT:发出的封包规则;

举两个相关的简单例子:
iptables -t nat -A POSTROUTING -s 192.168.10.100 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j SDAT --to-source 10.106.5.14

2.3 mangle

这个一般用的不多特别对于初学者,此处不做赘述。

3. iptables软件的使用

3.1 预设防火墙policy

当所有设定的规则没匹配上时,会按照预设的防火墙policy来决定流量的处理。

如下是单机最常见的防火墙预设设定:

iptables -P INPUT DROP
iptables -P OUYPUT ACCEPT
iptables -P FROWARD ACCEPT
iptable -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

3.2 规则添加格式

iptables -A <chain_name> [optional params]
默认操作filter表,如果要添加NAT规则,需要加上参数-t nat

optional params:

  • -s/-d <ipaddrs>: 源/目标地址IP
  • -p <protocol>: 协议,常见的取值有tcp、udp、icmp、all
  • --sport/--dport <port>: 源/目标port
  • -i/-o <net_device>: 源/目标网卡设备
  • -j <action>: 操作,常见的取值有ACCEPT、DROP、LOG等

在实际添加防火墙规则时,要注意添加的规则顺序以防有些规则根本不会生效,因为当有流量接入时,iptables会自上而下对规则进行扫描,一旦规则匹配上则停止继续扫描。

3.3 规则保存

直接通过iptables命令添加的规则是临时生效的,一旦机器重启或者关机,该规则就会失效。因此建议把规则添加到iptables的规则配置文件(比如ubuntu 14.04下/etc/iptables/rules.v4),而后通过命令iptables-restore < /etc/iptables/rules.v4来生效。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.安全技术 (1)入侵检测与管理系统(Intrusion Detection Systems): 特点是不阻断任...
    尛尛大尹阅读 7,249评论 0 2
  • 防火墙的概念iptables的简介iptables命令网络防火墙NATfirewalld服务 一、防火墙的概念 (...
    哈喽别样阅读 5,824评论 0 1
  • 一.防火墙概念 (一)安全技术介绍 (1) 入侵检测与管理系统(Intrusion Detection Syste...
    楠人帮阅读 5,400评论 0 3
  • “呵呵”!我都有点不好意思写,不过我是真想说出来。 我好像去外面看看。 可是我有一直在犹豫!不是不知道去哪,而是在...
    骚年不要太过分阅读 1,696评论 0 0
  • 我忠诚于国家,忠诚于自己,也忠诚于你。 渣男给的一堆书中的其中一本。非常短的一本言情小说。围绕陆岩和许禾在沙漠考古...
    更欣阅读 4,371评论 0 15