马哥教育网络20期+第8周练习博客

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

(0)
Net20-deamonNet20-deamon
上一篇 2016-08-01
下一篇 2016-08-01

相关推荐

  • ansible进阶(roles应用)

    ansible 进阶 一、roles简介 一个项目从开始到结束,不是简单几十个playbook就可以完事了,当文件数很多,有上百个的话,仅通过简单的includes不停的引用,那最终的结果错综复杂。这个时候ansible roles就可以很好的发挥它的作用了。 roles,字面意思是角色的含义,可以理解为有相互关联功能的集合。我们把安装ntp、mem、ngi…

    2017-01-05
  • 文件查找命令find详解

    文件的查找命令 find 用法 功能:实时查找工具,通过遍历指定路径完成文件查找 工作特点: •  查找速度略慢•  精确查找•  实时查找•  可能只搜索用户具备读取和执行权限的目录 语法:   find [OPTION]… [查找路径] [查找条件] [处理动作] 查找路径:指定具体目标路径;默认为当前目录查找条件…

    Linux干货 2016-11-07
  • 查找与压缩

    文件查找 在文件系统上查找符合条件的文件;  文件查找:locate, find locate :非实时查找(数据库查找) find :实时查找 locate 1.查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db  2.依赖于事先构建的索引,索引的构建是在系统较为空闲时自动进行(周期性任务);管理需要员手动更新数据库…

    Linux干货 2016-08-22
  • N26-第九周作业-邢岩

    马哥门徒-N26-邢岩 相信自己、勤奋努力、不断总结!shell脚本练习需要重复、重复、再重复!那么,我就继续来写、写、写。 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #******************************…

    Linux干货 2017-04-03
  • shell编程之变量,数值计算,字符比较,文件测试小记

     变量     变量:能储存计算结果或能表示值抽象概念,其指向的内存空间中一段地址。        变量赋值:name=value    溢出:字符超过定义内存中间大小    变量类型:数据类型,存储的格式,参与的运算   &nb…

    Linux干货 2016-08-15
  • linux基础操作-week6

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; # cp /etc/rc.d/rc.sysinit /tmp #vim /tmp/rc.sysinit 末行模式: :%s@^[[:space:]]\{1,\}@#&@g 匹配分析:  &nbs…

    Linux干货 2016-11-28

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-02 10:49

    写的很好,排版也很棒,加油