linux网络命令与软件管理

1、描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景和区别

网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,用来连接不同网段。

集线器称为“Hub”,主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。

二层交换机工作于OSI模型的第2层(数据链路层),可识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。

三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。

路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。

2、IP地址的分类有哪些?子网掩码的表示形式及其作用

IP地址的分类:

A类用于公网或大型局域网(地址范围1.0.0.0到127.255.255.255,默认掩码255.0.0.0),其中10.0.0.0/8是私网IP地址。

B类用于公网或中型局域网(地址范围128.0.0.0-191.255.255.255,默认掩码255.255.0.0),其中172.16.0.0/16 – 172.31.255.255/16是私网IP地址。

C类用于公网或小型局域网(地址范围192.0.0.0-223.255.255.255,默认掩码255.255.255.0),其中192.168.0.0/24是私网IP地址。

D类用于组播(地址范围从224.0.0.0到239.255.255.255)

E类用于实验

子网掩码的表示形式:

①点分十进制,如255.255.255.0

②ip地址后加'/'以及[1-32]的数字

子网掩码的作用:

①区别网络标识和主机标识

②将一个大的IP网络划分为若干小的子网络

3、计算机的分层模型

OSI模型:

应用层:提供应用程序之间通信;

表示层:处理数据格式、数据加密;

会话层:建立,维护,管理会话连接涉及操作系统和网络接口和各种数据;

传输层:建立主机端到端连接。涉及物理设备:四层交换机

网络层:寻址和路由选择。涉及物理设备:路由器

数据链路层:提供介质访问,链路管理,将数据分帧并处理流控制。涉及物理设备:网卡,网桥,交换机

物理层:比特流传输,将数据转换为可通过物理介质传送的电子信号。涉及物理设备:双绞线、同轴电缆,集线器

TCP/IP模型:

应用层(对应OSI模型的应用层,会话层,表示层)

传输层(对应OSI模型的传输层)

网络互联层(对应OSI模型的网络层)

网络接口层(对应OSI模型的数据链路层和物理层)

4、如何将linux主机接入TCP/ip网络

    使用ifconfig查看网卡配置信息,看主要使用的网卡名称

    到/etc/sysconfig/network-scripts/目录下查找对应的网卡配置文件

    主要配置项

    DEVICE(设备名称)

    TYPE(设备类型。端口为Ethernet) 

    ONBOOT(系统启动时读取) 

    BOOTPROTO=static(ip配置协议。当前为静态ip,可设置DHCP,) 

    IPADDR(ip地址) 

    NETMASK(子网掩码) 

    GATEWAY(网关地址) 

    DNS1(DNS服务器地址)

    重启网络服务 service network restart

5、为linux主机配置网络信息的方式有哪些

    ifconfig eth0 IP/mask

    ip addr add IP device eth0

    Linux网络属性配置的tui(text user interface):system-config-network-tui

    使用setup图形界面设置

6、写一个脚本,探测主机之间的状态

    #!/bin/bash

    #

    for i in { 1 254 };do

        ping -c 1 -w 1 172.16.250.$i &> /dev/null

        if [ $? -eq 0 ] ; then

            echo -e " \033[;32m 172.16.250.$i \033[0m"

        else

            echo -e " \033[;31m 172.16.250.$i \033[0m"

        fi

    done

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:

        ifconfig IFACE_ALIAS IPADDR

    ip:

        ip addr add ip_addr/mask dev IFACE label alias_label

    配置文件:

        ifcfg-IFACE_ALIAS

            DEVICE=IFACE_ALIAS

