前言
最近在玩Hyper-v,我发现使用NAT做内网时,虚拟机每次重启都会换ip,非常不方便。
于是我就想研究下如何保留固定的ip地址。
虚拟交换机
Hyper-v的ip分配设备-虚拟交换机
Hyper-v的ip分配是需要虚拟设备的,我们打开Hyper-v的页面:
建立一个名为koo的虚拟交换机。
可选择内部网络和外部网络,其中内部网络代表NAT,外部网络代表桥接。
建立之后,可在网络设备中查到新建的koo。
网络配置器的设置
ip地址和网关的设置
使用win+R, 输入ncpa.cpl, 打开网络设备界面。
可先设置其ip和网关。
虚拟机的ip设置
从Hyper-v打开虚拟机(vm1),设置ip地址、掩码、网关、DNS。
[root@vm1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
然后重启网络,观察是否分配到ip。
[root@vm1 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.18.4.100 netmask 255.255.255.0 broadcast 172.18.4.255
inet6 fd9b:f0ec:a68a:5:215:5dff:fe4a:10f prefixlen 64 scopeid 0x0<global>
inet6 fe80::215:5dff:fe4a:10f prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:4a:01:0f txqueuelen 1000 (Ethernet)
RX packets 97553 bytes 38047589 (36.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 121016 bytes 19973580 (19.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@vm1 ~]# ping 172.18.4.100
PING 172.18.4.100 (172.18.4.100) 56(84) bytes of data.
64 bytes from 172.18.4.100: icmp_seq=1 ttl=64 time=0.042 ms
成功。
通外网
此时它只能ping通自己,ping不通外网。
所以我们还需要使其跟外部网卡做绑定。
打开网络控制器界面,打开wifi或以太网网卡,点击“共享”,选择koo网卡做为分享网卡。
这时,会弹出这个框。
也就是说,系统默认将192.168.137.1做为koo的ip地址,分配这个网段给虚拟机用。
我们需要改回去。
改回去之后,虚拟机就可以ping通外网了。
后记
Hyper-v有好有坏,好的方面:
- 系统自带,只需要开启功能,无需额外安装。
- 主机开着就能用。
- 磁盘管理很方便。
坏的方面:
- Hyper-v的虚拟交换机使用DHCP时,无法使用固定的ip地址。
- 虚拟机的导出导入不方便。