1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
网桥用来连接两个不同的网络间的设备;集线器的作用是把接受的信号放大,从另一个端口再穿法出去,说白了就是延长网络的传输距离;
二层交换机工作在数据链路层,根据源和目的MAC地址进行数据转发;三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目
的是加快大型局域网内部的数据交换,能够做到一次路由,多次转发;路由器主要负责通过路由表对报文进行路由转发,三层交换机虽然也有转
发功能,但是常用于局域网中。
2、IP地址的分类有哪些?子网掩码的表示形式及其作用
A类:1.0.0.1 到 126.255.255.254(10.X.X.X是私有地址,127.0.0.1是本地回环测试)
B类:128.0.0.1到191.255.255.254(172.16.0.0到172.31.255.255是私有地址;当你是自动获取IP,但是没有DHCP服务器,就会使用169.254.0.0网段地址)
C类:192.0.0.0到 223.255.255.254(192.168.0.0是私有地址)
D类:224.0.0.1到239.255.255.254
E类:240.0.0.1到255.255.255.254
掩码:192.168.1.2/24或者192.168.1.2 255.255.255.0
3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。
①、 OSI模型:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
物理层利用物理传输介质为数据链路层提供物理连接,如:集线器、光纤、同轴电缆等;数据链路层将数据分帧,并处理流控制,屏蔽
物理层,为网络层提供一个数据链路的连接,进行几乎无差错的数据传输如:网卡、网桥;网络层负责路由转发和控制网络拥塞,如:
路由器等;传输层负责可靠(TCP)或不可靠(UDP)的数据传递;会话层负责两个节点之间的连接和断开;表示层负责加密和解密;
应用层用于进程间通信,常用的协议有HTTP、FTP、SMTP、TELNET等
②、 TCP/IP模型:网络接入层 、网际互联层、传输层、应用层
网络接入层与OSI参考模型中的物理层和数据链路层相对应,负责监视数据在主机和网络之间的交换;网际互联层相当于OSI的网络层,
主要处理主机到主机间的通信;传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送
及数据的完整性,该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP);应用层对应于OSI参考模型的会话层、
表示层和应用层,为用户提供所需要的各种服务,如:FTP、Telnet、DNS、SMTP等。
4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
编辑/etc/sysconfig/network-scripts/ifcfg-eth0
修改:ONBOOT=yes //开机自启动
BOOTPROTO=static //静态配置
IPADDR=192.168.0.120 //IP地址
NETMASK=255.255.255.0 //掩码
GATEWAY=192.168.0.1 //网关
DNS1=8.8.8.8 //DNS
DNS2=114.114.114.114 //DNS
5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。
-
如上题编辑ifcfg-eth0网卡;
-
dhclient自动获取IP地址(DHCP模式)
-
ip addr add 172.16.1.110/16 dev eth0
6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主使用红色显示;
#!/bin/bash
net='172.16.250'
for i in { 1 254 };do
ping -c 1 -w 1 $net.$i &> /dev/null
if [ $? -eq 0 ] ; then
echo -e " \033[;32m ${net}.$i \033[0m"
else
echo -e " \033[;31m $net.$i \033[0m"
fi
done
7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;
DEVICE=eth0 //网卡号
HWADDR=00:0C:29:8C:C9:19 //网卡的MAC
TYPE=Ethernet //接口类型
UUID=514d07b4-3b4d-4e48-a1fa-65652297b2d1 //网卡的UUID标识
ONBOOT=yes //是否开机自启动yes为是,no为否
NM_CONTROLLED=yes
BOOTPROTO=static //IP的获取方式,static为手动配置
IPADDR=192.168.0.120 //IP地址
NETMASK=255.255.255.0 //掩码
GATEWAY=192.168.0.1 // 网关
DNS1=8.8.8.8 //主DNS
DNS2=114.114.114.114 //备用DNS
8、如何给网络接口配置多个地址,有哪些方式?
ifconfig eth0:0 192.168.0.22/24 up
ip addr add 192.168.100.124/24 dev eth0:0
复制为/etc/sysconfig/network-scripts/ifcfg-eth0:0,然后更改配置文件内的网卡名为eth0:0,然后更换新的IP地址,重启动网卡
9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
ifconfig设置网卡,ifconfig eth0 192.168.0.2/24 route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
route设置路由,rout add –host 192.168.0.2 gw 172.16.1.1 dev eth0
ip设置地址,ip addr add 192.168.0.2/24 dev eth0
显示网卡信息,netstat -i | grep "^eth0"
10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。
-
安装
rpm –[ivh] [–excludedocs | prefix | test | replace[pkgs |files] | nodeps packge
i为安装,v为显示详细信息,h为hash是进度信息
–excludedocs 不安装软件包的文档文件
–prefix PATH 将软件包安装到指定目录
–test 只对安装进行测试,并不实际安装(通常用来看下需要的依赖项)
–replace[pkgs|files] 当出现冲突时或想强制覆盖时可以使用
–nodeps 不考虑依赖关系,强制安装。(不推荐)
-
查寻
rpm –q[a |f |p |i |l |d |c] package
-a 查询所有已安装的软件包
-f 查询 文件所属软件包
-p 查询软件包(通常用来看下还未安装的软件包)
-i 显示软件包信息
-l 显示软件包中的文件列表
-d 显示被标注为文档的文件列表
-c 显示被标注为配置文件的文件列表
[tips] 通常可以配合管道 | more [grep sudo] 来使用
-
卸载
rpm -e卸载包,当包邮依赖关系的时候,使用rpm -e –nodeps忽略依赖关系
11、如何使用发行版光盘作为yum repository,请描述该过程。
挂载光盘,然后编辑/etc/yum.repos.d/CentOS-Media.repo文件,编辑baseurl=file://挂载路径即可。
12、写一个脚本,完成以下功能
(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;
#!/bin/bash
ls /etc/rc.d/rc3.d/ | awk '/^K/{print "stop "$1}'
ls /etc/rc.d/rc3.d/ | awk '/^S/{print "start "$1}'
ls /etc/rc.d/rc3.d/ | awk '{if (/^K/){n++}else{m++}}END{print "K : "n;print "S : "m}'
13、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;
[root@Hao ~]# awk -F ':' '{(Sum=Sum+$3)}; END {print Sum}' /etc/passwd
14、写一个脚本
(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型
暂时不会
15、写一个脚本
通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;
16、写一个脚本
(1) 添加10用户user1-user10;密码同用户名;
(2) 用户不存在时才添加;存在时则跳过;
(3) 最后显示本次共添加了多少用户;
17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;
#!/bin/bash
hosts=192.168.0
for i in { 100..160 } ; do
if ping -c 3 -w 1 $hosts.$i &> /dev/null; then
echo "$hosts.$i is up"
fi
done
18、打印九九乘法表;
#!/bin/sh
for((i=1;i<10;i++))
do
for((j=1;j<=i;j++))
do
echo -n "$j*$i=$(($i*$j)) "
if [ $j -eq $i ]
then
echo -e '\n'
fi
done
done
原创文章,作者:Net19_口香糖,如若转载,请注明出处:http://www.178linux.com/22202
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油