📄 1621.html
字号:
放在一个可执行的shell脚本中,通过修改脚本管理规则,并且通过执行shell<br>
脚本添加规则。<br>
#touch /etc/rc.d/rc.myfirewall<br>
#chmod u+x /etc/rc.d/rc.myfirewall<br>
<br>
通过vi管理规则<br>
#./rc.myfirewall导入规则<br>
脚本的格式:<br>
/sbin/ipchains 规则<br>
<br>
2.定义全局变量<br>
EXTERNAL_INTERFACE="202.116.0.1"<br>
LAN1_INTERFACE="192.116.1.1"<br>
LAN2_INTERFACE="192.116.2.1"<br>
LOOPBACK_INTERFACE="lo"<br>
3.由于我们采用了"除了明确允许,否则拒绝"的策略,我们的防火墙的初始化部分<br>
如下:<br>
<br>
#Set the policy<br>
/sbin/ipchains -P input DENY<br>
/sbin/ipchains -P output DENY<br>
/sbin/ipchains -P forward DENY<br>
<br>
#Flush the chains<br>
/sbin/ipchains -F input<br>
/sbin/ipchains -F output<br>
/sbin/ipchains -F forward<br>
<br>
#other Firewall rules<br>
<br>
4.为了安全可以启动必要的日记记录;<br>
并通过添加用户自定义链优化规则。<br>
<br>
四、实验设计和测试<br>
下面按照上面的要求,设计了实验的案例。请注意,实验过程基本上是顺序进<br>
行,因为后一个案例可能依赖于前一个的完成。<br>
<br>
1.本地环路访问<br>
原理:由于我们的默认为拒绝所有包,环路接口的数据包也被拒绝,为了能使用<br>
系统日记、X Windows和其他本地UNIX域及基于socket的服务,<br>
必须允许这些数据报通过。<br>
规则:<br>
ipchains -A input -i $LOOKBACK_INTERFACE -j ACCEPT<br>
ipchains -A output -i $LOOKBACK_INTERFACE -j ACCEPT<br>
测试:<br>
ping 202.116.0.1 [ok]<br>
ping 127.0.0.1 [ok]<br>
<br>
2.允许内部机器访问Internet<br>
原理:由于内部网使用的不是合法IP,所以无法直接访问Internet,数据包会<br>
被eth0被丢弃。我们使用用到Ip隐藏或Ip欺骗技术,实现单个IP的共享,<br>
即NAT(Net Address Transporting)。其原理是:LAN的数据<br>
报从内部网关上的输出队列转到外部网卡的输入队列前,数据报的源地址<br>
被替换为外部网卡IP即202.116.0.1,再传到Internet上。<br>
规则:<br>
#只允许Internet对外部卡的访问:<br>
ipchains -A output -i eth0 -s EXTERNAL_INTERFACE all -d 0/0 all -j ACCEPT<br>
ipchains -A input -i eth0 -s 0/0 all -d EXTERNAL_INTERFACE all -j ACCEPT<br>
#外部卡上的IP隐藏:<br>
ipchains -A forward -i eth0 -s $LAN1_INTERFACE/24 -j MASQ<br>
ipchains -A forward -i eth0 -s $LAN2_INTERFACE/24 -j MASQ<br>
<br>
#允许LAN1访问所有外部IP:<br>
ipchians -A output -i eth1 -s 0/0 all -d 0/0 all -j ACCEPT<br>
ipchians -A input -i eth1 -s 0/0 all -d 0/0 all -j ACCEPT<br>
<br>
#允许LAN2访问所有外部IP:<br>
ipchians -A output -i eth2 -s 0/0 all -d 0/0 all -j ACCEPT<br>
ipchians -A input -i eth2 -s 0/0 all -d 0/0 all -j ACCEPT<br>
测试:<br>
【192.168.1.2】:ping InternetIP [ok]<br>
【192.168.2.2】:ping InternetIP [ok]<br>
<br>
3.内部多个LAN的相互访问<br>
原理:要求LAN1,LAN2能不需要Ip隐藏地互相访问,只要网关支持转发就可<br>
以。<br>
<br>
规则:<br>
#允许从内部网1到内部网2访问:<br>
ipchains -A output -i eth1 -s $LAN1_INTERFACE/24 -d $LAN2_INTERFACE/24 -j ACCEPT<br>
ipchains -A input -i eth1 -s $LAN2_INTERFACE/24 -d $LAN1_INTERFACE/24 -j ACCEPT<br>
ipchains -A forward -i eth1 -s $LAN1_INTERFACE/24 -d $LAN2_INTERFACE/24 -j ACCEPT<br>
<br>
#允许从内部网2到内部网1访问:<br>
ipchains -A output -i eth2 -s $LAN1_INTERFACE/24 -d $LAN2_INTERFACE/24 -j ACCEPT<br>
ipchains -A input -i eth2 -s $LAN2_INTERFACE/24 -d $LAN1_INTERFACE/24 -j ACCEPT<br>
ipchains -A forward -i eth2 -s $LAN1_INTERFACE/24 -d $LAN2_INTERFACE/24 -j ACCEPT<br>
<br>
测试:<br>
【192.168.1.2上】:ping 192.168.2.3 [ok]<br>
【192.168.2.2上】:ping 192.168.1.3 [ok]<br>
<br>
4.允许Internet对内部服务www的访问<br>
原理:外部机器无法访问到内部服务,可以使用代理;另种方法就是利用端<br>
口转发了。端口转发是在IP层内核一级重写数据包,所以应用级代理<br>
更加稳定可靠,速度更快。而且可以在防火墙外部地址上使用IP别名<br>
处理更多的端口转发请求(如若有多台WWW服务器).<br>
<br>
在访问过程中分为(见下图),外部机器对内部机器的服务请求及外部机<br>
器对请求的相应, 所以同时用到前面的Masquareding和<br>
Port Forwarding。<br>
<br>
<br>
LAN 数据报 |---MASQ---| Internet数据报<br>
(www相应)[srcIP:192.168.0.1]-->| Firewall |--> [srcIP:202.116.0.1]<br>
(www请求)[dIP:192.168.0.1:80]<-|-Port FW--|<-[srcIP:202.116.0.1:80]<br>
<br>
Linux7.1已经有一个端口转发模块ip_masq_portfw,但是配置和管<br>
理却是通过第三方程序ipmasqadm,可以在下面FTP上找到 ipmasqadm RPM包。<br>
ftp://ftp.redhat.com/pub/contrib/libc6/i386/<br>
ipmasqadm-0.4.6.i386.rpm<br>
<br>
规则:<br>
由于有了前面“允许内部机器访问Internet”的配置,我们所要做的就是启<br>
动外部接口的端口转发规则:<br>
/usr/sbin/ipmasqadm portfw -a -P tcp /<br>
- L EXTENAL_INTERFACE 80 -R 192.168.1.2 80<br>
五、后记<br>
ipchains配置比较简单,安全性也比较强,但是随着netfilter的出现,尤其是<br>
由于netfilter 允许建立状态防火墙,能够过滤TCP标志任意组合报文,还能够过滤<br>
MAC地址,所以比ipchains具有的优势。所以会有越来越多的管理员转而使用<br>
Netfilter.<br>
<br>
</FONT><br>
</TD>
</TR>
<TR>
<TD colSpan=2><FONT
class=middlefont></FONT><BR>
<FONT
class=normalfont>全文结束</FONT> </TD>
</TR>
<TR>
<TD background="images/dot.gif" tppabs="http://www.linuxhero.com/docs/images/dot.gif" colSpan=2
height=10></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD>
<TD vAlign=top width="20%"
background="images/line.gif" tppabs="http://www.linuxhero.com/docs/images/line.gif" rowSpan=2>
<DIV align=center>
<table class=tableoutline cellspacing=1 cellpadding=4
width="100%" align=center border=0>
<tr class=firstalt>
<td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colspan=2 height=21>
<font class=normalfont><b>所有分类</b></font></td>
</tr>
<tr class=secondalt> <td noWrap width=27%> <font class=normalfont>1:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type1.html" tppabs="http://www.linuxhero.com/docs/type1.html">非技术类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>2:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>3:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type3.html" tppabs="http://www.linuxhero.com/docs/type3.html">指令大全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>4:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type4.html" tppabs="http://www.linuxhero.com/docs/type4.html">shell</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>5:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>6:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type6.html" tppabs="http://www.linuxhero.com/docs/type6.html">xwindow</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>7:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type7.html" tppabs="http://www.linuxhero.com/docs/type7.html">kde</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>8:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type8.html" tppabs="http://www.linuxhero.com/docs/type8.html">gnome</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>9:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type9.html" tppabs="http://www.linuxhero.com/docs/type9.html">输入法类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>10:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type10.html" tppabs="http://www.linuxhero.com/docs/type10.html">美化汉化</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>11:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type11.html" tppabs="http://www.linuxhero.com/docs/type11.html">网络配置</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>12:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type12.html" tppabs="http://www.linuxhero.com/docs/type12.html">存储备份</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>13:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type13.html" tppabs="http://www.linuxhero.com/docs/type13.html">杂项工具</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>14:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>15:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>16:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type16.html" tppabs="http://www.linuxhero.com/docs/type16.html">内核技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>17:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type17.html" tppabs="http://www.linuxhero.com/docs/type17.html">速度优化</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>18:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type18.html" tppabs="http://www.linuxhero.com/docs/type18.html">apache</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>19:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type19.html" tppabs="http://www.linuxhero.com/docs/type19.html">email</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>20:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type20.html" tppabs="http://www.linuxhero.com/docs/type20.html">ftp服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>21:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type21.html" tppabs="http://www.linuxhero.com/docs/type21.html">cvs服务</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>22:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type22.html" tppabs="http://www.linuxhero.com/docs/type22.html">代理服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>23:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type23.html" tppabs="http://www.linuxhero.com/docs/type23.html">samba</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>24:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>25:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type25.html" tppabs="http://www.linuxhero.com/docs/type25.html">网络过滤</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>26:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type26.html" tppabs="http://www.linuxhero.com/docs/type26.html">其他服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>27:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type27.html" tppabs="http://www.linuxhero.com/docs/type27.html">nfs</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>28:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type28.html" tppabs="http://www.linuxhero.com/docs/type28.html">oracle</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>29:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type29.html" tppabs="http://www.linuxhero.com/docs/type29.html">dhcp</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>30:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>31:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type31.html" tppabs="http://www.linuxhero.com/docs/type31.html">php</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>32:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type32.html" tppabs="http://www.linuxhero.com/docs/type32.html">ldap</a></font></td> </tr> </table></td></tr> </table>
</DIV></TD></TR>
<TR vAlign=top>
<TD width="80%">
<DIV align=center><BR>
</DIV>
</TD></TR></TBODY></TABLE></TD></TR>
</TABLE></TD></TR>
</TABLE>
<TABLE cellSpacing=0 cellPadding=4 width="100%" bgColor=#eeeeee
border=0><TBODY>
<TR>
<TD width="50%">
<P><FONT class=middlefont>版权所有 © 2004 <A
href="mailto:bjchenxu@sina.com">linux知识宝库</A><BR>
违者必究. </FONT></P>
</TD>
<TD width="50%">
<DIV align=right><FONT class=middlefont>Powered by: <A
href="mailto:bjchenxu@sina.com">Linux知识宝库</A> Version 0.9.0 </FONT></DIV>
</TD></TR></TBODY></TABLE>
<CENTER></CENTER></TD></TR>
</TABLE></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -