📄 networking-overview-howto-8.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>Linux 作业系统网路能力概观: Linux 对网路互连的支援</TITLE> <LINK HREF="Networking-Overview-HOWTO-9.html" REL=next> <LINK HREF="Networking-Overview-HOWTO-7.html" REL=previous> <LINK HREF="Networking-Overview-HOWTO.html#toc8" REL=contents></HEAD><BODY><A HREF="Networking-Overview-HOWTO-9.html">Next</A><A HREF="Networking-Overview-HOWTO-7.html">Previous</A><A HREF="Networking-Overview-HOWTO.html#toc8">Contents</A><HR><H2><A NAME="s8">8. Linux 对网路互连的支援</A></H2><P>Linux 的网路功能包罗万项。一部 Linux 机器, 可以被建构成路由器 (router), 桥接器 (bridge), ..等等。特将一些可选用的网路功能描述於下:<P><H2><A NAME="ss8.1">8.1 路由器 (Router)</A></H2><P>Linux 的核心有内建的路由选择 (routing) 功能。一部 Linux 机器, 可以被建构成一台 IP 或 IPX 路由器 (router)他的花费仅是商业路由器 (router) 的零头而已。最近发表的核心, 包含了一些特殊的功能选项, 都是用来设定路由器 (router) 的:<UL><LI>多目的传播 (Multicasting):可让 Linux 机器成为一个, 将 IP 封包传播到多个目的位址的路由器 (router)。使用 MBONE 时, 就需要这种路由器 (router), MBONE 是 Internet 上, 一种需要高频宽的网路, 他能够载送声音和影像的广播信号。</LI><LI>策略性 IP 路由选择 (IP policy routing):一般路由器 (router) 处理所收到的封包时, 仅以封包的最终目的位址为路由选择的依据,但是路由的选择, 也可以将来源位址与封包所抵达的网路介面, 一起纳入考虑。</LI></UL><P>还有一些相关的计划, 包括一个主要目标在, 只要使用一片软碟就可以执行 Linux 路由器 (router) 的计划: <A HREF="http://www.psychosis.com/linux-router/">Linux router project</A><P><H2><A NAME="ss8.2">8.2 桥接器 (Bridge)</A></H2><P>Linux 的核心有内建的乙太网路桥接器 (ethernet bridge) 支援,他的作用就是让连接过来, 不同乙太网区段 (Ethernet segments) 上面的各个节点,使用起来感觉就像是, 在同一个乙太网路上。多部桥接器 (Bridge) 放在一起, 再加上 IEEE802.1 标准的 spanning tree 演算法的使用, 可以建构一个更大的乙太网路。正如他是一个标准, Linux 桥接器 (bridge) 有了他之後, 可与其他第三协力厂商的桥接器 (bridge) 产品正常地互接。<P>还有的程式套件, 可以过滤 IP, IPX 或 MAC 位址。<P>相关的 How-tos 请参考:<UL><LI><A HREF="http://sunsite.unc.edu/mdw/HOWTO/mini/Bridge+Firewall.html">Bridge+Firewall</A></LI><LI><A HREF="http://sunsite.unc.edu/mdw/HOWTO/mini/Bridge.html">Bridge</A></LI></UL><P><H2><A NAME="ss8.3">8.3 IP-伪装 (Masquerading) 功能</A></H2><P>IP 伪装在 Linux 上是一个发展中的网路功能。 如果一部 Linux 主机连接至 Internet , 而且其 IP 伪装功能被开启,则连上他的其他电脑 (不论是在相同的 LAN 上, 或是透过数据机连上来的)就算是他们没有使用正式分配的 IP 位址, 都同样可以通达 Internet。他降低了上网的费用, 因为可以多人使用同一条数据机连线来上 Internet,同时他也增加了安全性 (从某些方面来看, 他的功能像是一个防火墙 (firewall),因为外界网路无法连接, 非正式分配的 IP 位址)。<P>IP 伪装的相关网页与文件: <UL><LI><A HREF="http://www.tor.shaw.wave.ca/~ambrose/">http://www.tor.shaw.wave.ca/~ambrose/</A></LI><LI><A HREF="http://www.indyramp.com/masq/links.pfhtml">http://www.indyramp.com/masq/links.pfhtml</A></LI><LI><A HREF="http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade.html">http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade.html</A></LI></UL><P><H2><A NAME="ss8.4">8.4 IP-计帐 (Accounting) 功能</A></H2><P>这也是个 Linux 核心的选用功能。他被使用在 IP 网路流量的追踪, 封包的记录, 以及产生一些统计的结果。你可以定义一系列的规则, 以便当比对到某种样式的封包时, 就增加计数器的数值。例如, 这个封包是被接受/拒绝的..等等。<P><H2><A NAME="ss8.5">8.5 IP 别名(aliasing) 功能</A></H2><P>这个 Linux 核心所提供的功能, 使得我们可以在同一个低阶网路装置的驱动程式下, 设定多重的网路位址 (例如, 在一片乙太网路卡装置上, 设定二个 IP 位址)。通常我们会依照, 伺服器程式所监看网路位址的不同, 而来区分不同的服务功能(例如 "多重主机 (multihosting)" 或 "虚拟网域 (virtual domains)" 或 "虚拟主机服务 (virtual hosting services)" )。<P>相关的 How-to 请参考:<UL><LI><A HREF="http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Alias.html">IP Aliasing How-to</A></LI></UL><P><H2><A NAME="ss8.6">8.6 网路流量控制 (Traffic Shaping) 功能</A></H2><P>网路流量控制功能, 是一种虚拟的网路服务, 他可以限制输出到另一个网路装置的资料流速率。这个功能在某些场合 (像是 ISP) 特别有用, 他被拿来控制与执行, 限制每个使用者可以使用多少频宽的策略。另一个用途 (仅限於网页服务) 就是某些 Apache 的模组, 可以拿来限制客户端建立 IP连线的个数, 或是频宽的使用量。<P><H2><A NAME="ss8.7">8.7 防火墙 (Firewall) 功能</A></H2><P>防火墙是一个将私有网路, 从公众□围 (整个网际网路) 保护与独立出来的装置。他的设计使他能够, 依据每个封包所含之来源位址, 目的位址, 埠, 以及封包形态等资讯, 来控制封包的流通与否。<P>Linux 上存在有不同类型的防火墙工具套件 (toolkits) , 同时核心也有内建的防火墙支援。除了核心内建的支援外, 还有 TIS 和 SOCKS 二种防火墙工具套件。这二种防火墙工具套件非常完整, 若能与其他工具合并使用, 则可阻断/重导各类的网路流量与协定。而且经由设定档案或 GUI 程式, 可以实作出不同的网路流量控制策略。相关资料请参考:<UL><LI><A HREF="http://www.tis.com">TIS home page</A></LI><LI><A HREF="http://www.socks.nec.com/socksfaq.html">SOCKS</A></LI><LI><A HREF="http://sunsite.unc.edu/mdw/HOWTO/Firewall-HOWTO.html">Firewall How-to</A></LI></UL><P><H2><A NAME="ss8.8">8.8 埠转递 (Port Forwarding) 功能</A></H2><P>有互动交谈能力网页站台越来越多了, 他们使用 cgi-bins 或 Java applets 程式, 来存取资料库或其他服务。因为这类存取方式, 可能造成安全上的问题, 所以资料库所在的机器, 不应该直接连上 Internet。<P>埠转递功能对这类存取问题, 提供了一个还算理想的解决方案。透过防火墙, 进入到特定埠编号的 IP 封包, 可以被改写, 然後转递到内部实际提供服务的伺服器上。内部伺服器所回覆的封包也会被改写, 使得他看起来是来自防火墙。<P>埠转递的相关资料可以在<A HREF="http://www.ox.compsoc.net/~steve/portforwarding.html">这个地方</A>找到。<P><H2><A NAME="ss8.9">8.9 负载均衡 (Load Balancing) 功能</A></H2><P>通常资料库/网页的存取, 在多个用户端同时向一个伺服器提出服务要求时, 会有负载均衡的需求。负载均衡的功能, 需要有多部相同的伺服器, 并将服务要求转送到负载较轻的伺服器上去。我们可以透过网路位址转换 ( Network Address Translation, 简称 NAT ) 技术的子功能IP 伪装来达到这个目的。 网路管理者可以用一个逻辑的伺服器集合, 来共享同一个 IP位址的做法, 取代过去仅使用单一伺服器, 提供网页服务 - 或其他应用 - 的方式。藉著使用负载均衡的演算方法, 将任何进来的连线要求, 转向至特定的伺服器上去。这个虚拟的伺服器, 会改写进来与出去的封包, 所以用户端对伺服器的存取是透通的,他们会以为只有一台伺服器。<P>Linux IP-NAT 的相关资料可以在<A HREF="http://www.csn.tu-chemnitz.de/~mha/linux-ip-nat/diplom/">这个地方</A>找到。<P><H2><A NAME="ss8.10">8.10 EQL (串列连线的负载均衡驱动程式) </A></H2><P>EQL 已被整合到 Linux 的核心中。 如果你有二条串列连线接到其他电脑 (这通常需要二部数据机和二门电话线路 ) ,而且你在线路上面使用 SLIP 或 PPP( 可以在电话线路上, 传递 Internet 流量的通讯协定 ), 此时使用 EQL 驱动程式就可以将二条串列连线, 看成一条二倍速的连线。当然, 另外一端也必须支援这个功能才可以。<P>相关的 How-to 请参考:<UL><LI><A HREF="http://www.abies.com/eql-howto.mhtml">EQL How-to</A></LI></UL><P><H2><A NAME="ss8.11">8.11 代理伺服器 (Proxy Server)</A></H2><P>proxy (代理) 这个词汇的意义就是 "代替某些人做某些事"。在网路的用语中,代理伺服器就是一部可以代替许多用户端做事情的电脑。 HTTP proxy 就是一部专门接收别台机器 (机器 A) 所发出网页要求的机器。 代理伺服器会取得这份网页, 并将结果传回机器 A。 代理伺服器可以将这份网页, 存到快取记忆体 (cache) 中, 如果其他机器所要求的网页, 在快取记忆体中正好有一份复本, 则只会将该复本传回。这使得网路频宽资源能够有效运用, 而且降低了网页回覆的时间。副作用就是, 用户端机器无法直接连线到外面世界的网路, 而这个副作用却成为内部网路保密的方法。一个设定完善的代理伺服器, 就像是一部功能优良的防火墙。<P>在 Linux 上存在有数种代理伺服器。 一个普遍的解决方案就是Apache 的 proxy 模组。另一个更完整与稳定的 HTTP proxy 工具程式就是 SQUID 。<P>相关的资料请参考:<UL><LI><A HREF="http://www.apache.org">Apache</A></LI><LI><A HREF="http://squid.nlanr.net">Squid</A></LI></UL><P><H2><A NAME="ss8.12">8.12 随选拨接 (Diald on demand) 功能</A></H2><P>随选拨接 (dial on demand) 功能, 使得电话拨接动作完全通透, 使用者只会看到有一条固定的网路线路, 被连接到远端的站台。通常, 他会有一个监控程式来监看封包的流量。当 "感兴趣" 的封包 (所谓的 "感兴趣" 通常是由一套 规则/优先权/权限 来定义) 一抵达, 他就会与远端建立网路连线。而当通道□置一段时间後, 就会停掉网路的连线。<P>相关的 How-to 请参考:<UL><LI><A HREF="http://sunsite.unc.edu/mdw/HOWTO/mini/Diald.html">Diald How-to</A></LI></UL><P><H2><A NAME="ss8.13">8.13 建立通讯协定隧道, 机动式电脑 IP 路由选择协定 (Mobile-IP) 与虚拟私有网路(Virtual Private Networks, 简称 VPN)</A></H2><P>Linux 核心允许我们建立通讯协定隧道 (也就是说将通讯协定封装起来)。他可以在 IP 网路连线上建立 IPX 隧道, 这使得二个 IPX 网路可以透过唯一的 IP网路连线互接。他也可以建立 IP-IP 隧道, 基本上是使用在"机动式电脑 IP 路由选择协定" 的支援, 多目的传播的支援, 以及业馀无线电网路。 (请参考网页 <A HREF="http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO-6.html#ss6.13">http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO-6.html#ss6.13</A>)<P>"机动式电脑 IP 路由选择协定" 主要是针对 Internet 上机动式电脑的路由选择作特别的设计, 使得我们在传送 IP "资料片段" (datagrams) 到机动式电脑时, 完全通透而不受影响。每个机动式电脑的识别方式, 都是以他的 "原始位址" (home address) 来做为标记, 而与他目前连接到 Internet 的那个节点无关。当机动式电脑不在他原始的位址上时, 他会回传一个 "中介位址" (care-of address),经由 "中介位址" 便可以知道该机动式电脑, 目前连接到 Internet 的那个节点。机动式电脑透过此协定向 "原始位址处理机构" (home agent) 注册 "中介位址"。而 "资料片段" 会透过 "原始位址处理机构" 的 IP-IP 隧道, 传送至 "中介位址" 上去。当资料抵达隧道的末端时, 每个 "资料片段" 会再传递至机动式电脑上去。<P>点对点隧道通讯协定 (Point-to-Point Tunneling Protocol, 简称 PPTP)就是在 Internet 上使用保密的虚拟私有网路 (VPN) 的一种网路技术。目前 Windows NT 伺服器, 已将 PPTP 与 "远端存取服务" (RAS) 伺服器整合在一起。透过 PPTP, 使用者可利用电话拨接至当地的 ISP, 或直接连上 Internet,来取用自己公司的网路服务, 使用起来感觉就好像是, 坐在自己的办公桌前一样。然而 PPTP 是一个封闭的通讯协定, 而且他的保密性最近也正遭受到质疑。所以我还是强烈建议各位, 使用其他在 Linux 平台上的解决方案,因为 Linux 上的解决方案, 使用的是开放的标准, 并且都经过仔细的检查与测试。<P><UL><LI>在 Linux 上的 PPTP 用户端工具可在<A HREF="http://www.pdos.lcs.mit.edu/~cananian/Projects/PPTP/">这个地方</A>找到。</LI></UL>Mobile IP 相关文件: <UL><LI> <A HREF="http://www-uk.hpl.hp.com/people/jt/mip.html">http://www-uk.hpl.hp.com/people/jt/mip.html</A></LI><LI> <A HREF="http://anchor.cs.binghamton.edu/~mobileip/">http://anchor.cs.binghamton.edu/~mobileip/</A></LI></UL>VPN 相关文件:<UL><LI> <A HREF="http://sunsite.unc.edu/mdw/HOWTO/mini/VPN.html">http://sunsite.unc.edu/mdw/HOWTO/mini/VPN.html</A></LI><LI> <A HREF="http://sites.inka.de/sites/bigred/devel/cipe.html">http://sites.inka.de/sites/bigred/devel/cipe.html</A></LI></UL><P><P><HR><A HREF="Networking-Overview-HOWTO-9.html">Next</A><A HREF="Networking-Overview-HOWTO-7.html">Previous</A><A HREF="Networking-Overview-HOWTO.html#toc8">Contents</A></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -