配置网络服务
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地址、子网、网关等信息由人工指定,其步骤如下。
- 切换到
/etc/sysconfig/network-scripts
目录中(存放着网卡的配置文件)。 - 使用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-*
文件的对应关系
SSH
(Secure shell
)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。想要使用SSH协议来远程管理Linux系统,则需要部署配置sshd服务程序。sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供了以下两种安全验证的方法。
- 基于口令的验证—用账户和密码来验证登录。
- 基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。
基于口令的验证基于密钥的验证
通过ssh命令
基于口令的形式进行登陆,其格式为“ssh [参数] 主机IP地址
”,要退出登录则执行exit命令。
- 在客户端主机RHEL 7-2中生成“密钥对”。查看公钥
id_rsa.pub
和私钥id_rsa
。 - 把客户端主机RHEL 7-2中生成的公钥文件传送至远程主机
- 在客户端RHEL 7-2上尝试使用root用户远程登录到服务器,此时无须输入密码也可成功登录
- 在RHEL 7-1上查看RHEL 7-2客户机传送的公钥。
远程传输命令
scp
(secure copy
)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp [参数] 本地文件 远程帐户@远程IP地址:远程目录
”