<?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常用配置范例（3）]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Fri, 01 Apr 2011 17:08:02 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	编辑/etc/rc.local，加入iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE，外网口eth1为dhcp获得IP。<br/><br/>进入本机的数据包为INPUT，从本机发送出去的数据包为OUTPUT，只是路由的包为FORWARD；防火墙就是基于这3个过滤点来操作的。<br/><br/>对于包的操作有：目标（Target）、丢弃（DROP）、接受（ACCEPT）、弹回（REJECT）、日志（LOG）……等等，比如iptables -A INPUT -p icmp -j DROP（-A代表添加到的过滤点 -p针对的协议类型；此条命令的作用是禁ping），通常是拒绝所有，再一个一个的打开。<br/><br/>iptables -F 清空所有规则<br/><br/>iptables -A INPUT -p tcp -d 10.0.0.1 –dport 21 -j DROP （本机地址为10.0.0.1，此条规则为拒绝所有发送到本机TCP 21端口的数据包，即关闭FTP服务）<br/><br/>iptables -A INPUT -p tcp -s 10.0.0.1 –dport 21 -j DROP （此条规则为拒绝所有发送至10.0.0.1的TCP 21端口的数据包）<br/><br/>==================================<br/><br/>(本机，即服务器的地址为10.0.0.1)<br/><br/>iptables -A INPUT -p tcp -d 10.0.0.1 –dport 22 -j ACCEPT #允许别人访问22端口<br/><br/>iptables -A OUTPUT -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT #和自己建立过22端口连接的包才给与回应，防止病毒利用22端口，不允许本地22端口主动产生包发出去<br/><br/>iptables -A INPUT -p tcp –sport 22 -m state –state ESTABLISHED -j ACCPET #只接收ssh服务回应自己SSH请求的回应包<br/><br/>iptables -P INPUT DROP #丢弃所有的input包<br/><br/>iptables -P OUTPUT DROP #丢弃所有的OUTPUT包<br/><br/>iptables -P FORWARD DROP #丢弃所有的FORWARD包<br/><br/>iptables -L -n #查看所有链路信息，如果再加“–line-numbers”则显示编号<br/><br/>iptables -A INPUT -p tcp -d 10.0.0.1 –dport 80 -j ACCEPT #允许别人访问80端口<br/><br/>iptables -A OUTPUT -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT #和自己建立过80端口连接的包才给与回应，防止病毒利用80端口，不允许本地80端口主动产生包发出去<br/><br/>iptables -A OUTPUT -p udp -s 10.0.0.1 –dport 53 -j ACCEPT #允许向DNS服务器发送同步数据包<br/><br/>iptables -A OUTPUT -p udp –sport 53 -j ACCEPT #对于自己53端口发送的请求包通过（自己是DNS服务器时）<br/><br/>iptables -A INPUT-p udp –dport 53 -j ACCEPT #允许别人访问自己的53端口（自己是DNS服务器时）<br/><br/>iptables -A INPUT -p udp –sport 53 -j ACCEPT #允许接收DNS服务器的返回包<br/><br/>iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许自己通过环回口访问自己的所有服务<br/><br/>iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许自己通过环回口访问自己的所有服务<br/><br/>iptables -I INPUT 1 -p tcp –dport 22 -j LOG –log-level 5 –log-prefix “iptables:” #为22端口的INPUT包增加日志功能，插在input的第1个规则前面，一定要保证在提交到日志之前，没有相同接收或者丢弃包<br/><br/>vi /etc/syslog.conf #编辑日志配置文件，添加kern.=notice&nbsp;&nbsp; /var/log/firewall.log（log-level 5为notice，详情man syslog）<br/><br/>service syslog restart #重启日志服务<br/><br/>tail /var/log/firewall.log -f #查看日志<br/><br/>iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT #从局域网发给互联网的包全部转发<br/><br/>iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT #从互联网发送给局域网的包全部转发<br/><br/>还需要打开/proc/sys/net/ipv4/ip_forward 让里面的值变为1（默认值是0），打开转发，此方法是临时生效<br/><br/>vi /ect/sysctl.conf #打开系统配置文件，编辑net.ipv4.ip_forward = 1，此方法是永久生效<br/><br/>iptables -t nat -L -n #查看iptables的nat表<br/><br/>service iptables save #永久性的保存规则，等同于iptables-save > /etc/sysconfig/iptables<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常用配置范例（3）]]></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>