跳转到内容

Linux 网络/入门指南

来自 Wikibooks,开放世界中的开放书籍

在开始构建或配置您的网络之前,您需要一些东西。其中最重要的是

当前内核源代码(可选)

[编辑 | 编辑源代码]

请注意

大多数当前发行版都启用了网络功能,因此可能不需要重新编译内核。如果您使用的是知名硬件,应该没问题。例如:3COM 网卡、NE2000 网卡或英特尔网卡。但是,如果您发现自己需要更新内核,则提供以下信息。

由于您当前运行的内核可能尚不支持您想要使用的网络类型或网卡,因此您可能需要内核源代码,以便您可以使用适当的选项重新编译内核。

对于 Redhat、Caldera、Debian 或 Suse 等主要发行版的用户来说,情况不再如此。只要您保持在主流硬件范围内,就不需要重新编译内核,除非您需要非常特定的功能。

您始终可以从 ftp.cdrom.com 获取最新的内核源代码。这不是官方网站,但它们拥有大量的带宽,并且允许大量用户使用。官方网站是 kernel.org,但如果可以,请使用上面的网站。请记住,ftp.kernel.org 严重超负荷。使用镜像。

通常内核源代码将被解压缩到 /usr/src/linux 目录中。有关如何应用补丁和构建内核的信息,您应该阅读 Kernel-HOWTO。有关如何配置内核模块的信息,您应该阅读 Modules mini-HOWTO。此外,内核源代码中的 README 文件和 Documentation 目录对于勇敢的读者来说非常有用。

除非另有说明,我建议您坚持使用标准内核版本(版本号中第二位为偶数的版本)。开发版本内核(第二位为奇数的版本)可能存在结构性或其他更改,这些更改可能会导致与系统上的其他软件一起使用时出现问题。如果您不确定是否可以解决这些问题以及其他潜在的软件错误,那么请不要使用它们。

另一方面,这里描述的一些功能是在 2.1 内核的开发过程中引入的,因此您必须做出选择:您可以坚持使用 2.0,同时等待 2.2 和更新的发行版,其中包含每个新工具,或者您可以获取 2.1,并寻找利用新功能所需的各种支持程序。当我写这篇文章时,在 1998 年 8 月,2.1.115 是最新的版本,2.2 预计很快就会出现。

当前网络工具。

[编辑 | 编辑源代码]

网络工具是用于配置 Linux 网络设备的程序。这些工具允许您将地址分配给设备并配置路由,例如。大多数现代 Linux 发行版都附带网络工具,因此,如果您已经从发行版安装了系统,但尚未安装网络工具,那么您应该这样做。

如果您没有从发行版安装,则需要自己获取并编译工具。这并不难。

网络工具现在由 Bernd Eckenfels 维护,可在以下网站获取:ftp.inka.de,并在以下网站镜像:ftp.uk.linux.org。您也可以从 net-tools-1.51-3.i386.rpm 获取最新的 RedHat 包。

请务必选择最适合您要使用的内核的版本,并按照软件包中的说明进行安装。

要安装和配置编写时的当前版本,您需要执行以下操作

              user% tar xvfz net-tools-1.33.tar.gz
              user% cd net-tools-1.33
              user% make config
              user% make
              root# make install

或者使用 RedHat 包

              root# rpm -U net-tools-1.51-3.i386.rpm

此外,如果您打算配置防火墙或使用 IP 伪装功能,则需要 ipfwadm 命令。最新版本可从以下网站获取:ftp.xos.nl。同样,有许多版本可用。请务必选择最接近您的内核版本的版本。请注意,Linux 的防火墙功能在 2.1 开发过程中发生了变化,并在内核的 v2.2 中被 ipchains 取代。ipfwadm 仅适用于内核版本 2.0。以下发行版已知使用内核版本 2.0 或更低版本。

              Redhat 5.2 or below
              Caldera pre version 2.2
              Slackware pre version 4.x
              Debian pre version 2.x

要安装和配置编写时的当前版本,您需要阅读位于 Linux 文档项目中的 IPChains 指南

请注意,如果您运行的是内核版本 2.2(或 2.1 后期版本),ipfwadm 不是配置防火墙的正确工具。此版本的 NET-3-HOWTO 目前不处理新的防火墙设置。如果您需要有关 ipchains 的更详细信息,请参阅上述内容。

网络应用程序

[编辑 | 编辑源代码]

网络应用程序是诸如 telnet 和 ftp 之类的程序以及它们各自的服务器程序。David Holland 一直在管理这些程序中最常见的程序的发布,现在由 [email protected] 维护。您可以从以下网站获取该发布:ftp.uk.linux.org。

IPv4 地址详解

[编辑 | 编辑源代码]

互联网协议地址由四个字节组成。惯例是用所谓的“点分十进制记法”来编写地址。在这种形式中,每个字节都被转换为十进制数(0-255),丢弃任何前导零(除非数字为零),并使用“.”字符分隔每个字节。按照惯例,主机或路由器的每个接口都有一个 IP 地址。在某些情况下,同一 IP 地址可以在单个机器的每个接口上使用,但通常每个接口都会有自己的地址。

互联网协议网络是 IP 地址的连续序列。网络中的所有地址在地址中都有几个数字是相同的。所有地址在网络中共享的那部分地址称为地址的“网络部分”。其余数字称为“主机部分”。所有地址在网络中共享的位数称为网络掩码,它确定哪些地址属于它所应用的网络,哪些地址不属于。例如,考虑以下内容


            -----------------  ---------------
            Host Address       192.168.110.23
            Network Mask       255.255.255.0
            Network Portion    192.168.110.
            Host portion                  .23
            -----------------  ---------------
            Network Address    192.168.110.0
            Broadcast Address  192.168.110.255
            -----------------  ---------------


任何与网络掩码进行“按位与”运算的地址将显示它所属网络的地址。因此,网络地址始终是网络地址范围内编号最低的地址,并且始终将地址的主机部分编码为全零。

广播地址是一个特殊地址,网络上的每个主机除了它自己的唯一地址之外,还会监听该地址。如果网络上的每个主机都应该接收数据报,则数据报将发送到该地址。某些类型的数据(如路由信息和警告消息)将传输到广播地址,以便网络上的每个主机都可以同时接收它。广播地址应该是什么有两个常用的标准。最广泛接受的一种是使用网络上的最高地址作为广播地址。在上面的示例中,这将是 192.168.110.255。出于某种原因,其他站点采用了使用网络地址作为广播地址的约定。在实践中,使用哪一个并不重要,但您必须确保网络上的每个主机都配置了相同的广播地址。

出于管理原因,在 IP 协议开发的早期,一些地址的任意组被形成网络,而这些网络又被分组到所谓的类别中。这些类别提供了可以分配的许多标准尺寸网络。分配的范围是


       ----------------------------------------------------------
       | Network | Netmask       | Network Addresses            |
       | Class   |               |                              |
       ----------------------------------------------------------
       |    A    | 255.0.0.0     | 0.0.0.0    - 127.255.255.255 |
       |    B    | 255.255.0.0   | 128.0.0.0  - 191.255.255.255 |
       |    C    | 255.255.255.0 | 192.0.0.0  - 223.255.255.255 |
       |Multicast| 240.0.0.0     | 224.0.0.0  - 239.255.255.255 |
       ----------------------------------------------------------


您应该使用哪些地址取决于您正在做的事情。您可能需要结合使用以下活动来获取所需的所有地址


在现有的 IP 网络上安装 Linux 机器

     If you wish to install a linux machine onto an existing IP
     network then you should contact whoever administers the network
     and ask them for the following information:


  ·  Host IP Address
  ·  IP network address
  ·  IP broadcast address
  ·  IP netmask
  ·  Router address
  ·  Domain Name Server Address


     You should then configure your linux network device with those
     details.  You can not make them up and expect your configuration
     to work.


构建一个永远不会连接到互联网的新网络"

如果您正在构建一个私有网络,并且从未打算将该网络连接到互联网,那么您可以选择任何您喜欢的地址。但是,出于安全性和一致性的原因,一些 IP 网络地址专门为此目的而保留。这些在 RFC1597 中指定,如下所示:


          -----------------------------------------------------------
          |         RESERVED PRIVATE NETWORK ALLOCATIONS            |
          -----------------------------------------------------------
          | Network | Netmask       | Network Addresses             |
          | Class   |               |                               |
          -----------------------------------------------------------
          |    A    | 255.0.0.0     | 10.0.0.0    - 10.255.255.255  |
          |    B    | 255.255.0.0   | 172.16.0.0  - 172.31.255.255  |
          |    C    | 255.255.255.0 | 192.168.0.0 - 192.168.255.255 |
          -----------------------------------------------------------


您应该首先确定您希望网络有多大,然后选择您所需的地址。

华夏公益教科书