分类: LINUX
2008-12-03 21:11:27
2003 年 3 月 01 日
IBM 电子商务架构师 Chris Walden 将通过他在 developerWorks 上发表的九篇系列文章来指导您如何在 Linux 环境中运用您的 Windows 操作技巧。本部分将探讨网络,这是 Linux 做得最好的方面之一。
在如今这个时代,运行一台没有连接到网络的计算机几乎是难以想像的。电子邮件、Web 浏览和文件共享像打印和查看屏幕上的信息一样,都是用户所期待的。
幸运的是,Liunx 从一开始就是为网络而开发的。事实上,网络是 Linux 做得最好的事情之一。Linux 支持诸如TCP/IP 和 SMB(NetBIOS)等流行的网络协议。Linux 还具有用于监控和过滤网络流量的成熟工具。诸如 FTP、Windows 文件和打印共享以及 Web 托管等服务也是可用的。Linux 甚至还提供了用于集中目录服务、虚拟专用网(VPN)和远程过程调用的工具。
Linux 能够使用具有驱动程序的任何网络硬件。Linux 驱动程序单独地或以可加载模块的形式编译到内核中。Linux 内核默认支持许多流行的网卡。在选择网络硬件时,最好总是使用“硬件兼容性列表”(参见 参考资料中的链接)中列出的设备。另外还要使用最新的 Linux 发行版本。
一般情况下,如果使用的是兼容的网络硬件,安装系统时网卡会自动得到识别。可以使用
ifconfig
命令来检查系统上的网络硬件。默认情况下,
ifconfig
显示活动的网络设备。给这个命令添加一个
-a
开关就能看到所有设备。
refname: ifconfig-a |
在上面的清单中,系统中只有一块网卡,标识为 eth0。
lo
适配器是一个回环(lookback),由 Linux 用来与它自身通信。后面还会进一步讨论
ifconfig
命令。
Linux 网络设备在配置时被赋予别名,该别名由一个描述性的缩略词和一个编号组成。某种类型的第一个设备的编号为 0,其他设备依次被编号为 1、2、3,等等。在给设备命名时将使用下面的约定。本信息摘自 Linux Network Administrator's Guide(参见本文结尾处 参考资料 中的链接)。
还有其他许多可用于其他网络驱动程序的接口类型。我们仅列出了一些最常见的。
既然以太网是最常见的配置,下面就重点来讨论它。欲了解关于其他种类的连接的更多信息,请参见本文结尾处的 参考资料。
|
在安装 Linux 发行版本时,就得配置网络。您或许已经有一个来自初始配置的活动 eth0。这个配置对于当前的使用也许足够,但是您可能需要随着时间的推移做出更改。下面将介绍与 IP 网络相关的不同配置项,以及用于使用这些配置项的文件和工具。
Webmin 在 Networking 下的 Network Configuration 中提供一组优秀的网络配置工具。您可以配置单独的接口并调整它们的当前设置或已保存的设置。还可以配置路由和网关、DNS 客户端设置以及本地主机地址。在编辑好所有的配置之后,可以单击 Apply Configuration来应用它们,不必重新启动系统。
|
每个发行版本都有它自己用于配置网络设置的工具。 应该参考特定发行版本的文档来确定要使用的工具。每种工具提供与 Webmin 工具基本上相同的配置选项。 其中有些版本可能提供特定于该发行版本的选项。
手动配置也是可能的,不过这是一个非常深奥的主题。请参考您的发行版本文档和本文结尾处的 参考资料,以了解关于手动网络配置的更多信息。
|
Linux 附带了许多工具来监控网络任务。
ifconfig
我们在上面使用过
ifconfig
命令来查看以太网卡的状态。然而,
ifconfig
还可以配置设备并报告关于设备的情况。假设您要建立一个临时的网络配置以供测试。您可以使用发行版本中的工具来编辑配置,但是需要注意在完成测试之后,将所有设置恢复回去。通过使用
ifconfig
,我们无需影响已保存的设置,就能够快速地配置网卡:
ipconfig eth0 192.168.13.13 netmask 255.255.255.0 up |
上面这条命令使用一个 C 类 IP 地址将 eth0 设置到地址 192.168.13.13,并确保它正常运行。
ipconfig eth0 down |
上面这条命令将关闭 eth0 设备。关于使用
ifconfig
的完整细节,请参见
info ifconfig
页面。
ifup/ifdown
要使用已保存的配置来激活和禁用网络设备,请分别使用
ifup
和
ifdown
。
# Bring up eth0 using the saved configuration |
netstat
使用
netstat
控制台命令来输出网络连接、路由表、接口统计、伪装连接和组播成员。
netstat
具有多个命令行开关来控制其功能。下面是其中一些常用的开关:
netstat -p
| 显示每个套接字所属的程序的 PID 或名称 |
netstat -a
| 同时显示侦听和非侦听套接字 |
netstat -t
| 显示 TCP 连接 |
netstat -u
| 显示 UDP 连接 |
netstat -e
| 显示附加信息;使用这个选项两次,可以获得最详细的信息 |
下面是
netstat -tp
的一个例子:
[root@cmw-t30 root]# netstat -tp |
我最常使用
netstat
命令来查看处于 LISTEN 或 ESTABLISHED 状态的连接。LISTEN
是系统上的服务,它接受来自其他机器的连接。ESTABLISHED 是您的机器和其他机器之间的活动连接。请确保您知道正在运行的所有 LISTEN
程序。如果看到某些无法识别的内容,它可能就是一个安全顾虑。
netstat
具有许多选项。请在命令行键入
info netstat
来获得该命令的细节。
route
route
控制台命令允许您显示和操作 IP 路由表。
[root@cmw-t30 plugins]# route|grep -v ipsec |
不带命令行开关运行
route
将显示当前路由表。可以使用
route
对该路由表进行非常精细的修改。
route add default gw 10.10.10.1 |
上面的命令添加一个默认的路由(它将在没有其他路由匹配的情况下被使用)。使用这个路由的所有分组都将途经网关“10.10.10.1”。实际将用于该路由的设备取决于我们如何到达“10.10.10.1”——到“10.10.10.1”的静态路由必须预先设置好。
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 |
上面的命令添加一个通过“eth0”到网络 192.56.76.x 的路由。这里的 C 类网络掩码修饰符实际上并不是必需的,因为 192.* 就是一个 C 类 IP 地址。这里的单词“dev”也可以省略。
路由选择是一个非常深奥的主题。关于
route
选项的完整信息可通过
info route
命令获得。
|
Linux 从一开始就是为网络而设计的。它内置了以前仅在高端企业产品中才可见到的成熟功能。然而,尽管拥有所有这些强大的能力,Linux 网络的配置却远没有
Windows 网络的配置复杂。诸如 Webmin、redhat-config-network 和 YAST这样的工具允许执行图形化的配置。诸如
ifconfig
和
route
这样的工具允许通过控制台或脚本查看和修改网络参数。诸如
netstat
这样的工具允许查看单独的网络连接,并显示它们与运行着的进程的关系。