马哥教育网络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)
上一篇 2016-08-01 14:33
下一篇 2016-08-01 17:46

相关推荐

  • 文件系统上的权限管理

                        文件系统上的权限管理: 一 、三种权限       &nbs…

    Linux干货 2017-04-03
  • 马哥教育网络班22期第二周课程练习1-未闻花名

    1、Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 pwd命令 该命令的英文解释为print working directory(打…

    Linux干货 2016-08-29
  • Linux用户和组管理

    Linux用户和组管理 Username / UID 管理员:root,0 普通用户 : 1–65535 系统用户 :系统已经已经存在专门用来对系统服务或者系统资源进行管理的 1–499(CentOS 6.X) 1–999 (CentOS 7.X) 登录用户:平时专门做系统管理的用户 500+ (CentOS 6.X) 1000+ (CeentOS 7.X)…

    Linux干货 2017-04-01
  • 文件查找

        Linux上的所有资源都以文件的形式存在,如果是手工查找的话,势必会浪费太多的时间,这里推荐俩款大家用于查找的工具。 文件查找    文件查找经常用到的俩款软件,locate和find    二者区别 locate:1) 非实时查找;    &nbsp…

    Linux干货 2016-08-18
  • 第三周作业

    1、列出1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。[root@localhost ~]# who | cut -d ‘ ‘ -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。[root@localhost ~]# who | tail -1 | export &am…

    Linux干货 2017-12-16
  • 运维学习笔记-看看别人家的Puppet代码

    这篇博客的目的是通过分析Forge上的Puppet模块来加深一些概念的理解,同时了解一些常用用法。 今天的例子是jfryman-nginx模块,它是原puppetlabs-nginx模块的升级版本,依赖3个Puppet公共模块:puppetlabs-apt,puppetlabs-stdlib和puppetlabs-concat。安装非常方便,puppet m…

    Linux干货 2016-06-23

评论列表(1条)

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

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