项目6 配置网络和使用ssh服务

本文详细介绍了RHEL 7系统中的网络配置,包括设置主机名的多种方法,如nmtui、hostnamectl和nmcli,以及通过网卡配置文件手动配置网络。此外,还讲解了SSH服务的配置,包括基于口令和密钥的验证,并提供了远程登录和文件传输的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置网络服务

Linux主机要与网络中其他主机进行通信,首先要进行正确的网络配置。网络配置通常包括主机名、IP地址、子网掩码、默认网关、DNS服务器等。

设置主机名

RHEL 7有以下3种形式的主机名。

  • 静态的(static):“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。
  • 瞬态的(transient):“瞬态”主机名是在系统运行时临时分配的主机名,由内核管理。例如,通过DHCP或DNS服务器分配的localhost就是这种形式的主机名。
  • 灵活的(pretty):“灵活”主机名是UTF8格式的自由主机名,以展示给终端用户。

与之前版本不同,RHEL 7中的主机名配置文件为/etc/hostname,可以在配置文件中直接更改主机名

使用nmtui修改主机名

代码:[root@RHEL7-1 ~]# nmtui

           [root@RHEL7-1 ~]# systemctl restart systemd-hostnamed

注意:使用NetworkManager的nmtui接口修改了静态主机名后(/etc/hostname文件),不会通知hostnamectl。要想强制让hostnamectl知道静态主机名已经被修改,需要重启hostnamed服务。

使用hostnamectl修改主机名

代码:[root@RHEL7-1 ~]# hostnamectl set-hostname node
          [root@RHEL7-1 ~]# hostnamectl status

使用NetworkManager的命令行接口nmcli修改主机名

nmcli可以修改/etc/hostname中的静态主机名。

代码:[root@RHEL7-1 ~]# nmcli general hostname        //查看主机名
node

          [root@RHEL7-1 ~]# nmcli general hostname RHEL7-1  //设置新主机名
          [root@RHEL7-1 ~]# systemctl restart systemd-hostnamed     ////重启hostnamed服务让hostnamectl知道静态主机名已经被修改
         [root@RHEL7-1 ~]# nmcli general hostname

通过网卡配置文件配置网络

在RHEL 7中,网卡配置文件的前缀则以ifcfg开始,如ifcfg-ens32。名称为ifcfg-ens32的网卡设备,将其配置为开机自启动,并且IP地址、子网、网关等信息由人工指定,其步骤如下。

  1. 切换到 /etc/sysconfig/network-scripts 目录中(存放着网卡的配置文件)。
  2. 使用vim编辑器修改网卡文件ifcfg-ens32,逐项写入下面的配置参数并保存退出。由于每台设备的硬件及架构是不一样的,所以请读者使用ifconfig命令自行确认各自网卡的默认名称。
    • 设备类型:TYPE=Ethernet
    • 地址分配模式:BOOTPROTO=static
    • 网卡名称:NAME=ens32
    • 是否启动:ONBOOT=yes
    • IP地址:IPADDR=192.168.10.1
    • 子网掩码:NETMASK=255.255.255.0
    • 网关地址:GATEWAY=192.168.10.1
    • DNS地址:DNS1=223.5.5.5

      使用nmcli命令配置网络

      NetworkManager是管理和监控网络设置的守护进程,设备即网络接口,连接是对网络接口的配置。一个网络接口可以有多个连接配置,但同时只有一个连接配置生效。常用命令如下:

    • nmcli connection show:显示所有连接。
    • nmcli connection show --active:显示所有活动的连接状态。
    • nmcli connection show "ens32":显示网络连接配置。
    • nmcli device status:显示设备状态。
    • nmcli device show ens32:显示网络接口属性。
    • nmcli connection add help:查看帮助。
    • nmcli connection reload:重新加载配置。
    • nmcli connection down test2:禁用test2的配置,注意一个网卡可以有多个配置。
    • nmcli connection up test2:启用test2的配置。
    • nmcli device disconnect ens32:禁用ens32网卡,物理网卡。
    • nmcli device connect ens32:启用ens32网卡。    

修改连接设置

  • 修改test为自动启动
  • 创建新的连接配置test,指定静态IP,不自动连接

修改连接设置

  • 修改test为自动
  • 修改DNS为 223.5.5.5
  • 添加DNS 114.114.114.114
  • 删除DNS
  • 修改IP地址和默认网关
  • 注意:需要重启网卡以上配置才会生效:systemctl restart network

    nmcli命令和/etc/sysconfig/network-scripts/ifcfg-*文件的对应关系

SSHSecure shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。想要使用SSH协议来远程管理Linux系统,则需要部署配置sshd服务程序。sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供了以下两种安全验证的方法。

  • 基于口令的验证—用账户和密码来验证登录。
  • 基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。

基于口令的验证基于密钥的验证

通过ssh命令 基于口令的形式进行登陆,其格式为ssh [参数] 主机IP地址,要退出登录则执行exit命令。

  1. 在客户端主机RHEL 7-2中生成“密钥对”。查看公钥 id_rsa.pub 和私钥 id_rsa
  2. 把客户端主机RHEL 7-2中生成的公钥文件传送至远程主机
  3. 在客户端RHEL 7-2上尝试使用root用户远程登录到服务器,此时无须输入密码也可成功登录
  4. 在RHEL 7-1上查看RHEL 7-2客户机传送的公钥。

远程传输命令

scpsecure copy)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp [参数] 本地文件 远程帐户@远程IP地址:远程目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值