## 4.4 常见问题说明
其实这个小节也很重要的!因为可以让你在念完理论后,了解一下如何利用那些概念来查询你的网络设定问题喔! 底下我们就针对几个常见的问题来说说看吧!
* * *
### 4.4.1 内部网域使用某些联机服务(如 FTP, POP3)所遇到的联机延迟问题
你或许曾经听过这样的问题:『我在我的内部区域网域内有几部计算机, 这几部计算机明明都是在同一个网域之内,而且系统通通没有问题,为什么我使用 pop3 或者是 ftp 连上我的 Linux 主机会停顿好久才连上?但是连上之后,速度就又恢复正常!』
由于网络在联机时,两部主机之间会互相询问对方的主机名配合的 IP ,以确认对方的身份。 在目前的因特网上面,我们大多使用 Domain Name System (DNS) 系统做为主机名与 IP 对应的查询,那就是我们在上面提到的 /etc/resolv.conf 档案内设定的 IP 由来, 如果没有指定正确的 DNS IP 的话,那么我们就无法查询到主机名与 IP 的对应了。
公开的因特网可以这样设定,但是如果是我们内部网域的私有 IP 主机呢? 因为是私有 IP 的主机,所以当然无法使用 /etc/resolv.conf 的设定来查询到这部主机的名称啊! 那怎么办?要知道,如果两部主机之间无法查询到正确的主机名与 IP 的对应, 那么将『可能』发生持续查询主机名对应的动作,这个动作一般需要持续 30-60 秒,因此,你的该次联机将会持续检查主机名 30 秒钟,也就会造成奇怪的 delay 的情况。
这个问题最常发生在内部的 LAN ,例如使用 192.168.1.1 的主机联机到 192.168.1.2 的主机。 这个问题虽然可以透过修改软件的设定来略过主机名的检查,但是绝大多数的软件都是默认启用这个机制的, 因此,内部主机『老是联机时期很慢,联机成功后速度就会恢复正常』 时,通常就是这个问题啦!尤其是在 FTP 及 POP3 等网络联机软件上最常见。
那么如何避过这个情况?最简单的方法就是『给予内部的主机每部主机一个名称与 IP 的对应』即可。举例来说,我们知道每部主机都有一个主机名为 localhost ,对应到 127.0.0.1 ,为什么呢?因为这个 127.0.0.1 与 localhost 的对应就被写到 /etc/hosts 内嘛! 当我们需要主机名与 IP 的对应时,系统就会先到 /etc/hosts 找寻对应的设定值, 如果找不到,才会使用 /etc/resolv.conf 的设定去因特网找。这样说,你明白了吧? 也就是说,只要修改了 /etc/hosts,加入每部主机与 IP 的对应, 就能够加快主机名的检查啰!
了解了吗?所以说,你就要将你的 私有 IP 的计算机与计算机名称写入你的 /etc/hosts 当中了!这也是为啥我们在主机名设定的地方, 特别强调第五个检查步骤的缘故。我们来看一看 /etc/hosts 原本的设定内容吧!
```
[root@www ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
# 主机的 IP 主机的名称 主机的别名
```
在上面的情况中很容易就发现了设定的方法了吧!很简单吧!没错!那就是 IP 对应主机名啦! 那么现在知道为什么我们给他 ping localhost 的时候,地址会写出 127.0.0.1 了吧! 那就是写在这个档案中的啦!而且 localhost 那一行不能拿掉呦! 否则系统的某些服务可能就会无法被启动!好了!那么将我局域网络内的所有的计算机 IP 都给他写进去!并且,每一部给他取一个你喜欢的名字, 即使与 client 的计算机名称设定不同也没关系啦! 以鸟哥为例,如果我还额外加设了 DHCP 的时候,那么我就干脆将所有的 C Class 的所有网段全部给他写入 /etc/hosts 当中,有点像底下这样:
```
[root@www ~]# vim /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.1.1 + linux001
192.168.1.2 + linux002
192.168.1.3 + linux003
.........
.........
192.168.1.254 linux254
```
如此一来,不论我哪一部计算机连上来,不论是在同一个网段的哪一个 IP , 我都可以很快速的追查到!嘿嘿!那么区内网络互连的时候,就不会多等个好几时秒钟啰!
* * *
### 4.4.2 网址列无法解析问题
很多朋友常问的一个问题『咦!我可以拨接上网了,也可以 ping 到奇摩雅虎的 IP ,但为何就是无法直接以网址连上 Internet 呢!』嘿!被气死! 前面不是一直强调那个 DNS 解析的问题吗?对啦!就是名称解析不对啦!赶快改一下 /etc/resolv.conf 这个档案吧!改成上层 ISP 给你的 DNS 主机的 IP 就可以啦!例如 Hinet 的 168.95.1.1 及 Seednet 的 139.175.10.20 啰!例如底下的范例(这个范例就可以照抄了! ^_^):
```
[root@www ~]# vi /etc/resolv.conf
nameserver 168.95.1.1
nameserver 139.175.10.20
```
朋友们常常会在这个地方写错,因为很多书上都说这里要设定成为 NAT 主机的 IP , 那根本就是不对的!你应该要将所有管理的计算机内,关于 DNS 的设定都直接使用上面的设定值即可! 除非你的上层环境有使用防火墙,那才另外考虑!
* * *
### 4.4.3 预设路由的问题
记得我们在前两章提到的网络基础当中,不是讲了很多预设路由 (default gateway) 相关的说明吗? 预设路由通常仅有一个,用来做为同一网域的其他主机传递非本网域的封包网关。 但我们也知道在每个网络配置文件案 (/etc/sysconfig/network-scripts/ifcfg-ethx) 内部都可以指定『 GATEWAY 』这个参数,若这个参数重复设定的话,那可就麻烦啦!
举例来说,你的 ifcfg-eth0 用来做为内部网域的沟通,所以你在该档案内设定 GATEWAY 为你自己的 IP , 但是该主机为使用 ADSL 拨接,所以当拨接成功后会产生一个 ppp0 的接口,这个 ppp0 接口也有自己的 default gateway ,好了,那么当你要将封包传送到 Yahoo 这个非为本网域的主机时, 这个封包是要传到 eth0 还是 ppp0 呢?因为两个都有 default gateway 啊!
没错!很多朋友就是这里搞不懂啦!常常会错乱~所以,请注意, 你的 default gateway 应该只能有一个, 如果是拨接,请不要在 ifcfg-eth0 当中指定 GATEWAY或 GATEWAYDEV 等变量,重要重要!
更多的网络除错请参考后续[第六章 Linux 网络侦错](http://linux.vbird.org/linux_server/0150detect_network.php)的说明。
* * *
- 鸟哥的Linux私房菜:服务器架设篇 第三版
- 第一部份:架站前的进修专区
- 作者序
- 第一章、架设服务器前的准备工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架设服务器流程
- 1.3 自我评估是否已经具有架站的能力
- 1.4 本章习题
- 第二章、基础网络概念
- 2.1 网络是个什么玩意儿
- 2.2 TCP/IP 的链结层相关协议
- 2.3 TCP/IP 的网络层相关封包与数据
- 2.4 TCP/IP 的传输层相关封包与数据
- 2.5 连上 Internet 前的准备事项
- 2.6 重点回顾:
- 2.7 本章习题
- 2.8 参考数据与延伸阅读
- 第三章、局域网络架构简介
- 3.1 局域网络的联机
- 3.2 本书使用的内部联机网络参数与通讯协议
- 第四章、连上 Internet
- 4.1 Linux 连上 Internet 前的注意事项
- 4.2 连上 Internet 的设定方法
- 4.3 无线网络--以笔记本电脑为例
- 4.4 常见问题说明
- 4.5 重点回顾
- 4.6 本章习题
- 4.7 参考数据与延伸阅读
- 第五章、 Linux 常用网络指令
- 5.1 网络参数设定使用的指令
- 5.2 网络侦错与观察指令
- 5.3 远程联机指令与实时通讯软件
- 5.4 文字接口网页浏览
- 5.5 封包撷取功能
- 5.6 重点回顾
- 5.7 本章习题
- 5.8 参考数据与延伸阅读
- 第六章、 Linux 网络侦错
- 6.1 无法联机原因分析
- 6.2 处理流程
- 6.3 本章习题
- 6.4 参考数据与延伸阅读
- 第二部分:主机的简易资安防护措施
- 第七章、网络安全与主机基本防护:限制端口, 网络升级与 SELinux
- 7.1 网络封包联机进入主机的流程
- 7.2 网络自动升级软件
- 7.3 限制联机埠口 (port)
- 7.4 SELinux 管理原则
- 7.5 被攻击后的主机修复工作
- 7.6 重点回顾
- 7.7 课后练习
- 7.8 参考数据与延伸阅读
- 第八章、路由观念与路由器设定
- 8.1 路由
- 8.2 路由器架设
- 8.3 动态路由器架设:quagga (zebra + ripd)
- 8.4 特殊状况:路由器两边界面是同一个 IP 网段: ARP Proxy
- 8.5 重点回顾
- 8.6 本章习题
- 8.7 参考数据与延伸阅读
- 第九章、防火墙与 NAT 服务器
- 9.1 认识防火墙
- 9.2 TCP Wrappers
- 9.3 Linux 的封包过滤软件:iptables
- 9.4 单机防火墙的一个实例
- 9.5 NAT 服务器的设定
- 9.6 重点回顾
- 9.7 本章习题
- 9.8 参考数据与延伸阅读
- 第十章、申请合法的主机名
- 10.1 为何需要主机名
- 10.2 注册一个合法的主机名
- 10.3 重点回顾
- 10.4 本章习题
- 10.5 参考数据与延伸阅读
- 第三部分:局域网络内常见的服务器架设
- 第十一章、远程联机服务器SSH / XDMCP / VNC / RDP
- 11.1 远程联机服务器
- 11.2 文字接口联机服务器: SSH 服务器
- 11.3 最原始图形接口: Xdmcp 服务的启用
- 11.4 华丽的图形接口: VNC 服务器
- 11.5 仿真的远程桌面系统: XRDP 服务器
- 11.6 SSH 服务器的进阶应用
- 11.7 重点回顾
- 11.8 本章习题
- 11.9 参考数据与延伸阅读
- 第十二章、网络参数控管者: DHCP 服务器
- 12.1 DHCP 运作的原理
- 12.2 DHCP 服务器端的设定
- 12.3 DHCP 客户端的设定
- 12.4 DHCP 服务器端进阶观察与使用
- 12.5 重点回顾
- 12.6 本章习题
- 12.7 参考数据与延伸阅读
- 第十三章、文件服务器之一:NFS 服务器
- 13.1 NFS 的由来与其功能
- 13.2 NFS Server 端的设定
- 13.3 NFS 客户端的设定
- 13.4 案例演练
- 13.5 重点回顾
- 13.6 本章习题
- 13.7 参考数据与延伸阅读
- 第十四章、账号控管: NIS 服务器
- 14.1 NIS 的由来与功能
- 14.2 NIS Server 端的设定
- 14.3 NIS Client 端的设定
- 14.4 NIS 搭配 NFS 的设定在丛集计算机上的应用
- 14.5 重点回顾
- 14.6 本章习题
- 14.7 参考数据与延伸阅读
- 第十五章、时间服务器: NTP 服务器
- 15.1 关于时区与网络校时的通讯协议
- 15.2 NTP 服务器的安装与设定
- 15.3 客户端的时间更新方式
- 15.4 重点回顾
- 15.5 本章习题
- 15.6 参考数据与延伸阅读
- 第十六章、文件服务器之二: SAMBA 服务器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服务器的基础设定
- 16.3 Samba 客户端软件功能
- 16.4 以 PDC 服务器提供账号管理
- 16.5 服务器简单维护与管理
- 16.6 重点回顾
- 16.7 本章习题
- 16.8 参考数据与延伸阅读
- 第十七章、区网控制者: Proxy 服务器
- 17.1 什么是代理服务器 (Proxy)
- 17.2 Proxy 服务器的基础设定
- 17.3 客户端的使用与测试
- 17.4 服务器的其他应用设定
- 17.5 重点回顾
- 17.6 本章习题
- 17.7 参考数据与延伸阅读
- 第十八章、网络驱动器装置: iSCSI 服务器
- 18.1 网络文件系统还是网络驱动器
- 18.2 iSCSI target 的设定
- 18.3 iSCSI initiator 的设定
- 18.4 重点回顾
- 18.5 本章习题
- 18.6 参考数据与延伸阅读
- 第四部分:常见因特网服务器架设
- 第十九章、主机名控制者: DNS 服务器
- 19.1 什么是 DNS
- 19.2 Client 端的设定
- 19.3 DNS 服务器的软件、种类与 cache only DNS 服务器设定
- 19.4 DNS 服务器的详细设定
- 19.5 协同工作的 DNS: Slave DNS 及子域授权设定
- 19.6 DNS 服务器的进阶设定
- 19.7 重点回顾
- 19.8 本章习题
- 19.9 参考数据与延伸阅读
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服务器之三: FTP 服务器
- 21.1 FTP 的数据链路原理
- 21.2 vsftpd 服务器基础设定
- 21.3 客户端的图形接口 FTP 联机软件
- 21.4 让 vsftpd 增加 SSL 的加密功能
- 21.5 重点回顾
- 21.6 本章习题
- 21.7 参考数据与延伸阅读
- 第二十二章、邮件服务器: Postfix
- 22.1 邮件服务器的功能与运作原理
- 22.2 MTA 服务器: Postfix 基础设定
- 22.3 MRA 服务器: dovecot 设定
- 22.4 MUA 软件:客户端的收发信软件
- 22.5 邮件服务器的进阶设定
- 22.6 重点回顾
- 22.7 本章习题
- 22.8 参考数据与延伸阅读