第八周作业(网络、bash脚本)

1-3,计算机网络基础博客已总结,简要补充

协议的分层

为了使那些比较复杂的网络协议更加简单化。ISO根据各通信协议的功能将网络体系分成七层。

在这个分层中,下层为上一层提供服务。上下层之间进行交互时所遵循的约定叫做“接口”。同层之间的交互所遵循的约定叫做“协议”

第八周作业(网络、bash脚本)

说的更形象一点,两个中国人打电话这个通信。就可以分为两层,同层之间的叫协议,我说汉语,你也说汉语,我跟个韩国人打电话,肯定沟通不了。电话之间也要有协议,我用我的电话打到你的吹风机上也不行吧。我跟电话之间的联系,叫做接口,就是录音、扬声器吧,将声波转化为电磁波,发送给你。

第八周作业(网络、bash脚本)

OSI参考模型

每层的功能如下:

第八周作业(网络、bash脚本)

通信过程如下:

第八周作业(网络、bash脚本)

A对B发一句“早上好”的电子邮件,内容早上好

在应用层加上应用层首部,作用是指明目标地址,发件人为用户A;

到达表示层加上表示层首部,作用将数据从主机特有的格式转化为网络标准传输格式;

到达会话层加上会话层首部,作用是选择采用哪个连接,何种方法传输数据;

到达传输层,传输层作用是保证所传输的数据到达目标地址,如果没有到达则会负责重发;

到达网络层,A到B之间有很多路要走,选择哪一条路是靠网络层

到达数据链路层,数据链路层的作用是,在这些通过传输介质互联的设备之间进行数据处理,将数据转化为0,1的形式。

到达物理层,将数据的0,1转化为电压和脉冲传给B主机的地址,这个地址被称之为MAC地址,也叫物理地址。

然后B主机拿到0,1的数据再经过层层转变,就变为B主机应用层可读的信息。

网络的构成要素

第八周作业(网络、bash脚本)

网桥/2层交换机

第八周作业(网络、bash脚本)

路由器/3层交换机

第八周作业(网络、bash脚本)

网关

第八周作业(网络、bash脚本)

4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)

修改/etc/sysconfig/network-scripts/ifcfg-eth0,添加以下内容
                                BOOTPROTO=static
                                ONBOOT=yes
                                DNS1=10.1.1.254
                                IPADDR=10.1.1.100
                                GATEWAY=10.1.1.254
                                DNS1=10.1.1.254

5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。

方法一:使用ifconfig或者ip 临时添加网络信息,并使用route命令添加默认网关

     ifconfig IF_NAME IP_ADDR network MASK

例子:ifconfig eth0:1  192.168.0.3

       route add default gw GATEWAY
例子:route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1

方法二:使用修改/etc/sysconfig/network-scripts/ifcfg-IF_NAME文件

    ifcfg-IFACE 配置文件参数:
    DEVICE:此配置文件对应的设备的名称;
    ONBOOT:在系统引导过程中,是否激活此接口;
    UUID:此设备的惟一标识;
    IPV6INIT:是否初始化 IPv6;
    BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有 dhcp、bootp、
    static、none;
    TYPE:接口类型,常见的有 Ethernet, Bridge;
    DNS1:第一 DNS 服务器指向;
    DNS2:备用 DNS 服务器指向;
    DOMAIN:DNS 搜索域;
    IPADDR: IP 地址;
    NETMASK:子网掩码;CentOS 7 支持使用 PREFIX 以长度方式指明子网掩码;
    GATEWAY:默认网关;
    USERCTL:是否允许普通用户控制此设备;
    PEERDNS:如果 BOOTPROTO 的值为“dhcp”,是否允许 dhcp server 分配的 dns 服务器指
    向覆盖本地手动指定的 DNS 服务器指向;默认为允许;
    HWADDR:设备的 MAC 地址;      

方法三:CentOS 7 使用nmtui命令配置网络信息,Centos 7是setup。

6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;在线的主机使用绿色显示;不在线的主使用红色显示;

#!/bin/bash
 echo -e "\033[34m Find the online users. Input 'Ctrl + C' to end script run.\033[0m"
                   for ip in {250..254}; do
                            trap 'echo ; echo "Secrpt stoping by user.."; echo ;exit' INT
                            ping -c 1 -w 1 "172.16.250.$ip" &>/dev/null
                            if [ $? -eq 0 ]; then
                                        echo -e "\033[32m 172.16.250.$ip online \033[0m"
                           else
                                        echo -e "\033[31m $1.$ip time out !!!\033[0m"
                           fi
                  done

