# 系统管理篇(1)

# 一、查看网络状态

# 1. 网络接口(网卡)命名
  • 板载网卡 eno1
  • PCI-E 网卡 ens33
  • 无法获取物理信息的 PCI-E 网卡 enp0s3
  • CentOS7 使用一致性网络设备命名,当上面都不匹配使用 eth0
  • 网络接口命名可以通过修改 grub 文件中的 biosdevname net.ifnames 两个参数进行修改
# 2. 网络工具包
  • net-tools 包:ifconfig、route、netstate
  • iproute2 包:ip、ss
# 3. 查看网络接口状态
  • ip 命令
ip addr ls
ip a # 简写
# 对照的 ifconfig 命令
ifconfig
# 4. 查看网关信息
route -n # 使⽤ -n 参数不解析主机名

# 二、修改网络配置

# 1. 主机名

主机名修改完成后注意修改 /etc/hostname 文件。

hostnamectl set-hostname <主机名>
hostname # 查看
# 2. 修改网络配置
# 激活
ip link set dev <网卡接口名> up
# 对照的 ifup 命令
# 配置网络接口
ip addr add 172.16.182.11/24 dev <网卡接口名>
# 对照的 ifconfig 命令
# 配置网关
ip route add 192.168.159.0/24 via 192.168.159.2
# 对照的 route 命令

# 三、修改网络配置文件

# 1. 网卡配置文件
  • 文件位置: /etc/sysconfig/network-scripts/ifcfg-<网络接口名>
BOOTPROTO=static # 还有dhcp,none
ONBOOT=yes
IPADDR=192.168.159.10
NETMASK=255.255.255.0 # 也可以使用PREFIX=24,24为掩码位数
GATEWAY=192.168.159.2
DNS1=192.168.159.2 # 最多可配置三个DNS服务器
  • 网络服务管理程序

    • 分为两种:SysV 和 systemd
    • 服务分别为:network,NetworkManager
  • 修改配置文件后,必须重启服务,才能生效。

    systemctl restart network
# 2. hosts 配置文件
  • 文件位置: /etc/hosts

    <ip> <主机名>
    192.168.159.10 mall

# 四、NetworkManager

nmcli 四类常用命令:n、g、c、d

  1. # nmcli networking
  • 显示 NetworkManager 是否接管网络设置
nmcli n
  • 查看网络连接状态:
nmcli n c

网络连接状态共有五种:full、limited(连网,但无法上网)、portal(连网,但需要认证登录后才能上网)、none(没连网)和 unknown。

  • 开启、关闭网络连接:
nmcli n on
nmcli n off
  1. # nmcli general
  • 显示系统网络状态:
nmcli g
  • 显示主机名:
nmcli g h
  • 更改主机名:
nmcli g h 新的主机名

修改主机名后,需要重启 NetworkManager。

  1. # nmcli connection
  • 显示所有网络连接的信息:
nmcli c
nmcli c s -a # nmcli c show --active
  • 显示某一特定连接的详细信息(以 ens33 为例):
nmcli c s ens33
  • 启动 / 关闭指定连接:
nmcli c up ens33
nmcli c down ens33
  • 修改连接:

语法: nmcli c modify ens33 [ + | - ]选项 选项值

nmcli c m ens33 ipv4.address 192.168.159.10/24  # 修改 IP 地址和子网掩码
nmcli c m ens33 ipv4.method manual             # 修改为静态配置,默认是 auto. 必须先修改 ipv4.address,然后才能修改 ipv4.method
nmcli c m ens33 ipv4.gateway 192.168.159.2      # 修改默认网关
nmcli c m ens33 ipv4.dns 192.168.159.2          # 修改 DNS
nmcli c m ens33 +ipv4.dns 114.114.114.114      # 添加一个 DNS
nmcli c m ens33 connection.autoconnect yes     # 开机启动

用空引号 "" 代替选项的值,可将选项设回默认值。注意修改后需要通过 nmcli c up ens33 启动配置生效。

  • 新增连接:

语法: nmcli c add type 连接类型 选项 选项值

type 为必选项,我们通常用到的是 ethernet

nmcli c a type ethernet con-name ens36 ifname ens36
  • 删除指定连接:
nmcli c delete ens33 # delete 不可简写为 d,否则与 down 冲突,但可以简写为 de
  • 重载配置文件:
nmcli c r # 重载所有连接的配置文件
nmcli c l ifcfg-ens33 # 重载某一指定连接的配置文件
  1. # nmcli device
  • 显示所有网络接口设备的状态:
nmcli d # nmcli device status
  • 显示设备的详细信息:
nmcli d sh # show 不可简写为 s,否则与 status 冲突,但可以简写为 sh
nmcli d sh ens33 # 显示某一特定设备的详细信息
  • 连接设备
nmcli d c ens33 # nmcli d connect ens33
  • 断开设备
nmcli d d ens33 # nmcli d disconnect ens33
  • 更新设备信息
nmcli d r ens33 # nmcli d reapply ens33

只有在设备处于连接状态,才可以更新设备。

# 五、sshd 服务

sshd 服务可以提供远程登录服务

  1. 登录
# ssh 用户名 @主机
ssh root@centos2
  • 主机可以使用 IP 或者主机名
  1. ssh 免密登录
  • 免密可以方便集群运维,避免频繁输入密码
  • 免密实际是公开密码体系的运用
    • 公开密码体系
      • 每个用户有一对密码:私钥和公钥,私钥只有自己保存,公钥任何人可以获得
      • 使用自己私钥加密的信息只能有自己的公钥解密,反正亦然
ssh-keygen # 一直回车,生产私钥和公钥
ssh-copy-id centos2 # 将自己的公钥复制给 centos2;centos2 即可使用公钥验证登录者身份
  1. scp
# scp 源文件 用户 @主机:目标地址
scp test.txt root@centos2:/root
  • 主机可以使用 IP 或者主机名
  • 目标地址使用绝对地址
  • 如果当前用户和远程登录用户是相同的,可以省略