9、常用的网络管理工具有哪些

    ifconfig命令

                    ifconfig [interface]

                        # ifconfig -a

                        # ifconfig INTERFACE [up|down]

                     ifconfig interface [aftype] options | address …

                         # ifconfig INTERFACE IP/mask [up]

                         # ifconfig INTERFACE IP netmask MASK

                 route命令

                     路由管理命令

                         查看:route -n

                         添加:route add

                             route add  [-net|-host]  target [netmask Nm] [gw Gw] [[dev] If]

     

                                 目标:192.168.1.3  网关:172.16.0.1

                                 ~]# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

     

                                 目标:192.168.0.0 网关:172.16.0.1

                                 ~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0

                                 ~]# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

     

                                 默认路由,网关:172.16.0.1

                                 ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1

                                 ~]# route add default gw 172.16.0.1

     

                         删除:route del

                             route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

     

                                 目标:192.168.1.3  网关:172.16.0.1

                                 ~]# route del -host 192.168.1.3

     

                                 目标:192.168.0.0 网关:172.16.0.1

                                 ~]# route del -net 192.168.0.0 netmask 255.255.255.0

     

                     netstat命令:

                         netstat – Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

     

                         显示网络连接:

                             netstat [–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[–extend|-e]]  [–program|-p]

                                 -t: tcp协议相关

                                 -u: udp协议相关

                                 -w: raw socket相关

                                 -l: 处于监听状态

                                 -a: 所有状态

                                 -n: 以数字显示IP和端口;

                                 -e:扩展格式

                                 -p: 显示相关进程及PID

     

                                 常用组合:

                                     -tan, -uan, -tnl, -unl

     

                         显示路由表:

                             netstat  {–route|-r} [–numeric|-n]

                                 -r: 显示内核路由表

                                 -n: 数字格式

     

                         显示接口统计数据:

                             netstat  {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n] 

     

                                 # netstat -i

                                 # netstat -I IFACE  

     

            ip命令:

                ip – show / manipulate routing, devices, policy routing and tunnels

     

                ip [ OPTIONS ] OBJECT { COMMAND | help }

     

                    OBJECT := { link | addr | route }

     

                link OBJECT:

                    ip link – network device configuration

     

                        set

                            dev IFACE

                            可设置属性:

                                up and down:激活或禁用指定接口;

     

                        show

                            [dev IFACE]:指定接口

                            [up]:仅显示处于激活状态的接口

     

                    ip address – protocol address management

     

                        ip addr { add | del } IFADDR dev STRING

                            [label LABEL]:添加地址时指明网卡别名

                            [scope {global|link|host}]:指明作用域

                                global: 全局可用;

                                link: 仅链接可用;

                                host: 本机可用;

                            [broadcast ADDRESS]:指明广播地址

     

                            例如:

                            ip addr add 192.168.1.111/24 dev eth0 label eth0:0

     

                        ip address show – look at protocol addresses

                            [dev DEVICE]

                            [label PATTERN]

                            [primary and secondary]

     

                        ip address flush – flush protocol addresses

                            使用格式同show

     

                    ip route – routing table management

     

                        ip route add

                            添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP

                                TARGET:

                                    主机路由:IP

                                    网络路由:NETWORK/MASK

     

                                添加网关:ip route add defalt via GW dev IFACE

     

                        ip route delete

                            删除路由:ip route del TARGET 

     

                        ip route show

                        ip route flush

                            [dev IFACE]

                            [via PREFIX]

     

            ss命令:

                格式:ss [OPTION]… [FILTER]

                    选项:

                        -t: tcp协议相关

                        -u: udp协议相关

                        -w: 裸套接字相关

                        -x:unix sock相关

                        -l: listen状态的连接

                        -a: 所有

                        -n: 数字格式

                        -p: 相关的程序及PID

                        -e: 扩展的信息

                        -m:内存用量

                        -o:计时器信息

                        FILTER := [ state TCP-STATE ] [ EXPRESSION ]

10、linux系统软件包管理方法

    CentOS系统上rpm命令管理程序包:

        安装、卸载、升级、查询、校验、数据库维护

        安装:

            rpm {-i|–install} [install-options] PACKAGE_FILE …

                -v: verbose

                -vv: 

                -h: 以#显示程序包管理执行进度;每个#表示2%的进度

     

                rpm -ivh PACKAGE_FILE …

     

                    [install-options]

                        –test: 测试安装,但不真正执行安装过程;dry run模式;

                        –nodeps:忽略依赖关系;

                        –replacepkgs: 重新安装;

     

                        –nosignature: 不检查来源合法性;

                        –nodigest:不检查包完整性;

     

                        –noscipts:不执行程序包脚本片断;具体分为以下四类:(可单独选择某类)

                            %pre: 安装前脚本; –nopre

                            %post: 安装后脚本; –nopost

                            %preun: 卸载前脚本; –nopreun

                            %postun: 卸载后脚本;  –nopostun

     

        升级:

            rpm {-U|–upgrade} [install-options] PACKAGE_FILE …

            rpm {-F|–freshen} [install-options] PACKAGE_FILE …

     

                upgrage:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”;

                freeshen:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作;

     

                rpm -Uvh PACKAGE_FILE …

                rpm -Fvh PACKAGE_FILE …

     

                其他选项与上面安装一样

     

                –oldpackage:降级;

                –force: 强行升级;

     

            注意:

                (1)uname -r 不要对内核做升级操作;Linux支持多内核版本并存,因此,对直接安装新版本内核

                (2) 如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的同一个配置文件并不会直接覆盖老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留

     

        查询:

            rpm {-q|–query} [select-options] [query-options]

     

            [select-options]

                -a: 所有包

                -f: 查看指定的文件由哪个程序包安装生成

                 

            # rpm -qf /etc/fstab

            setup-2.5.58-9.el5 

             

                -p /PATH/TO/PACKAGE_FILE:针对尚未安装的程序包文件做查询操作;

                查询尚未安装的程序包

                rpm -qlp /PATH/TO/PACKAGE_FILE

     

                –whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供;

                –whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;

     

            [query-options]

                –changelog:查询rpm包的changlog (制作的,非作者发布的)

                -c: 查询程序的配置文件

                -d: 查询程序的生成文档

                -i: information

                -l: 查看指定的程序包安装后生成的所有文件;

                –scripts:程序包自带的脚本片断

                -R: 查询指定的程序包所依赖的CAPABILITY;

                –provides: 列出指定程序包所提供的CAPABILITY;

                –conflicts:列出创建包与哪些包可能冲突

     

            用法:

                -qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE

                -qpi PACKAGE_FILE, -qpl PACKAGE_FILE, …

                -qa

     

        卸载:

            rpm {-e|–erase} [–allmatches] [–nodeps] [–noscripts]

               [–notriggers] [–test] PACKAGE_NAME …

     

     

        校验:

            rpm {-V|–verify} [select-options] [verify-options]

     

               S file Size differs

               M Mode differs (includes permissions and file type)

               5 digest (formerly MD5 sum) differs

               D Device major/minor number mismatch

               L readLink(2) path mismatch

               U User ownership differs

               G Group ownership differs

               T mTime differs

               P caPabilities differ

     

        包来源合法性验正及完整性验正:

            完整性验正:SHA256

            来源合法性验正:RSA

     

     

            公钥加密:

                对称加密:加密、解密使用同一密钥;

                非对称加密:密钥是成对儿的,

                    public key: 公钥,公开所有人

                    secret key: 私钥, 不能公开

     

     

            导入所需要公钥:

                rpm –import /PATH/FROM/GPG-PUBKEY-FILE

     

                CentOS 7发行版光盘提供的密钥文件:RPM-GPG-KEY-CentOS-7

     

        数据库重建:

            rpm {–initdb|–rebuilddb}

                initdb: 初始化

                    如果事先不存在数据库,则新建之;否则,不执行任何操作;

     

                rebuilddb:重建

                    无论当前存在与否,直接重新创建数据库;

