1.拒绝进入防火墙的所有ICMP协议数据包

[root@server ~]# iptables -A INPUT -p icmp -j REJECT

 
2.拒绝转发来自192.168.10.1主机的数据,允许转发来自192.168.209.0/24的数据
[root@server ~]# iptables -A FORWARD -s 192.168.10.1 -j REJECT
[root@server ~]# iptables -A FORWARD -s 192.168.209.0/24 -j ACCEPT
 
3.丢弃从外网接口(eth1)进入本机的源地址为私网地址的数据包
[root@server ~]# iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
[root@server ~]# iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP              
[root@server ~]# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
 
4.只允许通过192.168.209.1主机ssh远程登录
[root@server ~]# iptables -A INPUT -p tcp --dport 22 -s 192.168.209.1 -j ACCEPT
[root@server ~]# iptables -A INPUT -p tcp --dport 22 -j DROP
 
5.允许本机开放TCP端口20-1024提供应用服务
[root@server ~]# iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT
[root@server ~]# iptables -A INPUT -p tcp --sport 20:1024 -j ACCEPT
 
6.禁止其他主机ping防火墙主机,但是允许从防火墙上ping其他主机
[root@server ~]# iptables -D INPUT -p icmp -j REJECT #删除上面建立的
[root@server ~]# iptables -A INPUT -p icmp --icmp-type Echo-Request -j DROP
[root@server ~]# iptables -A INPUT -p icmp --icmp-type Echo-Reply -j ACCEPT
[root@server ~]# iptables -A INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT
 
7.禁止转发来自某个MAC主机的数据包
[root@server ~]# iptables -A FORWARD -m mac --mac-source 00:0c:29:27:55:3F -j DROP
 
8.允许防火墙本机对外开放tcp端口20、21、22、80
[root@server ~]# iptables -A INPUT -p tcp -m multiport --dport 20,21,22,80 -j ACCEPT
 
9.禁止转发源IP地址为192.168.10.1-192.168.10.99的TCP数据包
[root@server ~]# iptables -A FORWARD -p tcp -m iprange --src-range 192.168.10.1-192.168.10.99 -j DROP
 
10.拒绝访问防火墙的新数据包,但允许响应连接或与已有连接相关的数据包
[root@server ~]# iptables -A INPUT -p tcp -m state --state NEW -j DROP
[root@server ~]# iptables -A INPUT -p tcp -m state --state ESTABLIsHED,RELATED -j ACCEPT
 
11.只开放本机的web服务(80)、FTP(20、21、22、20450-20480),放行外部主机发住服务器其它端口的应答数据包,将其他入站数据包均予以丢弃处理。
[root@server ~]# iptables -I INPUT -p tcp -m multiport --dport 20,21,80 -j ACCEPT
[root@server ~]# iptables -I INPUT -p tcp --dport 20450:20480 -j ACCEPT
[root@server ~]# iptables -I INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
[root@server ~]# iptables -P INPUT DROP
 
12.查看iptables规则
[root@server ~]# iptables -n
 
13.iptables永久保存
[root@server ~]# iptables-save
 
14.iptables备份与还原
[root@server ~]# iptables-save>iptables.bak
[root@server ~]# iptables-restore <iptables.bak 
 
15.清除所有规则
[root@server ~]# iptables -F
 
16.内网web服务器(192.168.209.130)对外提供服务
[root@server ~]# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.209.130
 
17. 预防SYN flood以及DDOS
[root@server ~]# iptables -A FORWARD -p tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/s -j ACCEPT
[root@server ~]# iptables -P FORWARD DROP