centos 7.x 网络命令管理初探

Centos7相较于Centos6而言,有着许多更新改动的地方:

  1. 内核版本2.6.x-x --> 3.10.x-x
  2. 软件(防火墙,默认数据库):iptablesMySQL --> firewalldMariaDB
  3. 文件系统EXT4 --> XFS
    XFS相较于EXT4,更好的支持了单个最大文件大小,由原先的16TB增加到9EB,在其他方面也做出了一定优化。但是就目前而言,使用者并不能体验到二者的区别。另外,XFS与EXT4的一些磁盘操作命令并不完全相同,如fdisk等。因而在一定程度上增加了系统维护成本。
  4. 系统配置命令
    a. 修改时区、语言、主机名:
    /etc/sysconfig/clock --> timedatectl set-timezone Asia/Shanghai
    /etc/sysconfig/i18n --> localectl set-locale LANG=zh-CN.UTF-8 ((en-US.utf-8));
    /etc/sysconfig/network , /etc/hostname --> hostnamectl set-hostname hostname.hostnamedomain
    b. 服务管理:
    service 服务名 start , chkconfig 服务名 off --> systemctl start 服务名
  5. 网络配置
    a. 网卡名:eth0 --> ens33(centos 7.5及后版本固定名称)
    b. 网络配置命令以及网络服务:
    ifconfig , setup --> ip , nmctl
    network --> NetworkManager

本文后续内容将会针对 5.b 内容展开讨论,分析ipnmctl(也就是控制NetworkManager的命令行工具。在终端界面同样提供了控制NM的图形化工具nmtui)的使用场景与常用命令。

网络设备知识概要

  • linux虚拟网桥
    网桥是一种工作在数据链路层的网络设备,可以配置IP、MAC地址等。linux虚拟网桥类似于一个虚拟交换机,与物理交换机具有相类似的功能。
    1. 刚创建一个虚拟网桥时,他就是一个独立的网络设备。只有一个端口连着协议栈,其余端口都没有连接任何设备。这样的网桥没有任何实际的功能。
    2. 将虚拟或物理网卡与网桥相连后,网桥开始发挥作用:此时网桥与网卡是一个双向的通道物理(或虚拟)网卡与协议栈之间成为单通道。网卡的数据将发送给网桥,而非协议栈。协议栈的数据则还能正常发送给网卡。网桥的mac地址变成了网卡的mac地址
      相当于网桥在网卡与协议栈之间做了一些手脚,拦截了网卡发送给协议栈的数据。
      但这里会引发一个问题。为了方便以下问题的讨论,我们将物理网卡、虚拟网桥分别命名为eth0br0。同时在协议栈上还存在另外一块物理网卡eth1。我们分析一下arp包:当eth0向eth1网卡发送arp请求时,eth1网卡的确会把自己的mac地址发送给eth0。但eth0会将该reply发送给br0网桥,而非协议栈。协议栈得不到eth1网卡的mac地址,从而通信失败。
      ETH0---arp request---BR0---ETH1
      ETH1---arp reply---ETH0---BR0--x--NPS(eth0网卡并没有将reply中的mac地址发给协议栈)
    3. 由此我们可以看出,给与网桥相连的网络设备配置IP没有意义。即:就算协议栈将数据包发送给该网络设备,它也无法得到应答包。因此需要将网络设备的IP让给网桥。当该网络设备不再拥有IP时,可以认为它与协议栈之间没有任何联系了。它相当于一更网线。
  • veth网卡
  • BOOTPROTO none与static的区别

NetworkManager.service

nmctl命令初探

  • nmctl unmanaged 的问题
  • man NetworkManager.conf
  • 有哪些是nmctl无能为力的

ip命令初探

  • 创建虚拟网桥实现一个demo

分析docker的网络拓扑

以上简要列举了本文将要分享的知识内容大纲,之后会逐渐完善。在更新过程中也可能会新增一些比较有意思的问题。

你可能感兴趣的:(centos 7.x 网络命令管理初探)