马哥教育网络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

相关推荐

  • Linux系统上命令的使用格式与十二个常用命令详解

    Linux系统上命令的使用格式 命令的语法通用格式: ~]# COMMAND OPTIONS ARGUMENTS 例如: ls -ld /var COMMAND(命令): ls ls命令用来显示目标列表 OPTIONS(选项): -ld -ld 是 -l -d 的简写 -l 以详细格式列表 -d 仅列目录 ARGUMENTS(参数): /var 命令对这个/…

    2018-02-26
  • 马哥教育网络班22期-第4周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@zck ~]# cp -r /etc/skel /home/tuser1 [root@zck ~]# ll -d /hom…

    Linux干货 2016-09-02
  • Hello World

    随笔

    Linux干货 2018-03-26
  • 8月5日课堂笔记

    bash基础及shell编程初步 bash的特性及bash脚本编程初步    操作系统硬件, 内核把底层硬件的复杂性给隐藏起来,统一输出为一种系统调用,系统调用非常底层,把系统调用封装成了库。让程序运行起来。用户在创建时有一个默认shell。终点设备用来当做标准输入和输出。  要想与主机交互,需要一个【终端】,附着在终端接口程序:  &n…

    Linux干货 2016-08-07
  • N26-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。   2.编辑/etc/group文件,添加组hadoop。          3.手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为h…

    2017-02-22
  • grep 正则表达式 find

    1.显示当前系统上root,fedora 或user1用户的默认shell [root@centos7 ~]# grep -E  “^(root|fedora|user1)” /etc/passwd root:x:0:0:root:/root:/bin/bash fedora:x:2003:2003::/home/fedora:/bi…

    2017-09-18

评论列表(1条)

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

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