# 创建一个内部的虚拟机交换机(附带会创建一个虚拟网卡)
New-VMSwitch -SwitchName "NAT-VM-CentOS" -SwitchType Internal
# 查看虚拟网卡 NAT-VM 的ifindex
Get-NetAdapter
Get-NetAdapter -Name "*NAT-VM-CentOS*" | Format-List -Property "InterfaceIndex"
# 给虚拟网卡设置 IP,InterfaceIndex 参数自行调整为上一步获取到的 ifindex。这一步等同于在 控制面版-网卡属性 中设置 IP
New-NetIPAddress -IPAddress 192.168.200.1 -PrefixLength 24 -InterfaceIndex 49
# 创建一个 NAT 网络(关键在这里!)
New-NetNat -Name NAT-VM-CentOS -InternalIPInterfaceAddressPrefix 192.168.200.0/24
# 给名称是"CentOS"的VM设置使用这个交换机, 也可以通过hyper-v管理器操作
Get-VM -Name CentOS | Get-VMNetworkAdapter | Connect-VMNetworkAdapter -SwitchName "NAT-VM-CentOS"
设置 Linux 网络静态 IP,编辑文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0
:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="192.168.200.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.200.1"
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="eth0"
UUID="68fd9207-ce73-43e4-9a77-ba43069c8da4"
DEVICE="eth0"
ONBOOT="yes"
说明:
BOOTPROTO
的 dhcp
换成 static
和 IPADDR
接着设置 DNS,否则 ping www.baidu.com
可能是不通的。编辑 vim /etc/resolv.conf
,添加(这是Google提供的公用DNS):
nameserver 8.8.8.8
nameserver 8.8.4.4
重启网络:
service network restart
PS:管理员 powershell 里面运行这个,可以把本地的虚拟机暴露出来, 通过PC机IP+2022端口来访问VM
Add-NetNatStaticMapping -ExternalIPAddress "0.0.0.0/24" -ExternalPort 2022 -Protocol TCP -InternalIPAddress "192.168.200.101" -InternalPort 22 -NatName NATNetwork
参考:
YUM 源的配置
yum install -y vim net-tools wget git lrzsz gcc zsh samba
net-tools
提供 ifconfig
命令ssh-keygen -t rsa -C "649168982@qq.com"
git config --global user.email "649168982@qq.com"
git config --global user.name "michael728"
git config --global http.sslverify false
git config --global https.sslverify false
具体配置文件,在 ~/.gitconfig
如下操作可以将本机的公钥添加到 VM 上的 authorized_keys
文件中:
ssh-copy-id root@<IP>
在 VM 中执行 systemctl restart sshd
。
为了在本机上可以方便登录,可以给 Host
取个别名,在 Windows 机器上的 C:\Users\<user>\.ssh
目录下,添加一个 config
文件,增加如下内容:
Host vm
HostName <IP>
User root
Port 22
IdentityFile C:\Users\<user>\.ssh\id_rsa
ssh vm
即可免密登录到远端虚机上
交换机设备配置好之后,需要连接外网,那么还需要配置 proxy
,为了省事,因为这个虚机就在自己本地,并不会其他共享,直接用账号的方式配置即可。编辑 ~/.zshrc
添加如下:
export http_proxy="http://<user>:<passwd>*@proxy.michael.com:8080/"
export https_proxy="http://<user>:<passwd>*@proxy.michael.com:8080/"
export no_proxy="127.0.0.1, localhost"
如果密码有特殊字符,需要利用encode工具编码。
除此以外,可能还需要配置:
/etc/resolv.conf
mkdir -p /opt/3rdComponent
wget https://mirrors.huaweicloud.com/openjdk/13.0.2/openjdk-13.0.2_linux-x64_bin.t ar.gz
tar xvzf openjdk-13.0.2_linux-x64_bin.tar.gz
ln -s jdk-13.0.2 jdk
编辑 /etc/prfile
添加环境变量:
export JAVA_HOME=/opt/3rdComponent/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
输入 java -version
验证:
openjdk version "13.0.2" 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
mkdir -p /opt/3rdComponent
cd /opt/3rdComponent
wget http://www./centos_Python-3.7.3.tar.gz
tar xvzf centos_Python-3.7.3.tar.gz
环境变量:
export PATH=/opt/3rdComponent/Python-3.7.3/bin:$PATH
在 PowerShell
中执行 Get-Service "vm[cm]*"
,看看 vmcompute 和 vmms 两个服务是不是都处于 Running 状态。
管理员权限执行:
sc config vmms start=auto
sc start vmms
cat /proc/sys/fs/inotify/max_user_watches
编辑 /etc/sysctl.conf
末尾添加:
fs.inotify.max_user_watches=524288
最后重启:sudo sysctl -p
Visual Studio Code is unable to watch for file changes in this large workspace
利用 Windows Hyper-V 创建 Linux 虚拟机,打造个人开发环境
原文:https://www.cnblogs.com/michael-xiang/p/12359356.html