11、配置本地repo respository

     (1) 挂载光盘至某目录,例如/media/cdrom

                # mount -r -t iso9660 /dev/cdrom /media/cdrom

     (2) 创建配置文件

           在CentOS7中

            name=

            baseurl=file:///

            gpgcheck=0

            enabled=

12、写一个脚本

    #!/bin/bash

    ls /etc/rc.d/rc3.d/K*|awk '{printf "%s Stop \n", $1}'|awk -F'/' '{print $NF}'

    ls /etc/rc.d/rc3.d/S*|awk '{printf "%s Start \n", $1}'|awk -F'/' '{print $NF}'

    k_lines=`ls /etc/rc.d/rc3.d/K*|awk '{print NR}'|tail -1`

    s_lines=`ls /etc/rc.d/rc3.d/S*|awk '{print NR}'|tail -1`

    echo "k start lines is $k_lines"

    echo "s start lines is $s_lines"

13、写一个脚本

    #/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、写一些脚本

    

    #/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、写一个脚本

    #!/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;密码同用户名;

    (2) 用户不存在时才添加;存在时则跳过;

    (3) 最后显示本次共添加了多少用户;

   #!/bin/bash

    for i in {1..10}; do

        if id user$i &> /dev/null ;then

            echo "user$i exists."

            continue 3

        else

            useradd user$i

            if [ $? -eq 0 ]; then

                echo "user$i" | passwd –stdin user$i &> /dev/null

                echo "useradd user$i finished."

            let sum++

            fi

        fi

    done

    echo " useradd $sum user "

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

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

相关推荐

  • inode的理解

    一、inode是什么 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的&q…

    Linux干货 2017-01-16
  • 16个很有用的在线工具

    1. ExplainShell.com 命令解释 对于Linux用户来说每天都会写各种命令和脚本,那么你可以使用这个网站工具来查看命令式如何工作的,这样可以避免不必要的错误出现;也是一个很好的学习命令的方式 2. BashrcGenerator.com 定制个性命令提示符 简单说就是个性化生成命令提示符,可将生成的代码…

    Linux干货 2015-03-13
  • 正则表达式

    1:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法,它是以行为单位进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找,删除,替换某特定字符串的处理程序。 2:一些参数: grep [-A] [-B] [–color=auto] ‘收索字符串’ filename -A :后面可加数字…

    2017-07-29
  • 马哥教育网络第21期-第十三周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; &n…

    Linux干货 2016-12-26
  • KeepAlived高可用集群详解及拓扑实验搭建配置

    Linux Cluster:KeepAlive 1.集群类型:LB(负载均衡集群),HA(高可用集群),HP(高性能集群)     LB:均衡负载的实现LVS     HA:高可用的实现KeepAlived 2.RS:健康状态检测方式: (1)网络层:icmp ping (2)传…

    Linux干货 2016-11-01

评论列表(1条)

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

    总结的还是不错的,能注意下整体排版会更不错~继续加油~