1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:链接层设备,基于MAC地址过滤。 集线器:物理层设备,基本都属于半双工模式。集线器与网桥在现在的局域网中基本都不用了。 二层交换机:基本MAC转发数据,功能齐全的可支持VLAN等功能。常见的有100/1000M、16口/24口/48口。 三层交换机:功能齐全的交换机,具备都静态路由、动态路由、VLAN、policy、DHCP等功能。可用于网络的汇聚与核心设备。 路由器:一般用于局域网的出口、不同网络之间的连接的位置,常用的功能主要有各种路由协议、VPN、NAT等功能
2、IP地址的分类有哪些?子网掩码的表示形式及其作用 IP地址的分类: A类:1-127 B类:128-191 C类:192-223 D类:组播 224-239 E类:240-255 子网掩码的表现形式: 十进制:172.16.100.100/255.255.0.0 简写:172.16.100.100/16 作用:划分网络范围
3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。 应用层 (Application): 网络服务与最终用户的一个接口。 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET 设备: 表示层(Presentation Layer): 数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层) 格式有,JPEG、ASCll、DECOIC、加密格式等 设备: 会话层(Session Layer): 建立、管理、终止会话。(在五层模型里面已经合并到了应用层) 对应主机进程,指本地主机与远程主机正在进行的会话 设备: 传输层 (Transport): 定义传输数据的协议端口号,以及流控和差错校验。 协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层 设备: 网络层 (Network): 进行逻辑地址寻址,实现不同网络之间的路径选择。 协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP 设备:路由器、防火墙 数据链路层 (Link): 建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议) 将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。 设备:交换机 物理层(Physical Layer): 建立、维护、断开物理连接。(由底层网络定义协议) 设备:集线器、网络 对应tcp、ip的4层: 应用层 tcp udp ipv4 ipv6 设备驱动程序和硬件
4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式) 要配置这些: IP/mask 路由 DNS服务器 IP: vim /etc/sysconfig/network-scripts/ifcfg-eth0 改2项: BOOTPROTO=dhcp ONBOOT=yes 如果改成static,则需要添加网关;否则没网 保存退出 DNS: vim /etc/resolv.conf 把nameserver=192.168.1.1 改成=8.8.8.8 保存退出 ping www.baidu.com service network restart (centos7:systemctl restart network )
5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。 静态指定: 有3种 ifconfig ip; 配置文件 例如: ifconfig eth0 172.16.100.12 netmask 255.255.0.0 ip addr add 172.16.100.13/16 dev eth0 vim /etc/sysconfig/network-scripts/ifcfg-eth0
7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值; DEVICE:此配置文件应用到的设备; HWADDR:对应的设备的MAC地址; BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp; NM_CONTROLLED:NM是NetworkManager的简写;此网卡是否接受NM控制;CentOS6建议为“no”; ONBOOT:在系统引导时是否激活此设备; TYPE:接口类型;常见有的Ethernet, Bridge; UUID:设备的惟一标识; PADDR:指明IP地址; NETMASK:子网掩码; GATEWAY: 默认网关; DNS1:第一个DNS服务器指向;此处的DNS配置优先于/etc/resolv.conf文件中的DNS配置 DNS2:第二个DNS服务器指向; USERCTL:普通用户是否可控制此设备; PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中;
8、如何给网络接口配置多个地址,有哪些方式? ifconfig ip; 配置文件 都可以实现。
9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。 ifconfig/route/netstat ifup/ifdown
10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。 rpm命令 yum命令 例如: rpm命令: 安装 rpm {-i|--install} [install-options] PACKAGE_FILE(包文件) ... -v: verbose -vv: more verbose -h: 以#显示程序包进度;每个#表示2%的进度 升级 rpm -Uvh PACKAGE_FILE ... rpm -Fvh PACKAGE_FILE ... 卸载 rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] rpm -e zsh rpm -q zsh yum命令: 安装程序包: install package1 [package2] [...] reinstall package1 [package2] [...] (重新安装) 升级程序包: update [package1] [package2] [...] downgrade package1 [package2] [...] (降级) 卸载程序包: remove | erase package1 [package2] [...] 依赖的程序包也会被卸载
11、如何使用发行版光盘作为yum repository,请描述该过程。 cd /etc/yum.repos.d/ ls vim centos-local.repo [epel] name=EPEL for EL6 x86_64 baseurl=http://mirrors.aliyun.com/epel/6/x86_64/ gpgcheck=1 enabled=1 yum repolist
12、写一个脚本,完成以下功能 (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干; (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串; (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串; (4) 分别统计S开头和K开头的文件各有多少; #!/bin/bash k=0 s=0 for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$"); do echo "$i stop" let k=$k+1 done for i in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$");do echo "$i start" let s=$s+1 done echo "K file: $k; S file: $s" 第二种实现: #!/bin/bash declare -i k=0 declare -i s=0 for i in $(ls /etc/rc.d/rc3.d/); do file1=(grep "^K*$" /etc/rc.d/rc3.d/$i) if [ -n "$file1" ]; then echo "$i stop" let k++ file2=(grep "^S*$" /etc/rc.d/rc3.d/$i) if [ -n "$file2" ]; then echo "$i start" let s++ fi fi done echo "K file: $k" echo "S file: $s"
13、写一个脚本,完成以下功能 (1) 脚本能接受用户名作为参数; (2) 计算此些用户的ID之和; #!bin/bash declare -i sum=0 for i in $*;do if id $i &>/dev/null;then sum+=$(id -u $i) fi done echo "sum uid:$sum"
14、写一个脚本 (1) 传递一些目录给此脚本; (2) 逐个显示每个目录的所有一级文件或子目录的内容类型; (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型; #!/bin/bash declare -i dsum=0,fsum=0 if [ $# -eq 0 ]; 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 dsum+=$(ls -l /tmp/ |grep ^d |wc -l) let fsum+=$(ls -l /tmp/ |grep -v ^d |wc -l) else echo "The $i is not exist or Permission denied,please check it!" exit 2 fi done echo "the directories sum:$dsum" echo "the file sum:$fsum"
15、写一个脚本 通过命令行传递一个参数给脚本,参数为用户名 如果用户的id号大于等于500,则显示此用户为普通用户; #!/bin/bash for i in $*; do if id $user &> /dev/null; then userid=`id -u $i` if [ $userid -ge 500 ]; then echo "common user" fi done
16、写一个脚本 (1) 添加10用户user1-user10;密码同用户名; (2) 用户不存在时才添加;存在时则跳过; (3) 最后显示本次共添加了多少用户; #!/bin/bash # declare -i i=1 declare -i users=0 while [ $i -le 10 ]; do if ! id user$i &> /dev/null; then useradd user$i echo "Add user: user$i." let users++ fi let i++ done echo "Add $users users."
17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来; #!/bin/bash # declare -i i=1 declare -i uphosts=0 declare -i downhosts=0 net='172.16.250' while [ $i -le 20 ]; do if ping -c 1 -w 1 $net.$i &> /dev/null; then echo "$net.$i is up." let uphosts++ else echo "$net.$i is down." let downhosts++ fi let i++ done echo "Up hosts: $uphosts." echo "Down hosts: $downhosts."
18、打印九九乘法表; #!/bin/bash # declare -i i=1 declare -i j=1 while [ $j -le 9 ]; do while [ $i -le $j ]; do echo -e -n "${i}X${j}=$[$i*$j]\t" let i++ done echo let i=1 let j++ done
原创文章,作者:mississippi,如若转载,请注明出处:http://www.178linux.com/45085