📄 计算机世界网-使用iptables轻松建立防火墙.htm
字号:
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>[root@jd root]#</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD
class=a14>在使用过程中,如果想查看iptables提供的选项,可在运行该命令时加上-h参数,这样,你将得到和以下类似信息:</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>[root@jd root]# /sbin/iptables -h</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>iptables v1.2.1</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>Usage: iptables -[ADC] chain rule-specification
[options]</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>iptables -[RI] chain rulenum rule-specification
[options]</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>iptables -D chain rulenum
[options]</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>iptables -[LFZ] [chain] [options]</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>………</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>Commands:</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>Either long or short options are
allowed.</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>--append -A chain Append to chain</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>--delete -D chain Delete matching rule from
chain</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>………</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>在本文中,我不对各选项做详细的介绍,如果想了解更进一步的用法,建议参阅Linux 2.4 Packet
Filtering HOWTO:</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14><A
href="http://netfilter.samba.org/unreliable-guides/packet-filtering-HOWTO/">http://netfilter.samba.org/unreliable-guides/packet-filtering-HOWTO/</A></TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD
class=a14>在创建一个个人或者桌面防火墙时,我们有一个非常简单的规则,那就是如果你不打算使用的端口,就不要打开它。比如,如果不是Web站点,就没有必要打开80端口,如果不准备使用telnet(事实上,现在我们已经没有必要再使用它),就不要打开23端口。</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>要做到这一点,最简单的方法就是输入以下所示的命令:</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>/sbin/iptables -A INPUT -p tcp --syn -j
DROP</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD
class=a14>这行命令使得一个普通的用户可以使用所有Internet的常用功能,可以使用Web浏览、使用ICQ聊天等。而作为外部网,如果想通过TCP/IP连接到这个Linux服务器上,则会被完全拒绝。这对于大部分计算机来说,应该是一个比较合理的解决办法。</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD
class=a14>不过,Linux最大的好处之一就是远程管理能力,而现在最流行的远程管理的方式是通过SSH套件。SSH默认使用的是22端口,所以我们只要打开22端口,而其它的所有端口依然关闭即可。要做到这一点,我们可以使用以下的命令:</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>/sbin/iptables -A INPUT -p tcp --syn
--destination-port 22 -j ACCEPT</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>/sbin/iptables -A INPUT -p tcp --syn -j
DROP</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD
class=a14>除非是公共服务器,否则最好不要让所有的人都可以通过22端口连接你的服务器。我们可以进行一下限制,只让指定的地址可以访问该机器。这做到这一点,只需加上-s选项,具体命令如下:</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>/sbin/iptables -A INPUT -p tcp --syn -s
192.168.1.110/32 --destination-port 22 -j ACCEPT</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>/sbin/iptables -A INPUT -p tcp --syn -j
DROP</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>增加的-s
192.168.1.110/32将只让IP地址为192.168.1.110的远程机器可以连接到这台被保护的主机上。</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD
class=a14>当建好一个基于iptables的防火墙之后,上述的每一行就会被依次读入。我们以上所做的是建一个防火墙,使得主机只能通过SSH来访问。一般来说,运行公共的Web服务器时,我们就可以通过以下命令来实现:</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>/sbin/iptables -A INPUT -p tcp --syn -s
192.168.1.110/32 --destination-port 22 -j ACCEPT</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>/sbin/iptables -A INPUT -p tcp --syn
--destination-port 80 -j ACCEPT</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=a14>/sbin/iptables -A INPUT -p tcp --syn -j
DROP</TD></TR></TBODY></TABLE>
<TABLE width="100%">
<TBODY>
<TR>
<TD
class=a14>我在这儿只介绍了iptables的一个简单应用,并没有介绍防火墙的一些关键应用,主要目的是让读者对iptables有一个大概了解。总之,如果你使用的Linux内核是2.4以上的,那么你就应该好好认识一下iptables。</TD></TR></TBODY></TABLE><BR>
<TABLE width="100%">
<TBODY>
<TR>
<TD align=right>(网页编辑:<A
href="mailto:wang_fang@ccw.com.cn">风之翼</A>)</TD></TR></TBODY></TABLE></TD>
<TD class=a1 bgColor=#f46240> </TD>
<TD vAlign=top align=right width=138>
<TABLE width="98%">
<TBODY>
<TR>
<TD>频道全文检索</TD></TR>
<TR>
<TD><INPUT onfocus="this.value=''" size=15 value=频道内检索
name=textfile> <INPUT type=image
src="计算机世界网-使用iptables轻松建立防火墙.files/jian.gif" align=absMiddle
border=0 name=I1> </TD></TR></TBODY></TABLE></FORM>
<FORM name=srch onsubmit="JavaScript:return chk()"
action=/search/which.asp method=post>
<TABLE width="100%">
<TBODY>
<TR>
<TD><SELECT size=1 name=func> <OPTION value=2
selected>主题检索</OPTION> <OPTION value=1>周报全文检索</OPTION> <OPTION
value=3>模糊词检索</OPTION></SELECT></TD></TR>
<TR>
<TD><INPUT onfocus="this.value=''" size=15 value=输入待检索的词
name=SrchStr> <INPUT type=image
src="计算机世界网-使用iptables轻松建立防火墙.files/jian.gif" align=absMiddle
border=0 name=I1> </TD></TR></TBODY></TABLE>
<SCRIPT language=JavaScript>
function chk()
{if (!document.srch.SrchStr.value){
alert("请输入需检索的词!");
document.srch.SrchStr.focus();
return false;
}
else{if (document.srch.SrchStr.value.length>30){
alert("检索的词请不要超过30个字符!");
document.srch.SrchStr.focus();
return false;
}
}
}
</SCRIPT>
</FORM>
<TABLE width="100%">
<TBODY>
<TR>
<TD class=f colSpan=2><B>相关文章</B></TD></TR>
<TR>
<TD vAlign=top><IMG
src="计算机世界网-使用iptables轻松建立防火墙.files/jiao.gif"></TD>
<TD><A
href="http://www.ccw.com.cn/htm/net/seminar/01_9_18_2.asp">用防火墙构筑银行安全屏障</A></TD></TR>
<TR>
<TD vAlign=top><IMG
src="计算机世界网-使用iptables轻松建立防火墙.files/jiao.gif"></TD>
<TD><A
href="http://www.ccw.com.cn/htm/net/seminar/01_9_12_2.asp">如何配置Linux中的IP
Masq防火墙?</A></TD></TR>
<TR>
<TD vAlign=top><IMG
src="计算机世界网-使用iptables轻松建立防火墙.files/jiao.gif"></TD>
<TD><A
href="http://www.ccw.com.cn/htm/net/seminar/01_8_13_2.asp">IP防火墙——“黑客愁”</A></TD></TR>
<TR>
<TD vAlign=top><IMG
src="计算机世界网-使用iptables轻松建立防火墙.files/jiao.gif"></TD>
<TD><A
href="http://www.ccw.com.cn/htm/net/seminar/01_8_10_3.asp">安氏新型防火墙—LinkTrust
Cyberwall</A></TD></TR>
<TR>
<TD vAlign=top><IMG
src="计算机世界网-使用iptables轻松建立防火墙.files/jiao.gif"></TD>
<TD><A
href="http://www.ccw.com.cn/htm/app/topic/01_8_9_5.asp">防火墙:永恒的安全策略</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TABLE><BR>
<TABLE width=680 align=center>
<TBODY>
<TR>
<TD align=right>
<FORM name=mail onsubmit="JavaScript: return chkField(this)"
action=/pub/subMail.asp method=post><INPUT type=hidden value=28867
name=rec> 您的姓名:<INPUT size=10 name=myName> 您朋友的E-mail:<INPUT size=10
name=friendMail> <INPUT type=submit value=推荐给好友> </FORM></TD></TR>
<TR>
<TD align=right><B>[<A href="javascript:window.close()">关闭窗口</A>]</B>
</TD></TR></TBODY></TABLE>
<SCRIPT language=javascript>function chkField(fmObj)
{if (!fmObj.friendMail.value){
alert("请输入您朋友的E-mail!");
fmObj.friendMail.focus();
return false;
}
return true;
}
</SCRIPT>
<TABLE width=680 align=center>
<TBODY>
<TR>
<TD>
<HR width=660 color=#f46240 SIZE=1>
</TD></TR></TBODY></TABLE><BR>
<P align=center>Copyright(C) ccw.com.cn,All rights reserved</P>
<P align=center><B>中国计算机世界出版服务公司版权所有</B></P></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -