11. 连接到网络

问:如何配置拨号 PPP?
问:如何在 Linux 中使用有线调制解调器?
问:哪里可以找到关于 NFS 兼容性的信息?
问:VFS 代表什么?
问:Linux 可以访问 SMB 文件系统吗?

问:如何配置拨号 PPP?

答:此信息主要适用于没有像 kppppppconfig 这样的封装实用程序,或者无法使这些实用程序正常工作的人员。如果您需要手动配置 PPP 以拨号连接到您的 ISP,您将需要以下信息

  • 您的调制解调器连接到的端口/dev/ttyS0-/dev/ttyS3,它们对应于 MS-DOS 下的 COM1-COM4。

  • 您的 ISP 数据连接的电话号码。

  • 您的 ISP 给您的用户名和密码。

  • 当拨号连接到 ISP 时,您将使用的主域名服务器和可能的辅助域名服务器的 IP 地址。这假设您将不使用安装在系统上的 DNS。

    当您拥有所有这些信息时,请确保程序 pppdchat 至少已正确安装。在大多数当前发行版中,它们安装在/usr/sbin/目录中,您需要以 root 用户身份登录才能使用它们。此外,以下程序也对于配置网络连接、确定网络状态和诊断问题非常有用/sbin/ifconfig, /sbin/route, /bin/ping, /usr/sbin/traceroute。以下是您需要遵循的配置 PPP 的基本步骤。您必须以 root 用户身份登录。

  • 确保串行端口和调制解调器运行正常。使用像 minicommkermit 这样的程序,您应该能够发送AT命令到调制解调器并接收来自调制解调器的OK字符串响应。

  • /etc/resolv.conf文件中,使用点分十进制表示法,以及nameserver标签输入主域名服务器和可能的辅助域名服务器 IP 地址。例如

     order hosts,bind
     nameserver 196.182.101.103
     nameserver 196.182.101.104 

    上面示例中的域名服务器地址仅为示例。它们不对应于实际的网络主机。第一行,order hosts,bind,告诉您的网络软件,当它解析网络域名地址时,首先查找/etc/hosts file,然后使用 bind 服务;即,在以 nameserver 开头的行上指定的 DNS 服务器。

  • 找到 PPP 将用于拨号调制解调器并连接到您的 ISP 的 chat 脚本。在许多系统中,它位于/etc/chatscripts/etc/ppp目录中,并且将被称为provider或类似的名称。您可以将chat脚本存储在任何位置,前提是您告诉 pppd 使用它而不是默认脚本。有关详细信息,请参阅 chatpppd 手册页以及以下信息。这是一个示例chat脚本

    ABORT         BUSY
    ABORT         "NO CARRIER"
    ABORT         VOICE
    ABORT         "NO DIALTONE"
    ""            ATDT<your_isp's_phone_number>
    ogin          <your_user_name>
    word          <your_password>
    

    这是一个用于简单、基于脚本的登录的 chat 程序。chat 程序在每一行上使用字符串对作为匹配/响应对。当它启动时,它发送字符串“ATDT您的_isp_电话号码”,您当然已替换为实际的电话号码。然后它等待字符串ogin(单词login的子字符串)并发送您的用户名。然后它等待wordpassword的子字符串)并发送您的密码。如果您的 ISP 使用不同的登录名和密码提示,以及任何其他提示,您将需要相应地编辑脚本。同样,有关详细信息,请参阅 chat 手册页。

    如果您的 ISP 使用 PAP 或 CHAP 身份验证,您将需要编辑pap-secretschap-secrets文件在/etc/ppp目录中。有关这些文件的手册页以及文件本身中的说明,请参阅手册页。

  • pppd(维护实际连接的程序)的配置通常包含在两到三个单独的文件中。第一个通常是/etc/ppp/options,其中包含您的系统所有 PPP 连接将使用的选项。(是的,您可以有多个;通常与您的计算机具有的串行端口一样多。)

    这是一个示例/etc/ppp/options文件

     #/etc/ppp/options
     asyncmap
     0
     auth
     crtscts
     lock
     noipx
     # ---<End of File>--- 

    这些选项可以放在一行上,也可以每个选项放在单独的行上。许多选项文件更长,并附带每个选项的描述。这里,这些选项的含义依次是:不要在 PPP 客户端和服务器之间重新映射任何字符;在建立连接时始终使用密码、PAP 或 CHAP 身份验证;使用调制解调器的硬件握手线进行流量控制;在使用时锁定串行端口,以便其他程序无法访问它;并且不使用 IPX 网络协议。

  • 对于每个单独的串行端口或 PPP 主机上的连接设置,将有一个/etc/ppp/options.ttyS1,例如,/etc/ttyS1的选项文件,或/etc/ppp/peers目录中您的 ISP 的文件。默认值通常称为/etc/ppp/peers/provider。这是默认provider文件

     noauth
     connect "/usr/sbin/chat -v -f /etc/chatscripts/provider"
     defaultroute
     /dev/ttyS1
     38400
     persist
    

    的示例。在/etc/ppp/peers/provider文件本身中可能对这些和其他选项进行了解释。您也可以参考 pppd 手册页以获取详细信息。简而言之,它们的含义是:不为此连接使用 PAP 身份验证;使用 chat 程序和/etc/chatscripts/provider脚本(如上所述)来拨打电话并登录;将网络默认路由设置为 PPP 连接(因此当您的网络软件需要解析不在您的本地计算机上的网络地址时,它将使用 PPP 连接到 Internet);使用/dev/ttyS1作为连接的串行端口;将调制解调器速度设置为 38400;即使连接失败,也保持 pppd 守护程序运行。

