系统管理员需知的 16 个 iptables 使用技能

iptables 是一款控制系统进出流量的强大配置工具。
 
ASP站长网现代 Linux 内核带有一个叫 Netfilter 的数据包过滤框架。Netfilter 提供了允许、丢弃以及修改等操作来控制进出系统的流量数据包。基于 Netfilter 框架的用户层命令行工具 iptables 提供了强大的防火墙配置功能,允许你添加规则来构建防火墙策略。iptables 丰富复杂的功能以及其巴洛克式命令语法可能让人难以驾驭。我们就来探讨一下其中的一些功能,提供一些系统管理员解决某些问题需要的使用技巧。
 
避免封锁自己
应用场景:假设你将对公司服务器上的防火墙规则进行修改,你需要避免封锁你自己以及其他同事的情况(这将会带来一定时间和金钱的损失,也许一旦发生马上就有部门打电话找你了)
 
技巧 #1: 开始之前先备份一下 iptables 配置文件。
用如下命令备份配置文件:
 
/sbin/iptables-save >/root/iptables-works
技巧 #2: 更妥当的做法,给文件加上时间戳。
用如下命令加时间戳:
 
/sbin/iptables-save >/root/iptables-works-`date +%F`
然后你就可以生成如下名字的文件:
 
/root/iptables-works-2018-09-11
这样万一使得系统不工作了,你也可以很快的利用备份文件恢复原状:
 
/sbin/iptables-restore </root/iptables-works-2018-09-11
技巧 #3: 每次创建 iptables 配置文件副本时,都创建一个指向最新的文件的链接。
ln–s /root/iptables-works-`date +%F`/root/iptables-works-latest
技巧 #4: 将特定规则放在策略顶部,底部放置通用规则。
避免在策略顶部使用如下的一些通用规则:
 
iptables -A INPUT -p tcp --dport 22-j DROP
你在规则中指定的条件越多,封锁自己的可能性就越小。不要使用上面非常通用的规则,而是使用如下的规则:
 
iptables -A INPUT -p tcp --dport 22–s 10.0.0.0/8–d 192.168.100.101-j DROP
此规则表示在 INPUT 链尾追加一条新规则,将源地址为 10.0.0.0/8、 目的地址是 192.168.100.101、目的端口号是 22 (--dport 22 ) 的 TCP(-p tcp )数据包通通丢弃掉。
 
还有很多方法可以设置更具体的规则。例如,使用 -i eth0 将会限制这条规则作用于 eth0 网卡,对 eth1 网卡则不生效。
 
技巧 #5: 在策略规则顶部将你的 IP 列入白名单。
这是一个有效地避免封锁自己的设置:
 
iptables -I INPUT -s <your IP>-j ACCEPT
你需要将该规则添加到策略首位置。-I 表示则策略首部插入规则,-A 表示在策略尾部追加规则。
 
技巧 #6: 理解现有策略中的所有规则。
不犯错就已经成功了一半。如果你了解 iptables 策略背后的工作原理,使用起来更为得心应手。如果有必要,可以绘制流程图来理清数据包的走向。还要记住:策略的预期效果和实际效果可能完全是两回事。
 
设置防火墙策略
应用场景:你希望给工作站配置具有限制性策略的防火墙。

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。