<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[Linux的iptables常用配置范例（2）]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Fri, 01 Apr 2011 17:05:33 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	iptables -F&nbsp;&nbsp; #清除所有规则<br/>iptables -X&nbsp;&nbsp;#清除所有自定义规则<br/>iptables -Z&nbsp;&nbsp; #各项计数归零<br/>iptables -P INPUT DROP&nbsp;&nbsp;#将input链默认规则设置为丢弃<br/>iptables -P OUTPUT DROP&nbsp;&nbsp;#将output链默认规则设置为丢弃<br/>iptables -A INPUT -i lo -j ACCEPT<br/>iptables -A OUTPUT -o lo -j ACCEPT #对运行在本机回环地址上的所有服务放行<br/>iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT&nbsp;&nbsp;#把这条语句插在input链的最前面（第一条），并且对状态为ESTABLISHED,RELATED的连接放行。<br/>iptables -A OUTPUT -p tcp –dport 80 -j ACCEPT&nbsp;&nbsp;#允许本机访问其他80服务<br/>iptables -A OUTPUT -p udp –dport 53 -j ACCEPT #允许本机发送域名请求<br/>iptables -A OUTPUT -p icmp -j ACCEPT&nbsp;&nbsp;#对本机出去的所有icmp协议放行，其实如果仅仅只是允许本机ping别的机器，更为严谨的做法是将此语句修改为：<br/>iptables -A OUTPUT -p icmp&nbsp;&nbsp;–icmp-type&nbsp;&nbsp;echo-request -j ACCEPT<br/><br/>对状态为ESTABLISHED和RELATED的包放行，简单的说，就是说对允许出去的包被对方主机收到后，对方主机回应进来的封包放行。这条语句很重 要，可以省去写很多iptables语句，尤其是在有ftp服务器的场合。你理解了这个意思，就应该知道，有了这条语句，第6条语句其实是可以省略的。<br/><br/>封网站：<br/>iptables -F<br/>iptables -X<br/>iptables -Z<br/>iptables -P OUTPUT DROP<br/>iptables -A INPUT -i lo -j ACCEPT<br/>iptables -A OUTPUT -o lo -j ACCEPT<br/>iptables -A OUTPUT -p udp –dport 53 -j ACCEPT<br/>iptables -A OUTPUT -p tcp -s 192.168.1.10 -d <a href="http://www.qq.com" target="_blank">www.qq.com</a> -j DROP(禁止网站)<br/>iptables -A FORWARD -p tcp -s 192.168.1.11/24 -d <a href="http://www.qq.com" target="_blank">www.qq.com</a> -o eth0 -j DROP（禁止网段）<br/>iptables -A FORWARD -p tcp -s 192.168.1.12 -d 192.168.1.13&nbsp;&nbsp;-o eth0 -j DROP(禁止IP)<br/>iptables -A OUTPUT -p tcp –dport 80 -j ACCEPT （这条写在禁止网站的下面）<br/><br/>＃安全规则类似windows防火墙<br/>iptables -A INPUT -p tcp –dport 1:1024 -j DROP<br/>iptables -A INPUT -p udp –dport 1:1024 -j DROP&nbsp;&nbsp; 这两条可以防止nmap探测<br/>iptables -A INPUT -p tcp –dport ** -j ACCEPT&nbsp;&nbsp;（要开放的端口）<br/>＃允许的端口,相对协议改一下就可以了,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (端口过虑)<br/>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br/><br/>iptables架设安全的vsftp服务器<br/><br/>在实际工作中，可用以下脚本架设一台很的内部FTP；当然也可以配合Wireshark理解 vsftpd的被动与主动的区别，以本机192.168.0.10为例，脚本如下:<br/><div class="code"><br/>#!/bin/bash<br/>-F<br/>iptables -X<br/>iptables -Z<br/>iptables -t nat -F<br/>iptables -t nat -X<br/>iptables -t nat -Z<br/>#开启ip转发功能<br/>echo “1″ &gt; /proc/sys/net/ipv4/ip_forward<br/>#加载ftp需要的一些模块功能<br/>modprobe ip_conntrack_ftp<br/>modprobe ip_conntrack-tftp<br/>modprobe ip_nat_ftp<br/>modprobe ip_nat_tftp<br/>#为了更安全，将OUTPUT默认策略定义为DROP<br/>iptables -P INPUT DROP<br/>iptables -P OUTPUT DROP<br/>iptables -P FORWARD ACCEPT<br/>#开放本机的lo环回口，建议开放，不开放的会出现些莫名其妙的问题<br/>iptables -A INPUT -i lo -j ACCEPT<br/>iptables -A OUTPUT -o lo -j ACCEPT<br/>#下面的脚本是架设安全的vsftpd关健,后二句脚本是放行服务器向客户端作回应的和已建立连接的数据包,因被动FTP比较复杂，六次握手，所以这里采用状态来做<br/>iptables -A INPUT -s 192.168.0.0/24 -p tcp –dport 21 -j ACCEPT<br/>iptables -A OUTPUT -d 192.168.0.0/24 -p tcp –sport 21 -j ACCEPT<br/>iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT<br/>iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT <br/></div><br/>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br/>内网web服务器 适用于中小型公司有内网服务器发布的IPT<br/>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br/>[code]<br/>防止攻击扫描<br/>防止同步包洪水（Sync Flood）<br/># iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT<br/>也有人写作<br/>#iptables -A INPUT -p tcp –syn -m limit –limit 1/s -j ACCEPT<br/>–limit 1/s 限制syn并发数每秒1次，可以根据自己的需要修改<br/>防止各种端口扫描<br/># iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT<br/>Ping洪水攻击（Ping of Death）<br/># iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT<br/># Null Scan(possibly)XiKc.om<br/>iptables -A INPUT -i eth0 -p tcp –tcp-flags ALL NONE -j DROP<br/><br/>#ubuntu保存与开机加载<br/>iptables-save > iptables.up.rules<br/>cp iptables.up.rules /etc/<br/>vi /etc/network/interfaces<br/><br/>iptables-save > iptables.up.rules cp iptables.up.rules /etc/ vi /etc/network/interfaces<br/><br/>#在interfaces末尾加入<br/>pre-up iptables-restore < /etc/iptables.up.rules<br/>pre-up iptables-restore < /etc/iptables.up.rules<br/><br/>#也可以设置网卡断开的rules。<br/>post-down iptables-restore < /etc/iptables.down.rules<br/>post-down iptables-restore < /etc/iptables.down.rules <br/>[code]<br/>#保存<br/>service iptables save<br/>强制所有的客户机访问192.168.1.100这个网站<br/>iptables -t nat -I PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 192.168.1.100 (PREROUTING和DNAT一起使用,POSTROUTING和SNAT一起使用)<br/>发布内网的web服务器192.168.1.10<br/>iptables -t nat -I PREROUTING -p tcp –dport 80 -j DNAT –to-destination 192.168.1.10<br/>端口映射到内网的3389<br/>iptables -t nat -I PREROUTING -p tcp –dport 3389 -j DNAT –to-destination 192.168.1.10:3389<br/><br/>Tags - <a href="http://www.dzhope.com/tags/iptables/" rel="tag">iptables</a> , <a href="http://www.dzhope.com/tags/iptables%25E5%25B8%25B8%25E7%2594%25A8%25E8%25A7%2584%25E5%2588%2599/" rel="tag">iptables常用规则</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] Linux的iptables常用配置范例（2）]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>