Next Previous Contents

8. Linux 对网路互连的支援

Linux 的网路功能包罗万项。 一部 Linux 机器, 可以被建构成路由器 (router), 桥接器 (bridge), ..等等。 特将一些可选用的网路功能描述於下:

8.1 路由器 (Router)

Linux 的核心有内建的路由选择 (routing) 功能。 一部 Linux 机器, 可以被建构成一台 IP 或 IPX 路由器 (router) 他的花费仅是商业路由器 (router) 的零头而已。 最近发表的核心, 包含了一些特殊的功能选项, 都是用来设定路由器 (router) 的:

还有一些相关的计划, 包括一个主要目标在, 只要使用一片软碟就可以执行 Linux 路由器 (router) 的计划: Linux router project

8.2 桥接器 (Bridge)

Linux 的核心有内建的乙太网路桥接器 (ethernet bridge) 支援, 他的作用就是让连接过来, 不同乙太网区段 (Ethernet segments) 上面的各个节点, 使用起来感觉就像是, 在同一个乙太网路上。 多部桥接器 (Bridge) 放在一起, 再加上 IEEE802.1 标准的 spanning tree 演算法的使用, 可以建构一个更大的乙太网路。正如他是一个标准, Linux 桥接器 (bridge) 有了他之後, 可与其他第三协力厂商的桥接器 (bridge) 产品正常地互接。

还有的程式套件, 可以过滤 IP, IPX 或 MAC 位址。

相关的 How-tos 请参考:

8.3 IP-伪装 (Masquerading) 功能

IP 伪装在 Linux 上是一个发展中的网路功能。 如果一部 Linux 主机连接至 Internet , 而且其 IP 伪装功能被开启, 则连上他的其他电脑 (不论是在相同的 LAN 上, 或是透过数据机连上来的) 就算是他们没有使用正式分配的 IP 位址, 都同样可以通达 Internet。 他降低了上网的费用, 因为可以多人使用同一条数据机连线来上 Internet, 同时他也增加了安全性 (从某些方面来看, 他的功能像是一个防火墙 (firewall), 因为外界网路无法连接, 非正式分配的 IP 位址)。

IP 伪装的相关网页与文件:

8.4 IP-计帐 (Accounting) 功能

这也是个 Linux 核心的选用功能。他被使用在 IP 网路流量的追踪, 封包的记录, 以及产生一些统计的结果。 你可以定义一系列的规则, 以便当比对到某种样式的封包时, 就增加计数器的数值。 例如, 这个封包是被接受/拒绝的..等等。

8.5 IP 别名(aliasing) 功能

这个 Linux 核心所提供的功能, 使得我们可以在同一个低阶网路装置的驱动程式下, 设定多重的网路位址 (例如, 在一片乙太网路卡装置上, 设定二个 IP 位址)。 通常我们会依照, 伺服器程式所监看网路位址的不同, 而来区分不同的服务功能 (例如 "多重主机 (multihosting)" 或 "虚拟网域 (virtual domains)" 或 "虚拟主机服务 (virtual hosting services)" )。

相关的 How-to 请参考:

8.6 网路流量控制 (Traffic Shaping) 功能

网路流量控制功能, 是一种虚拟的网路服务, 他可以限制输出到另一个网路装置的资料流速率。 这个功能在某些场合 (像是 ISP) 特别有用, 他被拿来控制与执行, 限制每个使用者可以使用多少频宽的策略。 另一个用途 (仅限於网页服务) 就是某些 Apache 的模组, 可以拿来限制客户端建立 IP 连线的个数, 或是频宽的使用量。

8.7 防火墙 (Firewall) 功能

防火墙是一个将私有网路, 从公众□围 (整个网际网路) 保护与独立出来的装置。 他的设计使他能够, 依据每个封包所含之来源位址, 目的位址, 埠, 以及封包形态等资讯, 来控制封包的流通与否。

Linux 上存在有不同类型的防火墙工具套件 (toolkits) , 同时核心也有内建的防火墙支援。 除了核心内建的支援外, 还有 TIS 和 SOCKS 二种防火墙工具套件。 这二种防火墙工具套件非常完整, 若能与其他工具合并使用, 则可阻断/重导各类的网路流量与协定。 而且经由设定档案或 GUI 程式, 可以实作出不同的网路流量控制策略。 相关资料请参考:

8.8 埠转递 (Port Forwarding) 功能

有互动交谈能力网页站台越来越多了, 他们使用 cgi-bins 或 Java applets 程式, 来存取资料库或其他服务。 因为这类存取方式, 可能造成安全上的问题, 所以资料库所在的机器, 不应该直接连上 Internet。

埠转递功能对这类存取问题, 提供了一个还算理想的解决方案。 透过防火墙, 进入到特定埠编号的 IP 封包, 可以被改写, 然後转递到内部实际提供服务的伺服器上。 内部伺服器所回覆的封包也会被改写, 使得他看起来是来自防火墙。

埠转递的相关资料可以在 这个地方 找到。

8.9 负载均衡 (Load Balancing) 功能

