1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switch)所取代。 二层交换机工作于OSI模型的第2层(数据链路层),隔离冲突域,相当于多端口网桥。 三层交换机就是具有部分路由器功能的交换机,三层交换技术就是二层交换技术+三层转发技术。 路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络。 三层交换机和路由器的最主要区别是路由器有NAT功能,是边界设备,三层交换机没有NAT功能。 网桥和集线器已经是淘汰设备,二层交换机一般用来做接入层,连接各种终端设备,三层交换机用来做汇聚层和核心层,路由器用来连接Internet
2、IP地址的分类有哪些?子网掩码的表示形式及其作用
A类IP地址 地址范围1.0.0.0到127.255.255.255,默认掩码255.0.0.0 B类IP地址地址范围128.0.0.0-191.255.255.255,默认掩码255.255.0.0 C类IP地址范围192.0.0.0-223.255.255.255,默认掩码255.255.255.0 D类是组播地址,范围从224.0.0.0到239.255.255.255, E类作为多播和保留使用 以下列出留用的内部私有地址 A类 10.0.0.0--10.255.255.255 B类 172.16.0.0--172.31.255.255 C类 192.168.0.0--192.168.255.255
3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些
4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes #开机启动 BOOTPROTO=static #手动指定IP地址 IPADDR=192.168.16.108 NETMASK=255.255.255.0 GATEWAY=192.168.16.1 [root@localhost ~]# service network restart [root@localhost ~]# vi /etc/resolv.conf nameserver 223.5.5.5 #添加DNS
5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。
[root@localhost ~]# ifconfig eth0 192.168.16.108/24 up [root@localhost ~]# ip addr add 192.168.16.108/24 dev eth0 [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主使用红色显示;
#!/bin/bash for ((i=1;i<255;i++));do ping -c 1 -w 1 "172.16.250.$i" >/dev/null if [ $? -eq 0 ];then echo -e "\033[0;32;1m 172.16.250.$i is up! \033[0m" else echo -e "\033[0;31;1m 172.16.250.$i is down! \033[0m" fi done
7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;
DEVICE=eth0 #设备名称 #HWADDR=00:0C:29:C5:41:BC #mac地址 TYPE=Ethernet #设备类型 UUID=ea231794-ff5a-44fd-bf0e-ed4446a8721c #uuid号 ONBOOT=yes #是否开机启动 NM_CONTROLLED=yes #是否使用netmanager 管理 BOOTPROTO=static #IP获取类型static 或者 DHCP IPADDR=192.168.16.108 #ip地址 NETMASK=255.255.255.0 #掩码 GATEWAY=192.168.16.1 #网关
8、如何给网络接口配置多个地址,有哪些方式?
[root@localhost ~]# ifconfig eth0:0 192.168.16.100/24 [root@localhost ~]# ip addr add 192.168.16.18/24 dev eth0:1 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
[root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:76:F3:6C inet addr:192.168.16.108 Bcast:192.168.16.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe76:f36c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:62255 errors:0 dropped:0 overruns:0 frame:0 TX packets:34748 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:28454794 (27.1 MiB) TX bytes:4203485 (4.0 MiB) [root@localhost ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.16.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.16.1 0.0.0.0 UG 0 0 0 eth0 [root@localhost ~]# ss -tan State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :::22 :::* LISTEN 0 128 *:22 *:* [root@localhost ~]# netstat -tan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。
有源码编译安装,rpm包安装,yum源安装 源码安装一般步骤:配置(configure)、编译(make)、安装(make install)。删除源码安装直接删除安装目录 rpm命令实现程序管理: 安装:-ivh, –nodeps, –replacepkgs 卸载:-e, –nodeps 升级:-Uvh, -Fvh, –nodeps, –oldpackage 查询:-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|enabled|disabled] 显示程序包:list # yum list [all | glob_exp1] [glob_exp2] […] # yum list {available|installed|updates} [glob_exp1] […] 安装程序包: install package1 [package2] […] reinstall package1 [package2] […] (重新安装) 升级程序包: update [package1] [package2] […] downgrade package1 [package2] […] (降级) 检查可用升级: check-update 卸载程序包: remove | erase package1 [package2] […] 查看程序包information: info […] 查看指定的特性(可以是某文件)是由哪个程序包所提供: provides | whatprovides feature1 [feature2] […] 清理本地缓存: clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 构建缓存: makecache
11、如何使用发行版光盘作为yum repository,请描述该过程。
挂载光盘至某目录 [root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ 创建配置文件 vim /etc/yum.repos.d/cdrom.repo [cdrom] #仓库的名字 name=localation software #仓库的描述 baseurl=file:///mnt/cdrom #repodata目录的仓库访问路径 gpgchecked=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 s=0 declare -i k=0 for i in `ls /etc/rc.d/rc3.d | grep "^S"`;do echo "$i start" let s++ done for i in `ls /etc/rc.d/rc3.d | grep "^K"`;do echo "$i stop" let k++ done echo "K file: $k; S file: $s"
13、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;
#!/bin/bash for i in $*;do id $i &> /dev/null if [ $? -ne 0 ];then echo "$i not exists" else let x+=`id -u $i` fi done echo "sum of userid :$x"
14、写一个脚本
(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;
#!/bin/bash if [ $# -le 1 ];then echo "input at least a filepath!" fi for i in $*;do if [ -d $i -a -x $i ];then ls -l $i |grep ^d |awk '{print $NF}' let x+=$(ls -l /tmp/ |grep ^d |wc -l) let y+=$(ls -l /tmp/ |grep -v ^d |wc -l) else echo "The $i is not exist or Permission denied,please check it!" exit fi done echo "the directories sum:$x" echo "the file sum:$y"
15、写一个脚本
通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;
#!/bin/bash id $1 &> /dev/null if [ $? -eq 0 ];then if [ `id -u $1` -ge 500 ];then echo "user is a domestic consumer" else echo "user is a system or root consumer" fi else echo "user is not exsits" fi
16、写一个脚本
(1) 添加10用户user1-user10;密码同用户名;
(2) 用户不存在时才添加;存在时则跳过;
(3) 最后显示本次共添加了多少用户;
#!/bin/bash for i in {1..10};do id user$i &> /dev/null if [ $? -eq 0 ];then useradd user$i && echo "user$i" | passwd --stdin user$i x++ else echo "user is exsits" fi done
17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;
#!/bin/bash for i in {1..255};do ping -c 1 -w 1 "172.16.250.$i" > /dev/null if [ $? -eq 0 ];then echo -e "ip addr 172.16.250.$i is online" fi done
18、打印九九乘法表;
#!/bin/bash for i in {1..9};do for j in $(seq 1 $i);do let sum=($i * $j) echo -n -e "${j}x${i}=$sum\t" done echo done
原创文章,作者:N21_smile,如若转载,请注明出处:http://www.178linux.com/47237
评论列表(1条)
写的很好,图如果是自己画的话,会更好