iptables -A INPUT -p tcp --dport 22 -j DROP  新增规则
iptables -D INPUT -P tcp --dport 22 -j DROP  删除规则
iptables -A INPUT -i eth0 -s 10.0.0/24 -j DROP   源地址10.0.0.0/24网段,且从etho0进入,直接过滤(如果没有写接口,就是所有接口)
iptables -A INPUT -i eth1 -s ! 10.0.0.102 -j DROP(源地址非10.0.0.102经过eth1的直接drop)
iptables -L -n                     查看iptables的列表
iptables -F
iptables -X
iptables 默认用filter表
ACCEPT DROP   REJECT(安全隐患,不用这样,只用前面2个)
生产环境常用服务的iptables的规则实例
以下服务是以默认规则为拒绝设计的:
1\仅允许内部合法的IP地址访问服务器
iptables -A INPUT -s 203.81.19.0/24 -p all -j ACCEPT
iptables -A INPUT -s 124.42.60.96/24 -p all -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p all -j ACCEPT
iptables -A INPUT -s 10.0.0.0/24 -p all -j ACCEPT

2\仅允许内部合法的IP段访问监控服务器nagios
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 5666 -j ACCEPT
3\仅允许内部合法的IP段访问mysql数据库和oracle数据库
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 3307 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1521 -j ACCEPT
4\仅允许内部合法的IP段访问ssh远程连接服务
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 50718 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.2.0/24 --dport 50718 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.3.0/24 --dport 50718 -j ACCEPT
5\对内提供http服务的业务,一般用特殊端口,并且限制合法IP连接或***连接
iptables -A INPUT -s 192.168.1.10/24 -p tcp -m multiport --dport 8080,8081,8082 -j ACCEPT
6\snmp限制
iptables -A INPUT -s 192.168.2.0/24 -p UDP --dport 161 -j ACCEPT
iptables -A INPUT -s 203.82.11.0/24 -p UDP --dport 161 -j ACCEPT
iptables -A INPUT -s 203.81.18.0/24 -p UDP --dport 161 -j ACCEPT
7、rsync服务的限制策略
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 873 -j ACCEPT
8\nfs服务的限制
iptables -A INPUT -s 192.168.1.0/24 -p TCP -m multiport --dport 111,892,2049 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp -m multiport --dport 111,892,2049 -j ACCEPT
9\ftp服务的限制
#iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
提示:上面内容表示对已经建立连接的数据包,或者发出去的数据包允许通过
10、ICMP的限制
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
iptables -A INPUT -p icmp -s 10.10.10.0/24 -m icmp --icmp-type any -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
11\允许SSH
iptables -A INPUT -p tcp --dport 22 -s 10.0.0.0/24 -j ACCEPT
12\配置允许lo接口的进入 流出,本地环回接口
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
13\电影院模式,一旦敲入下面的命令,服务器会连接不上,所以敲入下列命令前要加入访问的网段:iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT   #一定要先加这条,否则执行下面语句后不能正常的连接服务器
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD DROP
iptables --policy INPUT DROP
14、开启信任的IP段
允许IDC机房和办公网IP的访问
iptables -A INPUT -s 124.43.62.96/27 -p all -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p all -j ACCEPT
iptables -A INPUT -s 10.0.0.-0/24 -p all -j ACCEPT
允许http服务运行
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
允许ICMP
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
允许关联的状态包通过
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT



永久保存成配置文件
/etc/init.d/iptables save
备份Iptables的配置文件
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak



nat:
1、PC1配置2个网桥网卡,一个和局域网同网段(192.168.1.0、24),另外一个自定义个网段(172.16.1.3)
   准备一台PC2,网卡设置为网桥模式,确保手动配置网络段172.16.1.17 网关:172.16.1.3
   新网卡的只设置IP:172.16.1.3,不设置网关。如果设置网关,则有2个网关,造成不能上网
   在PC1上“开启内核转发”:net.ipv4.ip_forward = 1  修改后使用sysctl -p生效,并将PC2网关设置成172.16.1.3
   开启转发后,真机能ping通172.16.1.17,如果没有开启转发功能,测不能ping通172。16.1.17
2、在PC1的iptables开启转发:Chain FORWARD (policy ACCEPT)
3、加载模块

做源地址转换:
iptables -t nat -A POSTROUTING -s 172.16.1.0/255.255.255.0 -o eth0 -j SNAT --to-source 192.168.1.106  #静态IP
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE  ###拨号上网
做完上面的操作后,内网的机器PC2就可以上网了