四、实例分析
1.单服务器的防护(以www服务器为例)
一定要保存,记得用-vnL look look查看啊!
* iptables -A INPUT -i l0 -j ACCEPT
* iptables -A INPUT -p tcp -m multiports --dports 22,80 -j ACCEPT
* iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
* iptables -P DROP
* iptables-save
2.做网关服务器
a.记得弄清楚网络拓扑(内网以192.168.1.0/24为例)
b.本机上网
c.设置nat(启用nat,实现MASQUERADE ip伪装)
echo “1” > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
3.限制内网访问
iptables -A FORWARD -s 192.168.1.100 -j DROP
iptables -A FORWARD -m mac mac-source 11-22-33-44-55 -j DROP
iptables -A FORWARD -d -j REJECT
4.内网做对外服务器
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 81 -j DNAT --to 192.168.1.2:80
其中80为真正的服务端口,192.168.1.0/24为内网地址 ppp0为外网接口。
5.预防SYN flood以及DDOS
iptables -A INPUT -i ppp0 -p tcp --tcp-flags ! FIN SYN,ACK SYN -m limit ! --limit 100/s -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp -j DROP
以每秒超过了100个SYN位为1的包,而ACK为0,就进行drop,记得limit后面一定要加条drop命令 !为取反的意思
五.注意的相关问题
1.注意语句的执行顺序
2.常用iptables -nvxL 查看
3.一定要区分匹配什么?怎样去执行?
4.还有就是默认的执行动作是什么?
5.注意链与表的选取
6.表名必须小写、动作跟链名称要大写、匹配一律小写
本文出自 “jascar” 博客,请务必保留此出处