Kali操作系统安装时默认已经安装了"iptables",配置前先检查有没有安装,命令如下:iptables -L显示如下(图1),则表示已经安装了,如果没有安装,使用命令:apt-get install iptables*,带"*"表示以"iptables"的所有相关软件包都安装,防止依赖包没有安装导致"iptables"安装失败。
图1
Kali iptables默认是没有任何规则配置的,允许所有的数据流通过。
Kali iptables的规则配置语法与其它Linux版本一致,具体如下:
(1)配置本机可以访问自身:iptables -A INPUT -i lo -j ACCEPT;
(2)配置本机可以与外部设备建立连接:iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT;
(3)配置本机开放的端口,如SSH端口22:iptables -A INPUT -p tcp --dport 22 -j ACCEPT;
(4)允许其它设备PING本机:iptables -A INPUT -p icmp -j ACCEPT;
(5)其它的INPUT规则禁止:iptables -A INPUT -j REJECT --reject-with icmp-port-unreachable。
以上只是INPUT的规则,iptables还可以配置OUTPUT、FORWARD的规则,可根据实际环境配置。
配置好规则后将保存至/etc/iptables/rules.v4,保存命令:iptables-save > /etc/iptables/rules.v4。
如果想在Kali操作系统启动时iptables设置的规则生效,则需要增加启动项:如下:
在/etc/init.d/文件夹下新建iptables文件,如:vim /etc/init.d/iptables,内容如下:
#!/bin/bash
/sbin/iptables-restore < /etc/iptables/rules.v4
完毕。