在上一篇文章中我们通过 VMware Player 和 Ubuntu Server 完成了服务器的安装,但距离远程服务器搭建完成还有一段路程要走。在这篇文章中我们将开始进行服务器的网络配置,为服务器通过网络给用户提供服务打下基础!
网络结构
在开始配置网络前,我们先分析一下 VMware Player 提供的默认 NAT 网络的结构
- 虚拟机:我们创建的服务器
- DHCP 服务器:为虚拟网络内的计算机动态提供 IP 地址等连接网络所需信息
- NAT 设备:当位于虚拟网络内部的虚拟机需要访问外部网络时,会将请求发送给 NAT 设备;NAT 设备收到请求后,会将请求中虚拟机的 IP 地址转换为宿主机的 IP 地址;由于宿主机的 IP 地址于外部网络可见,从而实现虚拟网络内部虚拟机对外部网络的访问
从默认 NAT 网络的结构可以知道,我们的服务器在虚拟网络中的通信是基于 DHCP 服务器分配的动态 IP,访问外部网络则是将请求发送给 NAT 设备。
但服务器提供服务的前提是用户能在一个固定的地方找到服务器,显然动态变化的 IP 地址是不能满足要求的。所以我们需要将服务器在虚拟网络中的 IP 地址固定,实现客户对服务器的稳定访问。
固定 IP 地址
Ubuntu Server 的网络配置文件位于 /etc/netplan
下,以 .yaml
为后缀,常用网络配置模板可以在 netplan 找到
1 | YAML复制代码network: |
但有些麻烦的是,VMware Player 没有开放对虚拟网络进行自定义的功能(该功能在付费的 VMware Workstation Pro 上开放),所以我们需要查询默认 NAT 虚拟网络中使用的相关网络信息,并依据这些信息填充配置文件。
- 查询服务器网卡名称和当前 IP 地址:
ip address
* 网卡名称:`ens32`
* 服务器 IP 地址:`192.168.70.128/24`(因为虚拟网络的规模很小,我们只配置 IPv4)
- 查询 NAT 设备信息:
ip router
* NAT 设备 IP 地址:`192.168.70.2`
- 填写网卡配置文件:
sudo vim /etc/netplan/*.yaml
(这里我使用的是 vim,大家也可以使用 nano 等其它编辑器)
1 | YAML复制代码network: |
注意该配置文件对缩进的要求非常高,大家在填写的时候一定要仔细
4. 测试网络配置文件中是否存在错误: sudo netplan try
(若不存在错误则会提示是否应用配置文件)
5. 查看配置是否生效(因为大部分网络信息都是保持原状,我们通过查看 DNS 信息来判断):systemd-resolve --status
6. 为了保险起见,我将服务器重启后再测试网络情况
* IP 地址:

* DNS 服务器:

* 访问外部网络:

* 主机访问:

总结
在本篇文章中,我们从分析网络结构开始,一步步地成功将服务器在虚拟网络中的 IP 地址固定!现在位于虚拟网络中的任何用户都可以通过 192.168.70.128
这个 IP 地址对我们的服务器进行访问。但在服务器为用户提供服务之前,我们先得配置好我们开发者需要的服务。
在下一篇文章中,我们将通过 SSH 实现本地机器对服务器的远程登录访问,就像实际开发中访问服务器一样!
本文转载自: 掘金