1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
网桥:链接层设备,基于MAC地址过滤。
集线器:物理层设备,基本都属于半双工模式。集线器与网桥在现在的局域网中基本都不用了。
二层交换机:基本MAC转发数据,功能齐全的可支持VLAN等功能。常见的有100/1000M、16口/24口/48口。
三层交换机:功能齐全的交换机,具备都静态路由、动态路由、VLAN、policy、DHCP等功能。可用于网络的汇聚与核心设备。
路由器:一般用于局域网的出口、不同网络之间的连接的位置,常用的功能主要有各种路由协议、VPN、NAT等功能
2、IP地址的分类有哪些?子网掩码的表示形式及其作用
A类:1.0.0.0 – 126.255.255.255 其中10.0.0.0/8是私网IP地址。
B类:128.0.0.0 – 191.255.255.255 其中172.16.0.0/16 – 172.31.255.255/16是私网IP地址
C类:192.0.0.0 – 223.255.255.255 其中192.168.0.0/24是私网IP地址
D类:224.0.0.0 – 239.255.255.255 专用于组播
E类:240.0.0.0 – 240.255.255.255 专用实
3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。
OSI模型:物理层(集线器、网络) 、数据链路层(交换机)、网络层(路由器、防火墙)、传输层、表示层、会话层、应用层
TCP/IP模型:物理层、数据链路层、网络层、应用层
4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
vim /etc/sysconfig/network-srcipts/ifcfg-eth0 BOOTPROT=static IPADDR=192.168.1.2(例如) NETMASK=255.255.255.255(例如) GATEWAY=192.168.1.1(例如) DNS1=8.8.8.8 service network restart 重启网络服务,应用新配置
5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。
修改/etc/sysconfig/network-srcipts/目录下的网卡配置文件,修改完成后重启network服务以生效。
使用命令修改,如ifconfig eth0 192.168.1.1/24 up,但重启后丢失配置。还可以使用如ip\nmcli等命令
6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主使用红色显示;
#!/bin/bash ipaddr=172.16.250. for i in {1..254};do if ping $ipaddr$i -c 2 -W 2 &> /dev/null;then echo -e "\033[32m $ipaddr$i" else echo -e "\033[031m $ipaddr$i" fi done echo -e "\033[37m "
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 eth1:1 192.168.1.100/24 up 配置完成后ifconfig 会显示
ip addr add 192.168.1.101/24 dev eth1 配置完后后ifconfig 不显示,需要使用ip addr show
9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
ifconfig命令:
ifconfig 显示所有网卡的IP地址
ifconfig eth1 显示指定的网卡IP地址,这里eth1
ifconfig eth1 down/up 关闭或启用指定的网卡,这里eth1
ifconfig eth1:1 ip_address/mask up/down 配置子接口的IP地址,并启用或关闭
IP命令
常用的IP子命令有 {link | addr | route }
ip link
show {up|down} 查看状态属于是up或down的接口
set {up|down|arp on|arp off |mtu|mac_address|..}设置接口的二层属性
ip addr
add {dev|local|broadcast|..} 添加IP地址。例如ip addr add dev eth1:2 local 192.168.1.102/24
delete 删除接口的IP地址。ip addr delete dev eth1 192.168.1.103/24
show 查看接口的IP地址
ip route
ip route add 添加路由。例如ip route add 192.168.1.0/24 via 172.16.1.1 dev eth0 添加去往192.168.1.0/24的路由,下一跳是172.16.1.1;ip route add default 172.16.1.1 添加默认路由
delete 删除路由。例如ip route delete 192.168.1.0/24
show 查看路由表
10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。
rpm -i 安装指定rpm程序包
rpm -e 卸载指定程序
rpm –test 测试安装
rpm –nodeps 忽略依赖关系
rpm –replacepkgs 重新安装
rpm –nosignature:不检查来源的合法性
rpm –upgrage 安装有旧程序包,则升级,如果不存在旧版程序包,则安装
rpm –freshen:安装有旧程序包时,则升级,如果不存,则不执行升级操作
rpm -q{l | c } 显示指定程序是否安装\安装生成的文件\配置文件
yum install 安装指定程序
yum remove 卸载指定程序
yum update 升级指定程序
yum groupinstall 安装组程序包
yum groupupdate 升级组程序
yum groupremove 卸载组程序
yum info 查看指定程序的信息
11、如何使用发行版光盘作为yum repository,请描述该过程。
首先挂载到某一个目录,如mount /dev/cdrom1 /mnt
编辑或创建/etc/yum.repos.d/ 目录下以repo结尾的文件。
vim /etc/yum.repos.d/localadd.repos
[cdrm]
name=cdrm 名称
baseurl=file:///mnt/ 路径
cost=1 成本
gpgcheck=0 不检查
enabled=1 开启
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"
13、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;
#/bin/bash sum=0 for i in $*;do if id $i &> /dev/null ;then userid=`id -u $i` let sum=$sum+$userid else echo "user $i not found" fi done echo "User id sum is $sum"
14、写一个脚本
(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;
#/bin/bash for i in $*;do typed=0 typef=0 filenume=0 for ii in `ls $i`;do let filenume=$filenume+1 if [ -d $i/$ii ];then let typed=$typed+1 elif [ -f $i/$ii ]; then let typef=$typef+1 fi done echo "$i" echo "$i director $typed, file $typef" done
15、写一个脚本
通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户
#!/bin/bash for i in $*;do if ! id $i > /dev/null ; then echo "There is no for user $i" else userid=`id -u $i` if [ $userid -ge 500 ];then echo "user $i is average user " else echo "user $i is system user" fi fi done
16、写一个脚本
(1) 添加10用户user1-user10;密码同用户名;
#!/bin/bash for i in {1..10};do if id user$i > /dev/null; then continue else useradd user$i echo "user$i" | passwd --stdin user$i fi done
原创文章,作者:Net20-deamon,如若转载,请注明出处:http://www.178linux.com/27131
评论列表(1条)
写的很好,排版也很棒,加油