1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
集线器:集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离 网桥:是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道, 不是共享一条背板总线,可隔离冲突域。网桥比集线器性能更好 二层交换机:工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术的发展已经 比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发, 并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。 三层交换机:三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内 部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。对于数据包 转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能, 由软件实现 路由器:是连接因特网中各局域网、广域网的设备,又称网关设备(Gateway)是用于连接多个逻辑上分开的 网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时, 可通过路由器的路由功能来完成
2、IP地址的分类有哪些?子网掩码的表示形式及其作用
类别 IP地址范围 私有IP地址范围 默认子网掩码 A 0.0.0.0-127.255.255.255 10.0.0.0-10.255.255.255 255.0.0.0 B 128.0.0.0-191.255.255.255 172.16.0.0-172.31.255.255 255.255.0.0 C 192.0.0.0-223.255.255.255 192.168.0.0-192.168.255.255 255.255.255.0 D 224.0.0.0-239.255.255.255 子网掩码的作用:子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。
4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:4E:93:F1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.1.181 GATEWAY=192.168.1.1 DNS1=202.96.134.133 DNS2=8.8.8.8 service network restart
5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。
1.修改配置文件方式(永久有效) vim 修改/etc/sysconfig/network-scripts/ifcfg-ethX,并保存 2.命令行方式(当前有效) 使用 ip,route命令指定ip地址,默认网关 3.图形界面方式 使用 setup 命令进入tui界面配置,或者是 system-config-network-tui
6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主使用红色显示;
#!/bin/bash # for i in {1..254};do ping -c 1 -w 1 "192.168.1.$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:此配置文件对应的设备的名称; ONBOOT:在系统引导过程中,是否激活此接口; UUID:此设备的惟一标识; IPV6INIT:是否初始化IPv6; BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none; TYPE:接口类型,常见的有Ethernet, Bridge; DNS1:第一DNS服务器指向; DNS2:备用DNS服务器指向; DOMAIN:DNS搜索域; IPADDR: IP地址; NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码; GATEWAY:默认网关; USERCTL:是否允许普通用户控制此设备; PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许; HWADDR:设备的MAC地址; NM_CONTROLLED:是否使用NetworkManager服务来控制接口;
8、如何给网络接口配置多个地址,有哪些方式?
# ip addr add 192.168.1.100/24 dev eth1 # ifconfig eth0:1 # vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
1.ifconfig命令 2.ip命令 3.route命令 4.netstat命令 5.ss命令
10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。
rpm包安装方式: 安装:rpm -ivh PACKAGE_FILE ... 升级:rpm -Uvh PACKAGE_FILE ... 卸载:rpm -e 查询:rpm -q 校验:rpm -V 数据库维护:--builddb, --initdb Yum安装方式 显示程序包:list 安装程序包:install 卸载程序包:remove 升级程序包:update 检查可用升级:check-update 查看程序包:info 查看指定的特性:provides 清理本地缓存:clean 构建缓存:makecache 编译安装: . /configure make makeinstall
11、如何使用发行版光盘作为yum repository,请描述该过程。
(1) 挂载光盘至某目录,例如/media/cdrom # mount -r -t iso9660 /dev/cdrom /media/cdrom (2) 创建配置文件 [CentOS7] ~]# cd /etc/yum.repos.d/ ~]# vim local.repo [Centos] name=Centos 7 Release 7.2 baseurl=file://madia/cdrom gpgcheck=1 enabled=0 配置完成可以使用 yum repolist 查看信息
12、写一个脚本,完成以下功能
(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;
#!/bin/bash ## declare -i K=0 declare -i S=0 for i in $(ls /etc/rc.d/rc3.d |grep "^K");do echo "$i" --\> stop let K++ done for i in $(ls /etc/rc.d/rc3.d |grep "^S");do echo "$i" --\> start let S++ done echo "k开头的文件有$K个." echo "S开头的文件有$S个."
13、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;
#!/bin/bash ## declare -i Sum=0 if [ $# -lt 1 ];then echo "Please intput at least one user existed in current system" exit 1 fi for i in $@;do if id $i &> /dev/null;then Sum=$[$Sum+$(id -u $i)] else echo "这个$i用户不存在" exit 2 fi done echo "这些用户ID和为:$Sum."
14、写一个脚本
(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;
#!/bin/bash declare -i dir_counts=0 declare -i file_counts=0 for i in $*;do echo "$i: " for filename in $i/*; do if [ -f $filename ];then echo "$filename common file" elif [ -d $filename ];then echo "$filename directory file" dir_counts+=1 continue elif [ -b $filename ];then echo "$filename block device file" elif [ -c $filename ];then echo "$filename character device file" elif [ -L $filename ];then echo "$filename symbolic link file" elif [ -p $filename ];then echo "$filename pipe file" elif [ -S $filename ];then echo "$filename socket file" else echo "$filename unknow" fi file_counts+=1 done done echo "一共有$dir_counts个目录" echo "一共有$file_counts个文件"
15、写一个脚本
通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;
#!/bin/bash ## if [ $# -eq 0 ];then echo "At least need a user name." exit 1 fi id=$(id -u $1) if [ $id -ge 500 ]; then echo "login user" else echo "system user" fi
16、写一个脚本
(1) 添加10用户user1-user10;密码同用户名;
(2) 用户不存在时才添加;存在时则跳过;
(3) 最后显示本次共添加了多少用户;
#!/bin/bash ## declare -i i=0 for i in {1..10};do if id user$i &> /dev/null;then echo "user$i is exist" continue else useradd user$i echo "user$i" |passwd --stdin user$i &> /dev/null let i++ fi done echo "创建了$i个用户."
17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;
#!/bin/bash for((i=20;i<100;i++)) do ping -c 1 -w 1 172.16.250.$i &>/dev/null if [ $? -eq 0 ];then echo "172.16.250.$i 在线 " fi done
18、打印九九乘法表;
#!/bin/bash ## for j in {1..9}; do for i in $(seq 1 $j); do echo -n -e "${i}X${j}=$[${i}*${j}]\t" done echo done
原创文章,作者:chenzhijie,如若转载,请注明出处:http://www.178linux.com/58525
评论列表(1条)
作业做的非常棒,脚本部分在一些细节方面把控的非常到位,加油。