iptables filter表案例 iptables nat表应用
1,iptables filter表案例。
编写脚本。
vi /usr/local/sbin/iptables.sh
#!/bin/bash
ipt="/usr/sbin/iptables" //定义变量ipt
$ipt -F //清空之前的规则,只针对filter表
$ipt -P INPUT DROP //预设策略INPUT链DROP
$ipt -P OUTPUT ACCEPT //预设策略OUTPUT链ACCEPT
$ipt -P FORWARD ACCEPT //预设策略OUTPUT链FORWARD
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //放行RELATED和ESTABLISHED两个状态,确保正常通信
$ipt -A INPUT -s 192.168.177.0/24 -p tcp --dport 22 -j ACCEPT //针对192.168.177.0/24开通22端口
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT //对所有网段开放80端口
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT //对所有网卡开放21端口
完成编写后,直接运行/usr/local/sbin/iptables.sh即可。如果想开机启动时初始化防火墙规则,则需要在/etc/rc.d/rc.local中添加一行/bin/sh /usr/local/sbin/iptables.sh。我们可以查看规则:
关于icmp的示例:
#iptables -I INPUT -p icmp --icmp-type 8 -j DROP
这里--icmp-type选项要跟-p icmp一起使用,后面指定类型编号。这个8指的是能在本机ping通其他机器,而在其他机器不能ping通本机。
2,iptables nat表应用。