7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;

ifcfg-IFACE 配置文件参数:
        DEVICE:此配置文件对应的设备的名称;
        ONBOOT:在系统引导过程中,是否激活此接口;
        UUID:此设备的惟一标识;
        IPV6INIT:是否初始化 IPv6;
        BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有 dhcp、bootp、
        static、none;
        TYPE:接口类型,常见的有 Ethernet, Bridge;
        DNS1:第一 DNS 服务器指向;
        DNS2:备用 DNS 服务器指向;
        DOMAIN:DNS 搜索域;
        IPADDR: IP 地址;
        NETMASK:子网掩码;CentOS 7 支持使用 PREFIX 以长度方式指明子网掩码;
        GATEWAY:默认网关;
        USERCTL:是否允许普通用户控制此设备;
        PEERDNS:如果 BOOTPROTO 的值为“dhcp”,是否允许 dhcp server 分配的 dns 服务器指
        向覆盖本地手动指定的 DNS 服务器指向;默认为允许;
        HWADDR:设备的 MAC 地址;

8、如何给网络接口配置多个地址,有哪些方式?

方法一:ifconfig eth0:1 192.168.1.2 netmask 255.255.255.0
方法二:
      CentOS 6:vim /etc/sysconfig/network-scripts/ifcfg-eth0
                添加  IPADDR1、IPADDR2...
      CentOS 7:vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
                添加  IPADDR1、IPADDR2...

9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。

 ifconfig 
    常见用法:
        查看网卡信息:ifconfig [interface]
        查看所有网卡信息:ifconifg -a
        开启或关闭网卡:ifconfig IFACE [up|down]
        配置网卡参数:ifconfig interface [aftype] options | address ...
        配置网卡IP地址:
            ifconfig IFACE IP/mask [up]
            ifconfig IFACE IP network MASK

 ip:显示/配置路由,接口,策略路由和隧道
        常见用法:
             网卡添加多一个IP地址,并设置别名为eth0:0
                 ip addr IPADDR/MASK dev eth0 label 'eth0:0'
            显示网卡设备的信息: ip addr show 
            清除IP地址信息:ip addr flush dev interface
            添加路由:ip route add TARGET via GW dev INTERFACE src SOURCE_IP
            删除单条路由: ip route del TARGET 


 route:路由管理命令
            查看路由条目:route -n
            添加路由条目:route add
            route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] if]
            删除路由:route del
            route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]


netstat :显示网络连接、路由表、接口数据统计、伪装连接、组播成员关系
    常用选项:
                        -t : 显示TCP协议相关已建立的连接(ESTABLISHED)
                        -u : 显示UDP协议相关已建立的连接(ESTABLISHED)
                        -r : 显示raw socket(裸套接字)相关已建立的连接(ESTABLISHED)
                        -l : 处于监听状态的连接
                        -n : 以数字显示IP和协议端口(默认显示协议名称,如SSH)
                        -a : 显示所有状态的连接
                        -e : 扩展格式
                        -p : 显示相关进程及PID

常用组合:
                        -tan , -uan , -tnl, -unl,-tunlp

ss:网络状态查看工具
常见选项:
    -t : tcp协议相关
    -u : udp协议相关
    -w : 裸套接字相关
    -x : unix sock相关
    -l : listen状态的连接
    -a : 所有
    -n : 数字格式
    -p : 相关的程序及PID
    -e : 扩展的信息
    -m : 内存用量
    -o : 计时器信息
    常用组合:
                        -tan , -tanl , -tanlp , -uan,-tunlp

10、11题见博客

12、写一个脚本,完成以下功能

