Linux学习(七)- 网络管理

路由表:由多条路由记录组成

     网关:目标网络和当前路由器(当前主机)智联,网关IP=接口IP,不直连,网关IP=下一个路由器的临近接口IP


目标网络IDnetmask接口 网关 
192.168.1.3255.255.255.0eth3
主机路由
192.168.1.0255.255.255.0eth0192.168.1.254网络路由
192.168.0.0255.255.0.0eth1192.168.2.254网络路由
0.0.0.00.0.0.0eth2192.168.3.254默认路由


DHCP:动态主机配置协议DHCP

        dhcp discover :由客户端发送广播,请求IP地址

        dhcp offer:有dhcp服务器发送广播,告知全网络我选择了谁向我提供IP地址

        dhcp ack:有指定的dhcp服务器向客户端提供信息

网络配置

     CentOs6中修改网卡名称方法

1.vim /etc/udev/rules.d/70-persistent-net.rules 

将其中对应要修改的网卡最后的NAME=改为所需要的名称,相匹配的网关

2.ethtool -i 网卡名          查看驱动模块名(不必要)

3.modprobe -r e1000  卸载模块

4.modprobe e1000     重新加载模块

5.在/etc/sysconfig/network-scripts目录中将原网卡的配置文件改文件名,使其格式为ifcfg-网卡名

没有文件就复制一个,然后改好名字

6.修改上述配置文件,将其中的DEVICE=改为网卡名

   DEVICE

   ONBOOT 网络服务启动时是否自动启用该网卡

   MN_CONTROLLDE

   BOOTPROTO=static(手动配置) 或  dhcp(自动获取)

   HWADDR 网卡地址

   若没有BOOTPROTO,需有IPADDR、NETMASK

7. service network restart (重新启动网络)

     配置网络接口

ifconfig (立即生效)  显示所有已激活的网卡信息

ifconfig 网卡名           查看指定网卡信息

ifconfig -a                   显示所有网卡信息,无论是否激活

ifconfig 网卡名 up/down   激活/禁用指定网卡

     路由管理命令

route    显示default,网关解析成域名

route -n     网关为IP地址

route add -net(一个网段)|-host(IP地址) gw  增加一个地址

route del   删除

      修改主机名

centos6及之前: 

   重启后有效:vim /etc/sysconfig/network

   当前有效:hostname xxxx.com

centos7:

   重启后有效:vim /etc/hostname

   当前有效:hostname xxxx.com

   当前和重启均有效:hostnamectl set-hostname xxx.com

查看系统信息  hostnamectl status 

     修改网卡字符工具

    centos6:system-config-network

    centos7:nmtui

网络配置文件

     /etc/sysconfig/network-scripts/ifcfg-IFACE

DEVICE:此配置文件应用到的设备

        HWADDR:对应的设备的MAC地址

        BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp

        NM_CONTROLLED: NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”

        ONBOOT:在系统引导时是否激活此设备

        TYPE:接口类型;常见有的Ethernet, Bridge

        UUID:设备的惟一标识

        IPADDR:指明IP地址

        NETMASK:子网掩码

        GATEWAY: 默认网关

        DNS1:第一个DNS服务器指向

        DNS2:第二个DNS服务器指向

        USERCTL:普通用户是否可控制此设备

        PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中

bond绑定

        bond:将多块网卡绑定同一个IP地址对外提供服务,通过bonding虚拟一块网卡,不是直接设置同一个IP地址

        工作模式  

bond0  按顺序从属接口

bond1  只有一个从属接口被激活

bond3  所有的从属接口传送数据包(广播效果,发一个包回应俩个包)

        bond 配置

    cd /etc/sysconfig/network-scripts/(bonding设备的配置文件)

            vim ifcfg-bond0 

DEVICE=bond0

BONDING_OPTS="mode=1 miimon=100

                        (miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路)

IPADDR=192.168.25.100

PREFIX=24

            vim ifcfg-eth3

DEVICE=eth3

MASTER=bond0

SLAVE=yes

     vim ifcfg-eth4

DEVICE=eth4

MASTER=bond0

SLAVE=yes

      /etc/init.d/NetworkManager stop

       /etc/init.d/network restart

      cat /proc/net/bonding/bond0  查看bond0状态

      cat /sys/class/net/bond0/bonding/mode  查看bond0模式

        删除bond0

      ifconfig bond0 down 

      rmmod bonding 


CentOs7中不能补全命令,安装bash-completion


ping

        ping x.x.x.x  检测主机是否在线

        ping -c1  只ping一个包

        ping -W1  错误后仅重试1s

        ping -s 60000  一个包大小

        ping -f  不显示ping的结果

lftp

        lftp -o  下载到指定目录

               put  上传

        lftpget 下载命令

wget

        wget 

            -P  指定下载目录,默认下载到运行程序的当前目录 

            -O  指定文件名,默认与原文件名一致

            - -limit-rate= XX(M,K,G)  指定传输速率 

            -c  中断的下载可以断点续传,如不加-c,将重新下载

            -q  静默下载

links 

            --dump 只看文字 

            --source 看源码 

