问答题
【说明】
当局域网中存在大量计算机时,根据业务的不同,可以将网络分成几个相对独立的子网。图7-15是某企业子网划分的示意图,整个网将被均分为销售部与技术部两个子网,子网之间通过一台安装了Linux操作系统的双网卡计算机连通。该Linux网关计算机使用了最新的BCM5751网卡芯片,由于Red Hat Linux 9操作系统无法自动识别此硬件,需要单独安装驱动程序才能正常工作。具体安装过程如下。
①将驱动程序压缩文件bcm5700-8.3.14.tar.gz复制到一个临时目录中,并使用解压缩命令将驱动程序包bcm5700-8.3.14.tar.gz解压缩;
②用make命令构建驱动程序的可加载模块;
③用make install命令加载驱动程序;
④重新启动系统,启动过程中系统找到网卡进行相应参数配置。
问答题
【问题1】
将文件bcm5700-8.3.14.tar.gz解压缩的命令是
(1) 。
【正确答案】B,或tar
【答案解析】这是一道要求读者掌握Linux操作系统中文件解压缩命令的基本常识题。本题所涉及的知识点如下。
在Linux操作系统中,对于扩展名为tar.gz的文件,则需要使用“tar -xvzf [文件名].tar.gz”将其恢复成源文件,即将文件bcm5700-8.3.14.tar.gz解压缩的命令是:tar -xvzf bcm5700-8.3.14.tar.gz。
如果在Linux操作系统中,扩展名为.rpm的文件,则需要使用“rpm -ivh *.rpm”或“rpm -Uvh *.rpm”完成软件包的安装。
问答题
【问题2】
Linux网关计算机有两个网络接口(eth0和eth1),每个接口与对应的子网连接。该计算机/etc/sysconfig/network文件清单为:
NETWORKING=yes
FORWARD_IPV4=
(2) HOSTNAME=www.test.com.cn
/etc/syseonfig/network-scripts/ifcfg-eth0文件清单为:
DEVICE=eth0
IPADDR=192.168.1.126
NETMASK=
(3) …(以下省略)
/etc/sysconfig/network-scripts/ifcfg-eth1文件清单为:
DEVICE=eth1
IPADDR=192.168.1.254
NETMASK=
(4) …(以下省略)
【供选择的答案】
(2)
- A.yes
- B.no
- C.route
- D.gateway
【正确答案】(2) A,或yes (3) 255.255.255.128
(4) 255.255.255.128
【答案解析】Linux内核默认内置有IP伪装功能。但是,使用一个没有内置IP伪装功能的内核,则需要重新编译,装载一些模块,然后设置数据包过滤规则以便允许转换的进行。为了让IP伪装能够工作,需要打开服务器的IP转发功能,即将/etc/sysconfig/network文件中的FORWARD_IPV4设置为yes而启用IP转发。
一个完整的/etc/sysconfig/network-scripts/ifcfg-eth0文件清单是:
DEVICE=eth0 /*指明网卡的名称*/
IPADDR=192.168.1.126 /*指明分配给网卡的IP地址*/
NETMASK=255.255.255.128 /*指明子网掩码,因为该子有126个可用的IP地址*/
NETWORK=192.168.1.0 /*指明网络地址*/
BROADCAST=192.168.1.127 /*指明广播地址*/
ON-BOOT=yes /*指明在系统启动时是否激活网卡*/
BOOTPROTO=none /*指明是否使用bootp协议*/
同理,由于技术部子网可用的IP地址有126个,因此在/etc/sysconfig/network-scripts/ifcfg-eth1文件中子网掩码也应设置为255.255.255.128,即NETMASK=255.255.255.128。
一旦配置完Linux网关计算机的网络配置文件,应该使用/etc/rc.d/init.d/network restart命令来重新启动网络以使之修改生效。
问答题
【问题3】
在计算机/etc/sysconfig/network-scripts/目录中有以下文件,运行某命令可以启动网络,该命令是 (5) ,其命令参数是 (6) 。
ifcfg-eth0 ifup ifup-sit
ifcfg-lo ifup-aliases ifup-sl
ifdown ifup-cipcb ifup-wireless
ifdown-aliases ifup-ippp init.ipv6-global
ifdown-cipcb ifup-ipv6 network-functions
ifdown-ippp ifup-ipx network-functions-ipv6
ifdown-ipv6 ifup-isdn
ifdown-isdn ifup-plip
ifdown-post ifup-plusb
ifdown-ppp ifup-post
ffdown-sit ifup-ppp
ifdown-sl ifup-routes
【正确答案】(5) ifup
(6) 网络接口(或设备)名称,或eth0
【答案解析】命令ifconfig、ifup、ifdown的作用都是用于启动/关闭网络接口,但ifup与ifdown仅能就/etc/sysconfig/network-scripts内的ifcfg-ethx(x=0,1,2,3…)进行启动或关闭的动作,并不能直接修改网络参数,除非手动调整ifcfg-ethx文件内容。当执行ifup eth0时,操作系统会找出ifcfg-eth0这个文件的内容,然后来加以设定。
在本试题中/etc/sysconfig/network-scripts/目录下只给出ifcfg-eth0文件,所以运行ifup命令可以启动 eth0所在的网络,其命令参数是网络接口(或设备)名称eth0。
问答题
【问题4】
可以使用命令
(7) 来查看网络接口的运行情况。输入该命令后,系统的输出信息如下。
eth0 Link encap:Ethernet Hwaddr:00:12:3F:94:ET:B9
inet addr:192.168.1.63 Bcast:
(8) Mask:
(9) UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1501 errors:0 dropped:0 overruns:0 frame:0
TX packets:74 etrors:0 dropped:0 overruns:0 carrier:0
collisioas:0 txqueuelen:100
RX bytes:164444 (160.5KB) TX bytes:9167(8.9KB)
Interrupt:11 Memory:dfcf0000-dfd00000
以上输出信息表明,该网卡的工作状态是:
(10) 。其中,“MTU”的含义是
(11) 。
【供选择的答案】
(7)
- A.ipconfig
- B.ifconfig
- C.netatat
- D.rcp
(10)A.正常B.故障
【正确答案】(7) B,或ifconfig (8) 192.168.0.255
(9) 255.255.251.0 (10) A,或正常
(11) 量大传输单元
【答案解析】这是一道要求读者读懂Linux操作系统网络接口操作命令输出信息的分析理解题。本题所涉及的知识点如下。
①在Linux操作系统中,可使用ifconfig命令来查看本地主机当前获得的TCP/IP参数配置信息。使用不带任何参数的ifconfig命令可以显示所有网络接口的状态。若要检查特定网络接口的状态,则需使用 ifconfig [interface]命令。例如,可以使用“ifconfig eht0”命令来查看该BCM5751网卡的运行情况。
②从试题中给出的输出信息可知,DHCP服务器分配给该BCM5751网卡的IP地址是192.168.1.63。由于192.168.1.63是一个C类IP地址,其默认的子网掩码(Mask)为255.255.255.0。
③TCP/IP协议规定,将某个IP地址中表达主机部分的各比特位全部设置为“1”的IP地址称为该主机的直接广播地址。由于C类IP地址是用最右边一个字节的比特位来表达主机地址部分,因此192.168.1.63的本地直接广播地址为192.168.1.255。
④从ifconfig命令的输出信息——“UP”、“RX packets:1501”、“TX packets:74”、“RX bytes:164444 (160.5KB) TX bytes:9167 (8.9KB)”可判断该BCM5751网卡处于正常收发数据包的运行状态。
⑤在ifconfig命令的输出信息——“MTU:1500”中,MTU表示最大传输单元,它是跟网络接口层特性相关的。在以太网中,RFC894定义的以太帧格式的MTU值为1500字节。
⑥在一个IP包中,扣除IP包头的20个字节,可以传输的最大数据长度为1480个字节;在TCP包中,扣除20个字节的TCP包头,可以传输的最大数据段为1460个字节;在UDP包中,扣除UDP包头的8个字节,可以传输的最大数据段为1492个字节。因此,当数据超过最大数据长度时,将对该数据进行分段处理,在p包头中会看到有多个数据段在传输,但这些数据段的标识号是相同的,表示是同一个数据包。
问答题
【问题5】
设置技术部和销售部的主机网络参数后,如果两个子网间的主机不能通信,用
(12) 命令来测试数据包是否能够到达网关计算机。
如果数据包可以到达网关但是不能转发到目标计算机上,则需要用命令cat/pro/sys/net/ipv4/ip_forward来确认网关计算机的内核是否支持IP转发。如果不支持,该命令输出
(13) 。
【供选择的答案】
(12)
- A.traceroute
- B.tracert
- C.nslookup
- D.route
(13)A.1B.0C.yesD.no
【正确答案】(12) A,或traceroute
(13) B,或0
【答案解析】在Linux操作系统中使用基于UDP协议的traceroute命令进行路由跟踪,该命令在Windows操作系统中对应是“tracert”。在计算机可以通过nslookup命令测试DNS配置情况,或实现某个域名及其对应的IP地址间的相互查询。route命令主要用于创建或删除某条路由。
标准的GNU/Linux提供了很多可调节的内核参数。例如在/proc虚拟文件系统中存在一些可调节的内核参数。这个文件系统中的每个文件都表示一个或多个参数,它们可以通过cat工具进行读取,或使用echo命令进行修改。以下例子展示了如何查询或启用一个可调节的参数的实验过程。
[root@camus]# cat/proc/sys/net/ipv4/ip_forward /*查询计算机的内核是否支持IP转发*/
0 /*查询结果,0表示不支持或未启用*/
[root@camus]# echo "1">/poc/sys/net/ipv4/ip_forward /*在TCP/IP栈中启用IP转发*/
[root@camus]# cat/proc/sys/net/ipv4/ip_forward /*继续查询计算机的内核是否支持IP转发*/
1 /*查询结果,1表示支持或已启用*/