(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干; (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串; (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串; (4) 分别统计S开头和K开头的文件各有多少; #!/bin/bash #

        for  i in  $(ls /etc/rc.d/rc3.d/  |grep "^K");do
                echo $i.stop
                let sum1+=1
        done

        for  j in  $(ls /etc/rc.d/rc3.d/  |grep "^S");do
                echo $j.start
                let  sum2+=1
        done

        echo   "the number of "K" is  $sum1 "
        echo   "the number of "S" is $sum2 "

第八周作业(网络、bash脚本)

13、写一个脚本,完成以下功能

(1) 脚本能接受用户名作为参数; (2) 计算此些用户的ID之和; #/bin/bash #

        if [ $# -lt 1 ];then
                echo "at least one username"
                exit 0
        fi

        for i in $*;do
                for j in $(id -u $i);do

                        let sum+=$j
                done
                echo "id.$i =  $(id -u $i) "
        done

        echo "sum=$sum"

第八周作业(网络、bash脚本)

14、写一个脚本

(1) 传递一些目录给此脚本; (2) 逐个显示每个目录的所有一级文件或子目录的内容类型; (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型; #!/bin/bash #

    if [ $# -lt 1 ];then
            echo "at least one file"
            exit 1
    fi

    for i in $*;do
            if [ -b $j ];then
                    echo "$j is block file."
                    let sum1+=1
            elif [ -c $j ];then
                    echo "$j is character file."
                    let sum1+=1
            elif [ -d $j ];then
                    echo "$j is a directory."
                    let sum1+=1
            elif [ -f $j ];then
                    echo "$j is a common file."
                    let sum1+=1
            elif [ -L $j ];then
                    echo "$j is a symbolic link."
                    let sum1+=1
            elif [ -p $j ];then
                    echo "$j is a pipe file."
                    let sum1+=1
            elif [ -S $j ];then
                    echo "$j is a socket file."
                    let sum1+=1
            else    
                    echo "$j is unknown file."
                    let sum1+=1
            fi
    done

                    echo "$sum1"

第八周作业(网络、bash脚本)

15-18 前面bash脚本总结过

原创文章,作者:N24_yezi,如若转载,请注明出处:http://www.178linux.com/64078

(0)
N24_yeziN24_yezi
上一篇 2016-12-18
下一篇 2016-12-18

相关推荐

  • M20用户和组练习题和作业

    1、创建用户gentoo ,附加组为bin 和root ,默认shell为/bin/csh ,注释信息为"Gentoo Distribution"  useradd gentoo -G bin,boot -s /bin/csh -c "Gentoo Distribution" 2 、创建下面的用户、组和组成员…

    Linux干货 2016-08-03
  • vim常用快捷键

    1、vim /etc/vimrc进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看 set nu      #行号 set tabstop=4  #一个tab为4个空格长度 set ai  #设置自动缩进 syntax on   #高亮   2、基本 空格键 向右移动一格 x 删除后面…

    2017-09-05
  • Linux中的 德·摩根定律

    Linux中的 德·摩根定律 §·德·摩根定律介绍 ※概念 在命题逻辑和逻辑代数中,德·摩根定律(或称德·摩根定理)是关于命题逻辑规律的一对法则。 奥古斯塔斯·德·摩根首先发现了在命题逻辑中存在着下面这些关系: 非(P 且 Q) = (非 P) 或 (非 Q) 非(P 或 Q) = (非 P) 且 (非 Q) 德·摩根定律在数理…

    Linux干货 2016-08-15
  • shell中if条件字符串、数字比对,[[ ]]和[ ]区别

    今天学习shell, if条件流程控制,但发现if[ ]]和if[ ]什么时候用不是清楚,正好看到一篇文章,非常好,转载,留个备份。 参考: http://www.51testing.com/?uid-7701-action-viewspace-itemid-13731 http://blog.csdn.net/sunboy_2050/article/det…

    Linux干货 2016-08-12
  • 如何修复系统问题–实验

    实验一: MBR的数据被破坏了,系统无法开机启动,如果有光盘,会自动启动光盘,因为在检查的时候,认为是没有硬盘设备的 dd if=/dev/zero of=/dev/sda bs=1 count=446 1. 进入光盘的救援模式中2. 切根  chroot /mnt/sysimage/   再使用 grub-install /d…

    Linux干货 2017-09-03
  • Haproxy+keepalivd+LAMP

    目录 一、试验部署 1、实验要求 2、实验准备 3、拓扑结构 4、网络规划 二、基础设置 1、LAMP配置 2、HAProxy配置 3、Keepalived配置 三、测试 四、总结 一、试验部署 1、实验要求 (1) 动静分离部署wordpress,动静都要能实现负载均衡,要注意会话的问题; (2) 给出设计拓扑,写成博客; (3)haproxy的设定要求:…

    2017-05-18

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-23 12:13

    赞,针对自己的理解再加上几幅图更能体现知识~最后一个脚本能加个使用说明会更好一点~继续加油~