ps  

        ps:查看进程信息(process state)  Linux系统各进程的相关信息均保持在/proc/PID目录下,支持三种选项  UNIX BSD GNU

        BSD方式  

            a 所有用户在所有终端上运行的前台进程 

            x 当前用户运行的所有进程(包括前台进程和后台daemon)

            ax 所有用户运行的所有进程

            aux 所有用户运行的所有进程,结果中显示用户名

            f 显示父子进程关系

            -C 用进程名进行过滤

            axo配合

            o 自定义输出列

        %cpu   %mem    pid    uid   gid   cmd   comm   tty(显示终端名,如为?,表示daemon后台进程)    ruser(命令的发起人)    euser(命令的真正执行人)   state

            k 排序或--sort

            VSZ:虚拟内存集,线性内存 表示操作系统承诺内存集

            RSS:常驻内存集  实际分配内存

        UNIX方式

    -e 显示所有进程

    -f 显示完整格式

    -ef 以完整格式显示所有进程 

    -eF 以更完整格式显示所有进程

    -efH 显示父子进程关系

    -eo 自定义显示结果,如下

                    %cpu,%mem,pid,nice,pri,stat,comm 

        nice值

    -20~19      数字越小,优先级越高

    renice -n # (-20~19) pid

    nice -n #(-20~19) -# command

        查看nice值方式 

     ps axo ni[ce]

pgrep 

        pgrep 按预定义的模式

     -u  UID/USERNAME 基于执行程序的用户名进行搜索

     -l   显示的结果中增加进程名

     -t   终端名

     -P  查看子进程

pidof 

        进程名   查询对应进程名的PID

uptime 

        显示当前时间,系统已启动的时间、当前上线人数,系统平均负载(1、 5、 10分钟的平均负载,一般不会超过1)

vmstat  监控优化命令

        vmstat各项含义

 

procs
memoryswapio(硬盘)systemcpu
r(running):可运行(正运行或等待运行)的进程个数swpd:当前虚拟内存的已使用空间si:表示内存从swap读入的总量bi:表示内存从硬盘读入的总量in(interrupts):每秒中断的速率us(user):用户空间时间
b(blocked):处于不可中断睡眠状态的进程个数free:物理内存的剩余空间,直至不够用时,才会使用虚拟内存so:表示从内存写出到swap的总量bo:表示从内存写出到硬盘的总量cs(context swith):进程切换速率sy(system):内核空间,系统空间

buffer:用于buffer的内存总量

(buffer 缓冲,平衡速度)




id(ldle):空闲时间

cache:用于cache的内存总量

(cache 快取,一段一段存,减缓速度不匹配)




wa(wait):等待时间





st(stolen):被虚拟机偷走的时间


  vmstat -s 详细查看内存信息

dstat 

        系统资源统计  替代 vmstat iostat(统计cpu和设备io信息)

        -c: 显示cpu相关信息

            -C #,#,...,total

        -d: 显示disk(磁盘读写状态)相关信息

            -D total,sda,sdb,...

        -g:显示page相关统计数据

        -m: 显示memory(内存状态)相关统计数据

        -n: 显示network相关统计数据

        -p: 显示process相关统计数据

        -r: 显示io请求相关的统计数据

        -s: 显示swapped相关的统计数据  

        --tcp

        --udp

        --unix

        --raw

        --socket

        --ipc

        --top-cpu:显示最占用CPU的进程

        --top-io: 显示最占用io的进程

        --top-mem: 显示最占用内存的进程

        --top-latency: 显示延迟最大的进

pmap  

        进程对应的内存映射

         pmap pid

         pmap -x pid(内容更多)


ls -l /proc/40052/fd |wc -l

通过查看进程文件描述符的数量是否增长来判断是否有内存泄露的问题


kill 

        查看信号,进程号

       -0 无作为,可以用来单纯判断进程是否运行.

       -1 强制进程重读配置文件

       -2 中止正在运行的进程;相当于Ctrl+c

       -3  相当于ctrl+\

       -9 强制杀死正在运行的进程

       -15 终止正在运行的进程 (默认)\

killall 按进程名称查看

pidof 查询进程号

pstree  树状形展示进程

pkill  

        是根据名称或其他属性来查询进程或给进程发信号的

        -u 用户名  杀死指定用户所运行的所有进程 

        pkill -t pts/1  杀死指定终端上运行的所有进程 

进程的前后台   之前在讲脚本的文章里提到过

        ctrl+z 将运行在前台的进程暂停  或 kill -19 PID

        bg 将在当前终端上暂停的进程,放入后台继续运行  或kill -18 PID

        fg 将在当前终端上暂停的或在当前终端上后台运行的进行,放入前台继续运行

使进程不再依附于终端在后台运行

        nohup command &> /dev/null

        screen; command (可以切回前台)

        (command&)

jobs 查看当前终端所有作业

并行运行多条命令

    三种方法

             1. vim all.sh    只能是脚本

                sh1&

                sh2&

                shn&

             2.(sh1&);(sh2&)        这俩个可以脚本也可以是命令

             3.{sh1&sh2&sh3}

计划任务

      at 选项 时间

          at -l = atq  列出等待进行的任务

          at -c  查看指定序号任务的详细信息

          at -v 显示版本号

          at -d = atrm 删除

  at 时间 -f 文件   写入文件

          at -m 无输出的命令也给root发邮件    看命令执行

                   有输出的命令自动发邮件

      配置at的方式

            1.  at   指定的时间

               需要做的任务内容

                       ctrl + d 退出保存

            2.  使用管道方式定制

                  echo   |at 时间

            3.  at   << EOF

                        输入所需要完成的任务内容

                 >>EOF

        at 时间 指定任务进行时间

              at 10:00 2018-04-01

         依赖于atd服务  需开启

            systemctl start atd

        /etc/at.deny  限制at配置计划任务

当仅/etc/at.deny 存在时(默认)写入deny的用户不能配置

当/etc/at.allow存在时/etc/at.deny失效,只有写在allow中的用户才能配置at

当/etc/at.allow及/etc/at.deny都不存在时,仅有root才能配置at

        crontab  周期性的计划任务(系统级)

        /etc/crontab    文件制定,多项以逗号间隔

        crontab 命令 

                -l  列出等待进行的任务

                -e  编辑

                -r  删除任务的有关文件所有  

                -i -r, 删除时询问

-u 编辑用户


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章