1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
网桥:桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器 集线器:集线器的英文称为“Hub”.集线器(hub)属于纯硬件网络底层设备,基本上不具有类似于交换机的"智能记忆"能力和"学习"能力,大多数的时候它用在星型与树型网络拓扑结构中 二层交换机:二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。主要应用于底层子网络中,即接入层中 三层交换机:三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。在企业网中,一般会将三层交换机用在网络的核心层,用三层交换机上的千兆端口或百兆端口连接不同的子网或VLAN。 路由器:路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。
2、IP地址的分类有哪些?子网掩码的表示形式及其作用
IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址 子网掩码的表示形式 1. 通常的表示方式,如:255.255.255.0 2. 192.168.100.0/24 * 表示子网掩码是24位,子网掩码为:255.255.255.0 子网掩码的作用 它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络
3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。
OSI七层参考模型:物理层,链路层,网络层,传输层,回话层,表示层,应用层 应用层 提供为应用软件而设的界面,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。 表示层 把数据转换为能与接收者的系统格式兼容并适合传输的格式。 会话层 负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。 传输层 把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议义(TCP) 等。 网络层 决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP) 等 数据链接路层 负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成了帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。 物理层 在局部局域网上传送帧,它负责管理电脑通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。 TCP/IP4层参考模型:网络接口层,互联层,传输层,应用层 应用层 提供为应用软件而设的界面,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。表示层 把数据转换为能与接收者的系统格式兼容并适合传输的格式。会话层 负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。 传输层 把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议义(TCP) 等
4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
1)编辑文件/etc/sysconfig/network-scripts/ifcfg-eth0-->添加IP,网关,掩码,DNS1,设置地址分配为静态 2)编辑文件/etc/hosts-->修改hostname 3)编辑文件/etc/resolv.conf-->修改nameserver,如果在ifcfg-eth0中设置就可以不用设置了 4)重新启动网络服务--->service network restart 或systemctl restart network 5)测试网络是否可以正常通讯
5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。
ifconfig命令: ifconfig [interface] #ifconfig -a #ifconfig IFACE [up|down] ifconfig interface [aftype] options | address .. #ifconfig IFACE IP/mask [up] #ifconfig IFACE IP netmask MASK 注意:立即生效:(无法永久有效) 启用混杂模式:[-]promisc ip命令: ip link -network device configure set show [dev IFACE]:指定接口 [up]:仅显示处于激活状态的接口 ip address - protocol address management. ip addr { add | del } IFADDR dev STRING [ label LABEL ] :添加地址时指明网卡别名 [scope{global|link|host}]:指明作用域 global:全局可用 link:仅链接可用 host:仅本机可用 [broadcast ADDRESS]:指明广播地址 ip address show - look at protocol addresses [dev DEVICE] [label PATTERN] [primary adn secondary] ip address flush - flush protocol addresses 清空地址 使用格式同show ip route - routing table management ip route add - add new route 添加路由:ip route add TARGET via GW dev IFACE src SOURE_IP TARGET: 主机路由:IP 网络路由:NETWORK/MASK 添加网关:ip route add default via GW dev DEVICE ip route delete - delete route 删除路由:ip route del TARGET ip route show - list routes ip route flush - flush routing tables [dev IFACE]: [via PREFIX]
6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示; 不在线的主使用红色显示;
#!/bin/bash # ip='172.16.250' for i in {1..254};do ping -c 5 -w 5 $ip.$i &> /dev/null result=$? if [ $result -eq 0 ];then echo -e "\033[32m"$ip.$i is up. else echo -e "\033[31m"$ip.$i is down. fi done
7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;
路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE 配置当前主机的主机名:/etc/sysconfig/networkHOSTNAME= 网络接口识别并命名相关的udev配置文件: /etc/udev/rules.d/70-persistent-net.rules
8、如何给网络接口配置多个地址,有哪些方式?
1) ifconfigetho IP/mask 2) ipaddr add ip/mask device etho 3) Linux网络属性配置的tui(text user interface):system-config-network-tui 4) 使用setup找到; ip address - protocol address management. ip addr { add | del } IFADDR dev STRING [ label LABEL ] :添加地址时指明网卡别名 [scope{global|link|host}]:指明作用域 global:全局可用 link:仅链接可用 host:仅本机可用 [broadcast ADDRESS]:指明广播地址
9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
netstat: 1、查看网络连接netstat –ltan 2、查看路由netstat –r 3、显示网络接口netstat–i route: 查看路由route -n 添加:routeadd:route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If] ip linkset dev IFACE up /down 激活或禁用指定接口 ipaddr { add | del } IFADDR dev IFACE ip route add 添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP ss命令:(相当于netstat ,但在非常繁忙状态下,是netstat是几倍速度) 格式:ss [options] [ FILTER ] 选项: -t:tcp协议相关 -u:udp协议相关 -w:裸套接字相关 -x:unix sock相关 -l:listen状态的连接 -a:所有 -n:数字格式 -p:相关的程序及PID -e扩展的信息 -m:内存用量 -o:计时器信息 FILTER := [ state TCP-STATE ] [ EXPRESSION ]
10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。
rpm命令实现程序管理: 安装: -ivh,--nodeps,--replacepkgs 卸载:-e,--nodeps 升级:-Uvh,-Fvh,--nodeps,--oldepackage 查询: -q,qa,-qf,-qi,-qd,-qc,-q --scripts,-q --changlog,-q --provides,-q --requires 校验:-V 导入GPG密钥:--import,-K,--nodigest,--nosignature 数据库重:--initdb,--rebuilddb YUM命令实现程序管理: 显示仓库的列表: repolist [all|enable|disabled] 显示程序包: list # yum list [all | glob_exp] [glob_exp2][...] #yum list {available | installed | updates}[glob_exp][...] 安装程序包 yum install package1 [package2] [...] reinstall package1 [package2] [...](重新安装) 升级程序包: update [package1] [package2] [...] 升级软件包的同时也升级软件和系统内核 downgrade package1 [package2] [...](降级) upgrade [package1] [package2] [...] 只升级软件包,不升级软件和系统内核 检查可用升级: check-update 卸载程序包: remove | erase package1 [package2] [...] 查看程序包infomation: info[...] 查看指定的特性(可以查看某文件)是由哪个程序包所提供: provides | whatprovides feature1 [feature2] [...] 清理本地缓存: clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 构建缓存: makecache 搜索 search string1 [string2] [...] 以指定的关键字搜索程序包名及summary 信息 查看指定包所依赖的Capabilities: deplist package1 [package2] [...] 查看yum事务历史: history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|roll-back|new|sync|stats] 安装及升级本地程序包: *localinstall rpmfile1 [rpmfile2] [...] (maintained for legacy reasons only - use install) *localupdate rpmfile1 [rpmfile2] [...] (maintained for legacy reasons only - use update) 包组管理的相关命令: * groupinstall group1 [group2] [...] * groupupdate group1 [group2] [...] * grouplist [hidden] [groupwildcard] [...] * groupremove group1 [group2] [...] * groupinfo group1 [...]
11、如何使用发行版光盘作为yum repository,请描述该过程。
(1)挂载光盘至某目录,例如/media/cdrom #mount -r -t iso9660 /dev/cdrom /media/cdrom (2) 创建配置文件 #vim /etc/yum.repos.d/CentOS-Media.repo [CentOS7] name=CentOS-$releasever - Media baseurl=file:///放Packages gpgcheck=0 enabled=1
12、写一个脚本,完成以下功能
(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;
#!/bin/bash # declare -i stotal=0 declare -i ktotal=0 for i in `ls /etc/rc.d/rc3.d | grep "^S"`;do echo "$i start" let stotal++ done for i in `ls /etc/rc.d/rc3.d | grep "^K"`;do echo "$i stop" let ktotal++ done echo "K file is $ktotal" echo "S file is $stotal"
13、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;
#!/bin/bash # declare -i idsum=0 if [ $# -le 0 ];then echo "Userage:bash.sh user1 user2 ..." exit 1 fi for i in $*;do if id $i &> /dev/null;then idnum=`grep "$i" /etc/passwd | cut -d: -f3` idsum+=$idnum else echo "No exist $i " fi done echo "IDtotal is $idsum"
14、写一个脚本
(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;
#!/bin/bash # declare -i foder=0 declare -i file=0 declare -i cfile=0 declare -i lfile=0 declare -i bfile=0 if [ $# -lt 1 ];then echo "Useage:bash.sh file1 file2 ..." exit 1 else for j in $*;do if [ -f $j ];then echo "This file is file" exit 1 else for i in `ls $j`;do cd $j if [ -f $i ];then echo -e "\033[31m"$i is file. let file++ elif [ -d $i ];then echo -e "\033[32m"$i is foder. let foder++ elif [ -c $i ];then echo "$i is string file." let cfile++ elif [ -L $i ];then echo "$i is link file." let lfile++ elif [ -b $i ];then echo "$i is block file." let bfile++ else echo "Unknow file." exit 2 fi done fi done fi echo "file total:$file" echo "link file total:$lfile" echo "String file total:$cfile" echo "block file total:$bfile" echo "foder file total:$foder"
15、写一个脚本
通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;
#!/bin/bash # if [ $# -lt 1 ];then echo "Userage:bash.sh user1 user2 ..." exit 1 fi for i in $*;do if id $i &> /dev/null;then idnum=`grep "$i" /etc/passwd | cut -d: -f3` if [ $idnum -gt 500 ];then echo "$i user is ordinary user." else echo "$i is system user." fi else echo "No exist $i " fi done
16、写一个脚本
(1) 添加10用户user1-user10;密码同用户名;
(2) 用户不存在时才添加;存在时则跳过;
(3) 最后显示本次共添加了多少用户;
#!/bin/bash # declare -i total=0 for i in {1..10};do if id user$i &> /dev/null;then echo "user$i has exist." else useradd user$i [ $? -eq 0 ] && echo "user$i" | passwd --stdin user$i &> /dev/null echo "Add user$i finish." total+=1 fi done echo "Add $total uesrs success!"
17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;
ip='172.16.250' uphost=0 for i in {1..254};do ping -c 5 -w 5 $ip.$i &> /dev/null result=$? if [ $result -eq 0 ];then echo -e "\033[32m"$ip.$i is up. let uphost++ fi done echo "uphost is $uphost"
18、打印九九乘法表;
#!/bin/bash # for ((j=1;j<=9;j++));do for((i=1;i<=j;i++));do echo -e -n "${j}x${i}=$[$j*$i]\t" done echo done
原创文章,作者:Net21_Lion,如若转载,请注明出处:http://www.178linux.com/41034
评论列表(1条)
如果有一两个输出结果的示例,可能更吸引人哦