windows下multipass虚机设置静态ip


前言

windows10下multipass启动的虚机设置静态ip

一、为什么需要这样做?

multipass在windows下(其他系统下表现也是这样)创建的虚机是随机分配的ip,ip段在hyper-v的虚拟交换机下。一旦虚机重启ip会发生变化,而很多时候我们使用虚机希望它的内网ip是固定的,这篇文章便是基于这个需求而写。

二、步骤

1.环境

windows10 专业版本,开启了hyper-v功能,multipass已经安装

2.创建虚机

$ multipass launch -n k3s -c 1 -m 2G -d 10G
$ multipass ls

在这里插入图片描述

3.创建虚拟交换机

Windows 搜索hyper-v管理器- > 打开 -> 点击虚拟交换机 -> 选择外部 -> 点击创建虚拟交换机
在这里插入图片描述
输入交换机名称 -> 选择外部网络(选择自己的网卡) -> 勾选 允许管理操作系统共享此网络适配器 -> 点击确定
在这里插入图片描述

4.为虚机添加虚拟交换机

返回管理器主界面 -> 选择创建的虚机 -> 选择设置 -> 打开后选择添加硬件 -> 选择网络适配器
在这里插入图片描述
选择刚刚新建的虚机交换机(我已经建好,n-switch) -> 点击确定
在这里插入图片描述

5.在虚机中配置网络

首先在windows中运行cmd -> ipconfig /all -> 查看刚刚所建网络适配器相关属性
在这里插入图片描述
记住 IPV4 地址、子网掩码、默认网关 3个值,后续要用

进入虚机

$ multipass shell k3s

切换到root用户,查看ip addr

$ ip addr

此时能看到多出一个网卡,处于down状态
在这里插入图片描述
开启网卡

$ ip link set eth1 up

修改/etc/netplan/xx-cloud-init.yaml 也可能是别的名字,但基本只是xx的值不同

$ nano /etc/netplan/xx-cloud-init.yaml

在这里插入图片描述

修改完成后
ctrl + o 保存,然后直接回车确认保存名,再ctrl+x退出
应用配置

$ netplan apply /etc/netplan/xx-cloud-init.yaml

应用配置时,会显示权限过于开放的警告,如果介意可以在编辑之前修改文件权限为600

$ chmod 600 /etc/netplan/xx-cloud-init.yaml

修改成功时,连接会直接断开
在windows下查看虚机状态

$ multipass ls

在这里插入图片描述
此时能看到刚刚添加的ip,可以尝试重启虚机后观察,ip不会发生改变
再次进入虚机,尝试ping www.baidu.com和宿主机ip,均可通,成功

6.为虚机配置ssh登录(可选)

首先使用 multipass shell k3s 登录虚机
然后执行passwd命令分别为 ubuntu用户(默认) 和 root用户添加密码

$ sudo passwd ubuntu
New password: 

两次输入密码后设置密码成功

第二步,修改ssh配置

$ sudo vim /etc/ssh/sshd_config

找到 PasswordAuthentication 和 PermitRootLogin 打开注释并将他们设置为 yes
也可以直接

$ sudo vim /etc/ssh/sshd_config.d/60-cloudimg-settings.conf

在这里插入图片描述
将两个值写入其中并保存
完成后,重启ssh服务

sudo service ssh restart

完成所有步骤后验证一下,退出到宿主机并使用ssh登录

ssh ubuntu@yourip

输入之前设置的ubuntu密码,成功登录即可

不想每次输入密码?
那就首先在windows宿主机生成你的公钥

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

然后

$ ssh-copy-id ubuntu@yourip

输入密码后回车
之后就可以直接使用 ssh ubuntu@yourip 直接登录不用输入密码了

总结

写这篇文章是因为最近搭建了一个本地的k3s集群,完成后发现master节点ip会随着虚机重启而改变,导致agent节点失联,于是就研究了下如何配置静态ip,multipass官方文档中也有例子,不过是针对的Linux,而我的主要生产力在windows上,所以折腾了一番

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值