背景:linux 启动后会自动获取ip,缺点是每次自动获取的ip地址可能不一样,当把虚拟机当作服务器使用的时候就需要固定ip
1.修改linux的配置文件
文件地址路径 etc/sysconfig/network-scripts/ifcfg-ens33
(注:这个配置文件的名字是需要在linux中使用 ifconfig 查看我们使用的网卡)
进行修改
//原文件
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="7d6f057b-b488-4a61-8d47-af0978939aa9"
DEVICE="ens33"
ONBOOT="yes"
//修改文件 选项
BOOTPROTO="static"
#ip 地址
IPADDR=192.168.200.130
#网关
GATEWAY=192.168.200.2
#域名解析器
DNS1=192.168.200.2
NETMARSK=255.255.255.0 # 子网掩码
//dns设置是为了正常解析外网网站
2.修改虚拟机的网络
vm虚拟机设置
打开 虚拟网络编辑器
编辑 => 虚拟网络编辑器
选择 VMnet8 NAT 模式
(注意 使用本地dhcp服务器要勾上)
设置 子网网络号 及 子网掩码
重要说明
- 这里需要使用私有地址,以防止不可预期错误。
- A类私有地址为:10.0.0.0 - 10.255.255.255, 子网掩码:255.0.0.0
- B类私有地址为:172.16.0.0 - 172.31.255.255, 子网掩码:255.255.0.0
- C类私有地址为:192.168.0.0 - 192.168.255.255,子网掩码:255.255.255.0
配置 网关地址
NAT(Network Address Translation,网络地址转换),用于将 私有网络地址 转换为 公有网络地址,是为了应对 Ipv4 地址匮乏 而提出的临时解决方案,与 VLSM(Variable Length Subnet Mask,可变长子网掩码)一同作为 ipv4 到 ipv6 的过渡期方案。
注意:这个网关地址需要与配置文件中保持一致,不然会导致无法访问网络
3.重启网络/系统
重启网络
service network restart
systemctl restart network
或 重启系统
reboot
可以看到 ip 地址已经被固定了
本机中的 VMnet8 的地址也发生了变化
问题方案
https://www.huaweicloud.com/articles/25ac4955e8ac56077ab8093a016e6cd4.html
https://zhuanlan.zhihu.com/p/129326431