通常资料库/网页的存取, 在多个用户端同时向一个伺服器提出服务要求时, 会有负载均衡的需求。 负载均衡的功能, 需要有多部相同的伺服器, 并将服务要求转送到负载较轻的伺服器上去。 我们可以透过网路位址转换 ( Network Address Translation, 简称 NAT ) 技术的子功能 IP 伪装来达到这个目的。 网路管理者可以用一个逻辑的伺服器集合, 来共享同一个 IP 位址的做法, 取代过去仅使用单一伺服器, 提供网页服务 - 或其他应用 - 的方式。 藉著使用负载均衡的演算方法, 将任何进来的连线要求, 转向至特定的伺服器上去。 这个虚拟的伺服器, 会改写进来与出去的封包, 所以用户端对伺服器的存取是透通的, 他们会以为只有一台伺服器。

Linux IP-NAT 的相关资料可以在 这个地方 找到。

8.10 EQL (串列连线的负载均衡驱动程式)

EQL 已被整合到 Linux 的核心中。 如果你有二条串列连线接到其他电脑 ( 这通常需要二部数据机和二门电话线路 ) ,而且你在线路上面使用 SLIP 或 PPP ( 可以在电话线路上, 传递 Internet 流量的通讯协定 ), 此时使用 EQL 驱动程式就可以将二条串列连线, 看成一条二倍速的连线。 当然, 另外一端也必须支援这个功能才可以。

相关的 How-to 请参考:

8.11 代理伺服器 (Proxy Server)

proxy (代理) 这个词汇的意义就是 "代替某些人做某些事"。在网路的用语中, 代理伺服器就是一部可以代替许多用户端做事情的电脑。 HTTP proxy 就是一部专门接收别台机器 (机器 A) 所发出网页要求的机器。 代理伺服器会取得这份网页, 并将结果传回机器 A。 代理伺服器可以将这份网页, 存到快取记忆体 (cache) 中, 如果其他机器所要求的网页, 在快取记忆体中正好有一份复本, 则只会将该复本传回。 这使得网路频宽资源能够有效运用, 而且降低了网页回覆的时间。 副作用就是, 用户端机器无法直接连线到外面世界的网路, 而这个副作用却成为内部网路保密的方法。 一个设定完善的代理伺服器, 就像是一部功能优良的防火墙。

在 Linux 上存在有数种代理伺服器。 一个普遍的解决方案就是 Apache 的 proxy 模组。另一个更完整与稳定的 HTTP proxy 工具程式就是 SQUID 。

相关的资料请参考:

8.12 随选拨接 (Diald on demand) 功能

随选拨接 (dial on demand) 功能, 使得电话拨接动作完全通透, 使用者只会看到有一条固定的网路线路, 被连接到远端的站台。 通常, 他会有一个监控程式来监看封包的流量。当 "感兴趣" 的封包 ( 所谓的 "感兴趣" 通常是由一套 规则/优先权/权限 来定义) 一抵达, 他就会与远端建立网路连线。而当通道□置一段时间後, 就会停掉网路的连线。

相关的 How-to 请参考:

8.13 建立通讯协定隧道, 机动式电脑 IP 路由选择协定 (Mobile-IP) 与虚拟私有网路(Virtual Private Networks, 简称 VPN)

Linux 核心允许我们建立通讯协定隧道 (也就是说将通讯协定封装起来)。 他可以在 IP 网路连线上建立 IPX 隧道, 这使得二个 IPX 网路可以透过唯一的 IP 网路连线互接。他也可以建立 IP-IP 隧道, 基本上是使用在 "机动式电脑 IP 路由选择协定" 的支援, 多目的传播的支援, 以及业馀无线电网路。 (请参考网页 http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO-6.html#ss6.13)

"机动式电脑 IP 路由选择协定" 主要是针对 Internet 上机动式电脑的路由选择作特别的设计, 使得我们在传送 IP "资料片段" (datagrams) 到机动式电脑时, 完全通透而不受影响。 每个机动式电脑的识别方式, 都是以他的 "原始位址" (home address) 来做为标记, 而与他目前连接到 Internet 的那个节点无关。 当机动式电脑不在他原始的位址上时, 他会回传一个 "中介位址" (care-of address), 经由 "中介位址" 便可以知道该机动式电脑, 目前连接到 Internet 的那个节点。 机动式电脑透过此协定向 "原始位址处理机构" (home agent) 注册 "中介位址"。 而 "资料片段" 会透过 "原始位址处理机构" 的 IP-IP 隧道, 传送至 "中介位址" 上去。 当资料抵达隧道的末端时, 每个 "资料片段" 会再传递至机动式电脑上去。

点对点隧道通讯协定 (Point-to-Point Tunneling Protocol, 简称 PPTP) 就是在 Internet 上使用保密的虚拟私有网路 (VPN) 的一种网路技术。 目前 Windows NT 伺服器, 已将 PPTP 与 "远端存取服务" (RAS) 伺服器整合在一起。 透过 PPTP, 使用者可利用电话拨接至当地的 ISP, 或直接连上 Internet, 来取用自己公司的网路服务, 使用起来感觉就好像是, 坐在自己的办公桌前一样。 然而 PPTP 是一个封闭的通讯协定, 而且他的保密性最近也正遭受到质疑。 所以我还是强烈建议各位, 使用其他在 Linux 平台上的解决方案, 因为 Linux 上的解决方案, 使用的是开放的标准, 并且都经过仔细的检查与测试。

Mobile IP 相关文件: VPN 相关文件:


Next Previous Contents