iptables命令中则常见的控制类型有:
- ACCEPT:允许通过.
- LOG:记录日志信息,然后传给下一条规则继续匹配.
- REJECT:拒绝通过,必要时会给出提示
- DROP:直接丢弃,不给出任何回应.
规则链则依据处理数据包的位置不同而进行分类:
PREROUTING:在进行路由选择前处理数据包
INPUT:处理入站的数据包
OUTPUT:处理出站的数据包
FORWARD:处理转发的数据包
POSTROUTING:在进行路由选择后处理数据包
Iptables中的规则表:

规则表的先后顺序:raw→mangle→nat→filter
规则链的先后顺序:
入站顺序:PREROUTING→INPUT
出站顺序:OUTPUT→POSTROUTING
转发顺序:PREROUTING→FORWARD→POSTROUTING
iptables的基本参数:
| 参数 | 作用 | 
| -P | 设置默认策略:iptables -P INPUT (DROP|ACCEPT) | 
| -F | 清空规则链 | 
| -L | 查看规则链 | 
| -A | 在规则链的末尾加入新规则 | 
| -I num | 在规则链的头部加入新规则 | 
| -D num | 删除某一条规则 | 
| -s | 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。 | 
| -d | 匹配目标地址 | 
| -i 网卡名称 | 匹配从这块网卡流入的数据 | 
| -o 网卡名称 | 匹配从这块网卡流出的数据 | 
| -p | 匹配协议,如tcp,udp,icmp | 
| --dport num | 匹配目标端口号 | 
| --sport num | 匹配来源端口号 | 
实例:iptables的filter的配置:
--关闭firewall:
[root@localhost ~]# systemctl stop firewalld.service            #停止firewall
[root@localhost ~]# systemctl disable firewalld.service        #禁止firewall开机启动
--安装安装iptables防火墙
[root@localhost ~]# yum install iptables-services #安装
--清空已有的规则:
iptables -F iptables -X iptables -Z
--配置允许SSH登陆端口进入
iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT
--允许所有的ping操作
iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT
--允许本机lo通信
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
--设置默认的访问规则
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
--允许关联的状态包通过
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
--开放特定的端口,以80为例
iptables -A INPUT -p tcp --dport 80 -j ACCEP
--保存配置
service iptables save
--重启
systemctl restart iptables.service
--设置开机自启动
systemctl enable iptables.service
# iptables -I INPUT -p tcp --dport 80 -j DROP 
# 
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT
# iptables -I 
INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT 
iptables -I INPUT -p tcp --dport 9889 -j DROP 
iptables -I INPUT 
-s 192.168.1.0/24 -p tcp --dport 9889 -j ACCEPT
如果用了NAT转发记得配合以下才能生效
iptables -I FORWARD -p tcp --dport 80 -j DROP 
iptables -I FORWARD -s 
192.168.1.0/24 -p tcp --dport 80 -j ACCEPT
常用的IPTABLES规则如下:
只能收发邮件,别的都关闭
iptables -I Filter -m mac --mac-source 
00:0F:EA:25:51:37 -j DROP
iptables -I Filter -m mac --mac-source 
00:0F:EA:25:51:37 -p udp --dport 53 -j ACCEPT
iptables -I Filter -m mac 
--mac-source 00:0F:EA:25:51:37 -p tcp --dport 25 -j ACCEPT
iptables -I Filter 
-m mac --mac-source 00:0F:EA:25:51:37 -p tcp --dport 110 -j ACCEPT
IPSEC NAT 策略
iptables -I PFWanPriv -d 192.168.100.2 
-j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -d $INTERNET_ADDR 
-j DNAT --to-destination 192.168.100.2:80
iptables -t nat -A PREROUTING -p tcp --dport 1723 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:1723
iptables -t nat -A PREROUTING -p udp --dport 1723 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:1723
iptables -t nat -A PREROUTING -p udp --dport 500 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:500
iptables -t nat -A PREROUTING -p udp --dport 4500 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:4500
FTP服务器的NAT
iptables -I PFWanPriv -p tcp --dport 21 -d 
192.168.100.200 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 21 -d 
$INTERNET_ADDR -j DNAT --to-destination 192.168.100.200:21
只允许访问指定网址
iptables -A Filter -p udp --dport 53 -j 
ACCEPT
iptables -A Filter -p tcp --dport 53 -j ACCEPT
iptables -A Filter 
-d www.3322.org -j ACCEPT
iptables -A Filter -d img.cn99.com -j 
ACCEPT
iptables -A Filter -j DROP
开放一个IP的一些端口,其它都封闭
iptables -A Filter -p tcp --dport 
80 -s 192.168.100.200 -d www.pconline.com.cn -j ACCEPT
iptables -A Filter -p 
tcp --dport 25 -s 192.168.100.200 -j ACCEPT
iptables -A Filter -p tcp --dport 
109 -s 192.168.100.200 -j ACCEPT
iptables -A Filter -p tcp --dport 110 -s 
192.168.100.200 -j ACCEPT
iptables -A Filter -p tcp --dport 53 -j 
ACCEPT
iptables -A Filter -p udp --dport 53 -j ACCEPT
iptables -A Filter 
-j DROP
多个端口
iptables -A Filter -p tcp -m multiport 
--destination-port 22,53,80,110 -s 192.168.20.3 -j REJECT
连续端口
iptables -A Filter -p tcp -m multiport 
--source-port 22,53,80,110 -s 192.168.20.3 -j REJECT iptables -A Filter -p tcp 
--source-port 2:80 -s 192.168.20.3 -j REJECT
指定时间上网
iptables -A Filter -s 10.10.10.253 -m time 
--timestart 6:00 --timestop 11:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j 
DROP
iptables -A Filter -m time --timestart 12:00 --timestop 13:00 --days 
Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT
iptables -A Filter -m time --timestart 
17:30 --timestop 8:30 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT
禁止多个端口服务
iptables -A Filter -m multiport -p tcp --dport 
21,23,80 -j ACCEPT
将WAN 口NAT到PC
iptables -t nat -A PREROUTING -i 
$INTERNET_IF -d $INTERNET_ADDR -j DNAT --to-destination 192.168.0.1
将WAN口8000端口NAT到192。168。100。200的80端口
iptables -t nat 
-A PREROUTING -p tcp --dport 8000 -d $INTERNET_ADDR -j DNAT --to-destination 
192.168.100.200:80
MAIL服务器要转的端口
iptables -t nat -A PREROUTING -p tcp 
--dport 110 -d $INTERNET_ADDR -j DNAT --to-destination 
192.168.100.200:110
iptables -t nat -A PREROUTING -p tcp --dport 25 -d 
$INTERNET_ADDR -j DNAT --to-destination 192.168.100.200:25
只允许PING 202。96。134。133,别的服务都禁止
iptables -A Filter -p 
icmp -s 192.168.100.200 -d 202.96.134.133 -j ACCEPT
iptables -A Filter -j 
DROP
禁用BT配置
iptables –A Filter –p tcp –dport 6000:20000 –j 
DROP
禁用QQ防火墙配置
iptables -A Filter -p udp --dport ! 53 -j 
DROP
iptables -A Filter -d 218.17.209.0/24 -j DROP
iptables -A Filter -d 
218.18.95.0/24 -j DROP
iptables -A Filter -d 219.133.40.177 -j DROP
基于MAC,只能收发邮件,其它都拒绝
iptables -I Filter -m mac --mac-source 
00:0A:EB:97:79:A1 -j DROP
iptables -I Filter -m mac --mac-source 
00:0A:EB:97:79:A1 -p tcp --dport 25 -j ACCEPT
iptables -I Filter -m mac 
--mac-source 00:0A:EB:97:79:A1 -p tcp --dport 110 -j ACCEPT
禁用MSN配置
iptables -A Filter -p udp --dport 9 -j 
DROP
iptables -A Filter -p tcp --dport 1863 -j DROP
iptables -A Filter -p 
tcp --dport 80 -d 207.68.178.238 -j DROP
iptables -A Filter -p tcp --dport 80 
-d 207.46.110.0/24 -j DROP
只允许PING 202。96。134。133 其它公网IP都不许PING
iptables -A Filter 
-p icmp -s 192.168.100.200 -d 202.96.134.133 -j ACCEPT
iptables -A Filter -p 
icmp -j DROP
禁止某个MAC地址访问internet:
iptables -I Filter -m mac 
--mac-source 00:20:18:8F:72:F8 -j DROP
禁止某个IP地址的PING:
iptables –A Filter –p icmp –s 192.168.0.1 
–j DROP
禁止某个IP地址服务:
iptables –A Filter -p tcp -s 192.168.0.1 
--dport 80 -j DROP
iptables –A Filter -p udp -s 192.168.0.1 --dport 53 -j 
DROP
只允许某些服务,其他都拒绝(2条规则)
iptables -A Filter -p tcp -s 
192.168.0.1 --dport 1000 -j ACCEPT
iptables -A Filter -j DROP
禁止某个IP地址的某个端口服务
iptables -A Filter -p tcp -s 10.10.10.253 
--dport 80 -j ACCEPT
iptables -A Filter -p tcp -s 10.10.10.253 --dport 80 -j 
DROP
禁止某个MAC地址的某个端口服务
iptables -I Filter -p tcp -m mac --mac-source 00:20:18:8F:72:F8 --dport 80 -j DROP
禁止某个MAC地址访问internet:
iptables -I Filter -m mac 
--mac-source 00:11:22:33:44:55 -j DROP
禁止某个IP地址的PING:
iptables –A Filter –p icmp –s 192.168.0.1 
–j DROP  
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号