《 Linux操作系统》第七讲 网络配置 学时计划:4学时理论,0学时实验 (无实验教学内容) 教学大纲: 1、网络配置文件 2、配置 Linux加入网络 3、网络测试工具 4、讨论与思考 Linux是互联网的产物,这是无可争议的。正是得益于互联网通 信,世界上各地的程序员才能够共同合作开发了 Linux操作系统。也 是因为此, Linux对网络的支持以及对各种网络的适应性都很好,毕 竟 Linux是和互联网共同成长的。 网络功能的实现是 Linux内核最复杂、牵涉最广的一部分。除了 经典的以太网协议(例如TCP、UDP)和相关的IP传输机制之外, Linux 还支持许多其他的互连方案(例如FDDI、ATM)。 Linux也支持大量的 网络硬件设备,例如以太网卡和令牌环网络适配器以及ISDN卡以及 Modem。 Linux关于网络的内容非常多,例如网络子系统的c语言实现的 代码在 Linux内核中占到了15MB。本讲不对具体的内容和实现网络 的每个细节进行介绍,仅简单的介绍如何管理和配置 Linux的网络。 、网络配置文件 在对 Linux进行网络配置之前,首先介绍 Linux中网络配置相关 的一些主要配置文件。了解这些配置文件如何控制和影响网络,是对 自定义 Linux的网络配置的基础。 Linux中关于网络配置的文件主要有7个,分别是/etc/ hosts、 /etc/services /etc/hostname /etc/host. conf /etc/nsswitch conf,/etc/resolv. conf, /etc/networkinterfaces 1|(anx操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
1 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 《Linux 操作系统》第七讲: 网络配置 学时计划:4 学时 理论,0 学时 实验 (无实验教学内容) 教学大纲: 1、网络配置文件 2、配置 Linux 加入网络 3、网络测试工具 4、讨论与思考 Linux 是互联网的产物,这是无可争议的。正是得益于互联网通 信,世界上各地的程序员才能够共同合作开发了 Linux 操作系统。也 是因为此,Linux 对网络的支持以及对各种网络的适应性都很好,毕 竟 Linux 是和互联网共同成长的。 网络功能的实现是 Linux 内核最复杂、牵涉最广的一部分。除了 经典的以太网协议(例如 TCP、UDP)和相关的 IP 传输机制之外,Linux 还支持许多其他的互连方案(例如 FDDI、ATM)。Linux 也支持大量的 网络硬件设备,例如以太网卡和令牌环网络适配器以及 ISDN 卡以及 Modem。 Linux 关于网络的内容非常多,例如网络子系统的 c 语言实现的 代码在 Linux 内核中占到了 15MB。本讲不对具体的内容和实现网络 的每个细节进行介绍,仅简单的介绍如何管理和配置 Linux 的网络。 一、网络配置文件 在对 Linux 进行网络配置之前,首先介绍 Linux 中网络配置相关 的一些主要配置文件。了解这些配置文件如何控制和影响网络,是对 自定义 Linux 的网络配置的基础。 Linux 中关于网络配置的文件主要有 7 个,分别是/etc/hosts、 /etc/services 、 /etc/hostname 、 /etc/host.conf 、 /etc/nsswitch.conf、/etc/resolv.conf、/etc/network/interfaces
1.1/etc/hosts 该文件包含(本地网络中)已知主机的一个列表。如果系统的 IP不是动态获取,就可以使用此文件。对于简单的主机名解析(点 分表示法),在请求DNS或NIS网络名称服务器之前,/etc/ hosts.conf 通常会告诉解析程序先查看此文件。 /etc/ hosts的文件格式是ip地址主机名别名。 zhaodongfeng a Teach Server: cat/etc/hosts 127.0.0.1 1270.1.1 211.69. 22 Hactcm Server 2-2 The following lines are desirable for IPv6 capable hosts fe00: 0 ip6-localnet fi00: 0 ip6-mcastprefix fiO2: 1 ip6-alInodes 1.2/etc/services Internet网络服务文件,将网络服务名转换为端口号/协议。 由 inetd、 telnet、 tcpdump和一些其它程序读取。文件中的每一行 对应一种服务,它由4个字段组成,中间用TAB或空格分隔,分别表 示“服务名称”、“使用端口”、“协议名称”以及“别名”。 /etc/ services的文件格式为 服务端口/端口 类型别名 zhaodongfeng Teach: S cat /etc/services more tcpmux cp TCP port service multiplexer netstat 21/to 21 2《Linux操作系统》讲稿/河南中医学院/阮晓龙/rx@hactcm.edu.cn
2 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 1.1/etc/hosts 该文件包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态获取,就可以使用此文件。对于简单的主机名解析(点 分表示法),在请求DNS或NIS网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看此文件。 /etc/hosts 的文件格式是 ip 地址 主机名 别名。 zhaodongfeng@TeachServer:~$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 ubuntu 211.69.44.22 HactcmServer2-2 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 1.2 /etc/services Internet 网络服务文件,将网络服务名转换为端口号/协议。 由 inetd、telnet、tcpdump 和一些其它程序读取。文件中的每一行 对应一种服务,它由 4 个字段组成,中间用 TAB 或空格分隔,分别表 示“服务名称”、“使用端口”、“协议名称”以及“别名”。 /etc/services 的文件格式为: 服务 端口/端口 类型 别名 zhaodongfeng@TeachServer:~$ cat /etc/services |more tcpmux 1/tcp # TCP port service multiplexer echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users daytime 13/tcp daytime 13/udp netstat 15/tcp … qotd 17/tcp quote ftp 21/tcp fsp 21/udp fspd
SSH Remote login protocol telnet 23/tcp 25/tcp 1.3/etc/hostname 主机名配置文件,该文件只有一行,记录着本机的主机名。 /etc/ hostname的文件格式:主机名。 zhaodongfeng a TeachServer -S cat/etc/hostname TeachServer 1.4/etc/host. conf 当系统中同时存在DNS域名解析和/etc/ hosts主机表机制时, 由该/etc/host.conf确定主机名解释顺序。 zhaodongfeng@ Teach Server: cat/etc/host. conf The" order"line is only used by old versions of the C library order hosts bind #名称解释顺序 multi or #允许主机拥有多个IP地址 spoof on #禁止IP地址欺骗 order是关键字,定义先用本机 hosts主机表进行名称解释,如 果不能解释,再搜索bind名称服务器(DNS) 1.5/etc/nsswitch conf 名称服务交换设定档,此文件控制了数据库搜寻的工作,包括承 认的主机、使用者、群组等。此外,此文件还定义了所要搜寻的数据 库。 zhaodongfeng a Teach Server -S cat /etc/nsswitch conf /etc/nsswitch conf Example configuration of GNU Name Service Switch functionality. If you have the glibc-doc-reference'andinfo' packages installed, try #f 'info libc "Name Service switch" for information about this file hadow 3l(anx操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
3 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp telnet 23/tcp smtp 25/tcp mail … 1.3 /etc/hostname 主机名配置文件,该文件只有一行,记录着本机的主机名。 /etc/hostname 的文件格式:主机名。 zhaodongfeng@TeachServer:~$ cat /etc/hostname TeachServer 1.4 /etc/host.conf 当系统中同时存在 DNS 域名解析和/etc/hosts 主机表机制时, 由该/etc/host.conf 确定主机名解释顺序。 zhaodongfeng@TeachServer:~$ cat /etc/host.conf # The "order" line is only used by old versions of the C library. order hosts,bind #名称解释顺序 multi on #允许主机拥有多个 IP 地址 nospoof on #禁止 IP 地址欺骗 order 是关键字,定义先用本机 hosts 主机表进行名称解释,如 果不能解释,再搜索 bind 名称服务器(DNS)。 1.5 /etc/nsswitch.conf 名称服务交换设定档,此文件控制了数据库搜寻的工作,包括承 认的主机、使用者、群组等。此外,此文件还定义了所要搜寻的数据 库。 zhaodongfeng@TeachServer:~$ cat /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat group: compat shadow: compat
files dns netwo files protocols service 出ms netgroup 例如 l⊥ es dns 指明主机数据库来自两个地方, files(etc/ hosts file)和 DNS,并且 hosts file优先级高于DNS。 1.6/etc/resolv. conf 该文件是DNS域名解析的配置文件,它的格式很简单,每行以 个关键字开头,后接配置参数。 resolv.conf的关键字主要有四个, 分别是 nameserver#定义DNS服务器的IP地址 domain #定义本地域名 sear #定义域名的搜索列表 shortlist#对返回的域名进行排序 例如: zhaodongfeng TeachServer - S cat /etc/resolv. conf nameserver 211. 69.32.58 nameserver 211.6932 48 1.7/etc/network/interfaces 网络接口参数配置文件。 zhaodongfeng Teach Server - S cat /etc/network/interfaces This file describes the network interfaces available on your system and how to activate them For more information, see interfaces(5) auto lo iface lo inet loopback auto etho iface eth0 inet static address 211. 69 44 22 4|am操作系统》讲稿/河南中医学院/阮晓龙/@phactcm.edu.cn
4 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis 例如:hosts: files dns 指明主机数据库来自两个地方,files ( /etc/hosts file) 和 DNS, 并且 hosts file 优先级高于 DNS。 1.6 /etc/resolv.conf 该文件是 DNS 域名解析的配置文件,它的格式很简单,每行以一 个关键字开头,后接配置参数。resolv.conf 的关键字主要有四个, 分别是: nameserver #定义 DNS 服务器的 IP 地址 domain #定义本地域名 search #定义域名的搜索列表 sortlist #对返回的域名进行排序 例如: zhaodongfeng@TeachServer:~$ cat /etc/resolv.conf nameserver 211.69.32.58 nameserver 211.69.32.48 1.7 /etc/network/interfaces 网络接口参数配置文件。 zhaodongfeng@TeachServer:~$ cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 211.69.44.22
boardcask 211 69.32. 255 dns- nameservers2116932.5821169.32482116933.2 dns-search hactcm edu cl eth0表示第一块网卡,10是表示主机的回坏地址。 8不同发型版本的网络配置文件 不同的发型版本,网络配置文件会有不同。关键的网络设备文件 如下表所示。 表7-1网络配置文件 配量文件 设置内容 主机名、默认路由 RedHat、 Fedora /etc/sysconfig/network Network-scripts/ifcfg-ifname IP地址、网络掩码、广播地址 /etc/rc. config 主机名、IP地址、网络掩码等 SUSE /etc/route. conf 默认路由 主机名 Debian、 Ubuntu /etc/network/interfaces IP地址、网络掩码、默认路由 本讲的网络配置依据 Ubuntu11.10 Server的配置文件进行讲解, 其他发行版本的配置方法基本相同。 本讲所讲授的网络是指以太网,如果让 Linux在FDDI或者其他 类型的网络中通信,请参阅相关内容。 二、配置 Linux加入网络 如果需要把一台 Linux主机或者 Linux服务器加入到以大网中的 步骤有四步 第一步:分配唯一的IP地址和主机名。 第二步:设置 Linux在启动时配置并启用网络接口。 第三步:设置一条默认路由,可以根据需要设置多条静态路由。 第四步:配置DNS服务器,使能够使用域名进行通信。 如果使用DHCP,则只需要为网络接口卡配置为使用DHCP即可, 5|am操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
5 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn netmask 255.255.255.0 network 211.69.44.0 boardcask 211.69.32.255 gateway 211.69.44.1 dns-nameservers 211.69.32.58 211.69.32.48 211.69.33.2 dns-search hactcm.edu.cn eth0 表示第一块网卡,lo 是表示主机的回坏地址。 1.8 不同发型版本的网络配置文件 不同的发型版本,网络配置文件会有不同。关键的网络设备文件 如下表所示。 表 7-1 网络配置文件 系统 配置文件 设置内容 RedHat、Fedora /etc/sysconfig/network Network-scripts/ifcfg-ifname 主机名、默认路由 IP 地址、网络掩码、广播地址 SuSE /etc/rc.config /etc/route.conf 主机名、IP 地址、网络掩码等 默认路由 Debian、Ubuntu /etc/hostname /etc/network/interfaces 主机名 IP 地址、网络掩码、默认路由 本讲的网络配置依据 Ubuntu 11.10 Server 的配置文件进行讲解, 其他发行版本的配置方法基本相同。 本讲所讲授的网络是指以太网,如果让 Linux 在 FDDI 或者其他 类型的网络中通信,请参阅相关内容。 二、配置 Linux 加入网络 如果需要把一台Linux主机或者Linux服务器加入到以太网中的 步骤有四步。 第一步:分配唯一的 IP 地址和主机名。 第二步:设置 Linux 在启动时配置并启用网络接口。 第三步:设置一条默认路由,可以根据需要设置多条静态路由。 第四步:配置 DNS 服务器,使能够使用域名进行通信。 如果使用 DHCP,则只需要为网络接口卡配置为使用 DHCP 即可