这就是您需要的所有配置。要实际启动和停止 PPP,通常有/usr/bin/pon/usr/bin/poff脚本(在 Debian 中),或类似的东西,它们通常非常简单,并且仅包含命令

 $ /usr/sbin/pppd call ${1:-provider} 

这将启动 pppd 并使用call选项来调用您在命令行上键入的服务器,或者如果您未指定远程服务器,则调用/etc/ppp/peers/provider文件中的提供程序。在拨打电话并登录(大约 30 秒)后,您应该能够使用/sbin/ifconfig程序来确定连接是否真的建立了 PPP 接口(第一个将是ppp0,第二个将是ppp1,等等,具体取决于您同时进行的 PPP 连接数。如果出现问题,您可以查看/var/log/ppp.log文件以确定发生了什么。您还可以在另一个窗口中“tailing”日志时查看日志,即在 pppd 记录连接状态信息时查看日志。为此,请使用命令(同样,以 root 用户身份)

 $ tail -f /var/log/ppp.log 

在某些系统上,PPP 输出被定向到/var/log/messages,在这种情况下,您的系统可能没有专用的 PPP 日志文件。

您还应该能够 ping 您的 ISP 的域名之一(例如,mail.isp.com)并收到响应。

这些是配置 PPP 连接的最基本步骤。您还需要考虑可能存在的其他网络连接(例如,如果以太网连接已分配了默认路由),以及 ISP 端的各种安全措施。如果您在建立拨号连接时遇到问题,通常确定可能出现问题最佳方法是使用 Seyon、minicomm、kermit 或其他程序手动拨号并登录到 ISP,并确定您到底需要做什么才能登录,然后在 PPP 脚本中复制该操作。

大多数 Linux 文档也包含用于配置 PPP 连接的其他说明。

请参阅 哪里可以找到 Linux FTP 档案?哪里可以找到文档?

问:如何在 Linux 中使用有线调制解调器?

答:http://www.cablemodeminfo.com 上的 www.CablemodemInfo.com 和 xDSL 网页有一个专门针对 Linux 的部分。

另请参阅 LDP 上的 Cable-Modem-HOWTO

问:哪里可以找到关于 NFS 兼容性的信息?

答:请参阅NFS-HOWTO以获取最新信息。

答:此信息部分摘自 Nicolai Langfeldt 出色的 NFS HOWTO,并且截至 1999 年 10 月 1 日是最新的

大多数 2.2.x 内核需要一组补丁来安装 knfsd 子系统(由 H.J. Lu 维护),以便与 Sparc、IBM RS 和 Alpha 机器以及可能的其他机器进行有效(甚至根本无法)通信。此软件包实际上是内核源代码的补丁集合。2.4 内核中包含对非 Intel 架构的更好支持。

还有一个用户空间服务器。虽然它缺少远程文件锁定,但它更容易安装。它可能同样有效。

在最近的内核发行版的Documentation/Changes中,有一个 knfsd 服务器和用户空间服务器的 URL 列表。

对于较旧的 Solaris 版本,客户端或服务器计算机上缺少statdlockd可能会导致不兼容。在某些版本的 Solaris 上,statd可用于利用 automounter 的功能。Sun 发布了一个补丁来纠正此问题,但statd仍然需要在这些系统上由 root 启动。在最近的 Solaris 系统上,请参阅/etc/dfs/dfstabshare(1M)手册页中的信息以启用卷共享。此外,rpcinfo程序可以告诉您本地或远程计算机上是否可用statdlockd

linux-kernel邮件列表一直在断断续续地讨论 NFS 子系统的状态,该子系统似乎正在快速变化。

[Nicolai Langfeldt, Robert Kiesling, Anders Hammarquist]

问:VFS 代表什么?

答:虚拟文件系统。它是用户和真实文件系统(如 ext2MinixMS-DOS)之间的抽象层。 除此之外,它的工作是在检测到软盘驱动器上的磁盘更改时刷新读取缓冲区。

 VFS: Disk change detected on device 2/0 

问:Linux 可以访问 SMB 文件系统吗?

答:Linux 支持对 Windows for Workgroups 和 Windows NT SMB 卷的读/写访问。请参阅 Linux 内核源代码发行版的 Documentation/filesystems/smbfs.txt 文件,以及 如何升级/重新编译内核

还有一套名为 Samba 的程序,它们为 WfW 网络文件系统提供支持(前提是它们用于 TCP/IP)。信息可在README文件中找到,位于metalab.unc.edu/pub/Linux/system/network/samba/.

SMB 网站是 http://www.samba.org,并且还有一个网站位于samba.anu.edu.au/samba/.