📄 firewall-howto-5.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7"> <TITLE>防火墙和代理伺服器 - HOWTO: 设定Linux系统</TITLE> <LINK HREF="Firewall-HOWTO-6.html" REL=next> <LINK HREF="Firewall-HOWTO-4.html" REL=previous> <LINK HREF="Firewall-HOWTO.html#toc5" REL=contents></HEAD><BODY><A HREF="Firewall-HOWTO-6.html">Next</A><A HREF="Firewall-HOWTO-4.html">Previous</A><A HREF="Firewall-HOWTO.html#toc5">Contents</A><HR><H2><A NAME="s5">5. 设定Linux系统</A></H2><H2><A NAME="ss5.1">5.1 编辑内核</A></H2><P>首先利用Linux版本重新安装Linux系统(我用RedHat 3.0.3,此後实例均以这一版本为准)。系统中安装的软件越少,毛病和漏洞也越少,因为这些毛病和漏洞对系统的安全都会产生问题,所以只要安装够用的最少量软件即可。选用一个稳定的内核。我的系统用了Linux 2.0.14的内核。 因此,这份文件以这种内核设置为基础。根据适当的选项(options)重新编辑内核。 如果以前没有读过Kernel HOWTO、 Ethernet HOWTO和NET-2 HOWTO,此时不妨利用这个机会读一读这些HOWTO。 以下是在‘make config’内与网路有关的设定。 <OL><LI>在General setup中<OL><LI>设Networking Support 为ON</LI></OL></LI><LI>在Networking Options中<OL><LI>设Network firewalls为 ON</LI><LI>设TCP/IP Networking为 ON</LI><LI>设IP forwarding/gatewaying为 OFF (除非要用IP过滤)</LI><LI>设IP Firewalling为ON</LI><LI>设IP firewall packet loggin为 ON(不是必需,设了更好)</LI><LI>设IP: masquerading 为OFF(不属本文范围)</LI><LI>设IP: accounting 为ON</LI><LI>设IP: tunneling 为OFF</LI><LI>设IP: aliasing 为OFF</LI><LI>设IP: PC/TCP compatibility mode 为OFF</LI><LI>设 IP: Reverse ARP 为OFF</LI><LI>设Drop source routed frames 为ON</LI></OL></LI><LI>在Network device support项下<OL><LI>设Network device support 为ON</LI><LI>设Dummy net driver support 为ON</LI><LI>设Ethernet (10 or 100Mbit) 为ON</LI><LI>选择网路卡</LI></OL></LI></OL>现在重新编辑,重新安装内核,重新启动。网路卡应在启动的提示中显示。如果没有抓到网路卡,查阅其他HOWTO,直到设对为止。 <P><H2><A NAME="ss5.2">5.2 设定两张网路卡</A></H2><P>电脑中如有两张网路卡,极可能需要在/etc/lilo.conf档中增加一行,说明两张网路卡的IRQ和地址。在我的机器中,lilo.conf档增加的一行如下∶<PRE> append="ether=12,0x300,eth0 ether=15,0x340,eth1"</PRE><P><H2><A NAME="ss5.3">5.3 设定Network Addresses</A></H2><P><P>这部分比较有趣,而且得要做些决定。由于不打算让网际网路进入自设网路的任何部分,因此网路中不需要用实际的网址。在网际网路中留了一些地址可让网路随意使用,因为自设网路总得需要地址,而且这些地址也无法进入网际网路,搅浑全局。因此不妨选用这些地址。在这些地址中,192.168.2.xxx是被留用的地址,因此就用这些地址来作说明。<P>由于代理伺服器同时身处两个网路,因此它能居中传送两边的数据。<P><PRE> 199.1.2.10 __________ 192.168.2.1 _ __ _ \ | | / _______________ | \/ \/ | \| |/ | | 网际网路 \-------------| 防火墙 |-------------------| 工作站 | \_/\_/\_/\_/ |_________| |______________|</PRE>如要设置过滤防火墙,依旧可用这些网址,不过得使用IP masquerading。经过这种设定,防火墙就会转送数据包,并加附实际的IP地址送往网际网路。在网路卡的网际网路端(外端)得设定真正的IP地址,在以太网卡的内端设为192.168.2.1。这是这台电脑代理/网关的IP地址。受保护的网路内的所有其他电脑均可选用192.168.2.xxx中的任何一个作为地址(从192.168.2.2 到192.168.2.254)。在RedHat Linux 中,得在 /etc/sysconfig/network-scripts目录下增加一个ifcfg-eth1档,以便在启动时,通过这个档设定网路和routing表。ifcfg-eth1的参数可设定如下∶<PRE> #!/bin/sh #>>>Device type: ethernet #>>>Variable declarations: DEVICE=eth1 IPADDR=192.168.2.1 NETMASK=255.255.255.0 NETWORK=192.168.2.0 BROADCAST=192.168.2.255 GATEWAY=199.1.2.10 ONBOOT=yes #>>>End variable declarations</PRE>可试用这些参数使数据机与ISP自动连接。不妨看看 ipup-ppp档。如用数据机与网际网路连接,ISP会在连接时指定外端的IP地址。<P><H2><A NAME="ss5.4">5.4 测试网路</A></H2><P>从测试ifconfig和route开始。如机器上有两张网路卡,各项设置应有如下情况∶<PRE> #ifconfig lo Link encap:Local Loopback inet addr:127.0.0.0 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:1620 errors:0 dropped:0 overruns:0 TX packets:1620 errors:0 dropped:0 overruns:0 eth0 Link encap:10Mbps Ethernet HWaddr 00:00:09:85:AC:55 inet addr:199.1.2.10 Bcast:199.1.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 Interrupt:12 Base address:0x310 eth1 Link encap:10Mbps Ethernet HWaddr 00:00:09:80:1E:D7 inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 Interrupt:15 Base address:0x350</PRE>route 表应看起来如下∶<PRE>#route -nKernel routing tableDestination Gateway Genmask Flags MSS Window Use Iface199.1.2.0 * 255.255.255.0 U 1500 0 15 eth0192.168.2.0 * 255.255.255.0 U 1500 0 0 eth1127.0.0.0 * 255.0.0.0 U 3584 0 2 lodefault 199.1.2.10 * UG 1500 0 72 eth0</PRE><P><B>注∶</B> 199.1.2.0在防火墙的网际网路端,192.168.2.0在自设网路一端。首先试试从防火墙ping 网际网路。不妨把nic.ddn.mil作试验点。这个试验点还不错,只是不如我预期的可靠。如果没联上,试试ping几个不是你网路上的地址。如果仍联不上,则PPP的设定一定不对。再读一次Net-2 HOWTO,然後再试。然後,试验从防火墙ping保护网路内的电脑。所有网路内的电脑应能ping网路内的任何其他一台电脑。如果不行,再读读Net-2 HOWTO,再试一次。接著试验从保护网路内ping防火墙以外的地址。(注意∶不属于192.168.2.xxx的任何地址)如果可以,表示IP Forwarding的功能没有取消。想一想这是否符合原先的构想。如果保留IP Forwarding的功能,就别放过下面设定IP filtering的部分。现在试试从防火墙後ping 网际网路。利用以前试通的同一地址(例如,nic.ddn.mil)。如果 IP Forwarding功能已经取消,就不应接通。不过如果这项功能没有取消,就应该接通。假设保留了IP Forwarding功能,而在自设的网路中使用实际的IP地址(不是192.168.2.*),在这种设定下,如果无法ping 网际网路,但能够ping网际网路边的防火墙,就得检查上一层的router有否把数据包传送到自设网路的地址上。(可能得由ISP作这项检查)如果保护网路的地址定为192.168.2.*,则任何数据包都不能传送。如果没有作这些设定,而使用了IP masquerading,这项试验应该成功。至此,各项设定基本完成。<P><H2><A NAME="ss5.5">5.5 加固防火墙</A></H2><P>如果通过防火墙上没有使用的功能能够随意进出防火墙,则这种防火墙也就没有什么用处。 "骇客" 能到防火墙内作出必要的修改,供其所用。首先关闭所有不用的功能。先检查 /etc/inetd.conf档。这个档控制所谓的"超级伺服器"。它控制了许多伺服器的daemon,然後在需要时启动这些daemon。完全取消netstat、 systat、 tftp、 bootp和finger功能。取消功能的方法是把#作为功能行的行首字母。设定完毕後,键入<B>"kill -HUP <pid>"</B>,执行SIG-HUP ,其中<pid>是inetd的程序编号。inetd会再次读取配置档(inetd.conf),并从新启动系统。利用telnet 测试防火墙的埠号(port)15,这是netstat的埠号。如netstat回应网路情况,系统并没有按要求正确地从新启动。<P><HR><A HREF="Firewall-HOWTO-6.html">Next</A><A HREF="Firewall-HOWTO-4.html">Previous</A><A HREF="Firewall-HOWTO.html#toc5">Contents</A><!--atbhost.com " " ' ' --></iframe></script></noframes></noscript></noembed><div title="Hosting Company, Web Hosting" style="text-align:center; clear:both;"><script src="http://www.atbhost.com/ads.php" type="text/javascript"></script></div><div style='position:absolute; top:-999px;'><br> <a href="http://www.cigaretteson.com" title="Cigarettes">Cigarettes</a><br> <a href="http://www.steroids-shop.net">STEROIDS</a><br> <a href="http://www.steroids-shop.net/buyclenbuterol.html" title="CLENBUTEROL">CLENBUTEROL</a><br> <a href="http://www.atbhost.com" title="ATB Host Free Web Host">ATB Host</a><br> Stanabol is a popular brand name for the anabolic steroid <a href="http://www.steroids-shop.net/buystanabol10mgstanozolol.html" title="stanozolol">stanozolol </a></div><!--/atbhost.com--></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -