`
desert3
  • 浏览: 2140673 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

iptables实例、应用案例分析

 
阅读更多
转自:
iptables实例
iptables应用案例分析(客户端上设置iptables)
iptables应用案例分析(包过滤服务器上设置iptables)
iptables应用案例分析(代理服务器上设置iptables)

禁止客户机访问不健康网站
【例1】添加iptables规则禁止用户访问域名为www.sexy.com的网站
iptables  -I  FORWARD  -d  www.sexy.com  -j  DROP
【例2】添加iptables规则禁止用户访问IP地址为.20的网站
iptables  -I  FORWARD  -d  .20  -j  DROP

注意以下几点
(1)上面这两条iptables命令都省略了< -t  table>,所以它们默认使用的是:-t  filter
(2)上面这两条iptables命令中的chain,使用的是FORWARD链,为什么呢?因为本机不提供www.sexy.com的服务,所以不使用INPUT链,而使用FORWARD链

禁止某些客户机上网
【例1】添加iptables规则禁止IP地址为192.168.1.X的客户机上网
iptables  -I  FORWARD  -s  192.168.1.X  -j  DROP
【例2】添加iptables规则禁止192.168.1.0子网里所有的客户机上网
iptables  -I  FORWARD  -s  192.168.1.0/24  -j  DROP

禁止客户机访问某些服务
【例1】禁止192.168.1.0子网里所有的客户机使用FTP协议下载
iptables  -I  FORWARD  -s  192.168.1.0/24  -p  tcp  --dport  21  -j  DROP
【例2】禁止192.168.1.0子网里所有的客户机使用Telnet协议连接远程计算机
iptables  -I  FORWARD  -s  192.168.1.0/24  -p  tcp  --dport  23  -j  DROP

注意:-p与--dport或者--sport必须一起使用

强制访问指定的站点
【例】强制所有的客户机访问192.168.1.x这台Web服务器
iptables  -t  nat  -I  PREROUTING  -i  eth0  -p  tcp  --dport  80  -j  DNAT  --to-destination  192.168.1.x:80

禁止使用ICMP协议
【例】禁止Internet上的计算机通过ICMP协议ping到NAT服务器的ppp0接口,但允许内网的客户机通过ICMP协议ping的计算机
iptables  -I  INPUT  -i  ppp0  -p  icmp  -j  DROP

发布内部网络服务器
【例1】发布内网.3主机的Web服务,Internet用户通过访问防火墙的IP地址即可访问该主机的Web服务
iptables  -t  nat  -I  PREROUTING  -p  tcp  --dport  80  -j  DNAT  --to-destination  .3:80
【例2】发布内网10.0.0.3主机的终端服务(使用的是TCP协议的3389端口),Internet用户通过访问防火墙的IP地址访问该机的终端服务
iptables  -t  nat  -I  PREROUTING  -p  tcp  --dport  3389  -j  DNAT  --to-destination  .3:3389


#允许其它主机连接本终端的SSH服务(本终端为:SSH服务器)
iptables   -t   filter  -A  INPUT  -p  tcp   --dport  22  -j  ACCEPT
iptables   -t   filter  -A  OUTPUT  -p  tcp  --sport  22  -j  ACCEPT

#允许本终端连接远程主机的SSH服务(本终端为:SSH客户端)
iptables   -t   filter  -A  INPUT  -p  tcp  --sport   22   -j   ACCEPT
iptables   -t   filter  -A  OUTPUT  -p  tcp  --dport   22   -j   ACCEPT

#设置终端本地回环通行(因为本地回环地址:127.0.0.1,它提供了很多的服务,可通过netstat -autnlp查看)
iptables   -t   filter  -A  INPUT  -i  lo    -j   ACCEPT
iptables   -t   filter  -A  OUTPUT  -o  lo    -j   ACCEPT

#允许本终端发送和接收ICMP数据包(ping指令)
iptables   -t   filter  -A  INPUT  -p  icmp  -j   ACCEPT
iptables   -t   filter  -A  OUTPUT  -p  icmp  -j   ACCEPT

#允许本终端发送和接收DNS数据包(本终端为:DNS客户端)
iptables   -t   filter  -A  OUTPUT  -p  udp  --dport  53   -j   ACCEPT
iptables   -t   filter  -A  INPUT  -p  udp  --sport  53   -j   ACCEPT

#允许本终端发送和接收httpd数据包(本终端为:web客户端)
iptables    -t   filter   -A   INPUT   -p   tcp   --sport   80   -j   ACCEPT
iptables    -t   filter   -A   OUTPUT  -p   tcp  --dport  80  -j   ACCEPT

#改变默认的策略规则(注意:一定要先设置上面的那些服务(特别是:SSH服务),再修改默认规则)
iptables   -t   filter  -P  INPUT  DROP
iptables   -t   filter  -P  OUTPUT DROP
iptables   -t   filter  -P  FORWARD DROP
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics