网站Logo 苏叶的belog

VM虚拟机配置Linux网络

wdadwa
1
2026-03-13

一,虚拟机NAT网络关系图

2953321-20240805220524516-985967799.png

二,Linux虚拟机的IP固定设置

环境:

  • 系统:CentOs7
  • 虚拟机:vmware 17 pro

在宿主机(实际使用的计算机)上使用 xshell 等工具连接虚拟机上的 linux 时,总会因为 IP 地址的变动而不停的修改 xshell 等工具的连接,为了避免这些麻烦,将虚拟机上的 Linux 的 IP 地址设置成为固定 IP 成了我们的最佳选择。

2.1 修改虚拟网络配置:虚拟机网络适配器选择NAT模式

2953321-20240805220524327-1349410866.png

点击编辑按钮,选择虚拟网络编辑器,跳出如下弹窗:

2953321-20240805220524254-494159150.png

点击更该配置,弹出如下弹窗,接下来按照弹窗中步骤操作:

2953321-20240805220524132-1719705649.png

需要注意的是:假如你要固定 ip 为:192.168.237.11 那么子网 ip 必须为 192.168.237.0,即前三段必须一致。

点击 NAT 设置后,跳出 NAT 设置弹窗,修改网关 IP 后点击确定关闭弹窗。

2953321-20240805220524151-309466404.png

子网 ip 和网关 ip 的前三项,192.168.237.xxx 需要相同,这个可以自定义,用来给自定义我们 ip 地址的时候使用的。

然后是点击 DNS 设置给网络添加指定 DNS

2953321-20240805220524186-1741599025.png

2.2 修改以下虚拟机的网络配置文件

输入vi /etc/sysconfig/network-scripts/ifcfg-xxx进入文本编辑,xxx 是你的网卡名,可以输入 ip addr 查询。

复制下面内容,然后修改HWADDR、IPADDR 和 GATEWAY四个字段的内容,

  • HWADDR是机器的MAC地址

2953321-20240805220524292-1668065690.png

  • IPADDR 代表你本机的 ip 地址,ip 地址需要符合你上面设置的子网 ip 范围内哦!

  • GATEWAY 就是我们前面通过虚拟网络编辑器修改的值。即网关 ip

DEVICE=eth0
HWADDR=00:0c:29:cb:20:96	(需要修改)
UUID=71ca5de6-ba44-42b3-a133-8e7b684d76a
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static 	(需要修改)
IPADDR=192.168.237.11	(需要修改)
GATEWAY=192.168.237.1		(需要修改)

至此,虚拟机 Linux 的固定 IP 地址修改完成。

2.4 掉网卡的解决方法

在设置静态 ip 后,可能出现虚拟机启动之后,突然发现没有 ens33 网卡这个 BUG。

2953321-20240805220524234-224863337.png

解决方法:

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network

如果无效,出现:Job for network.service failed because the control process exite

解决方法:

  1. 关闭 NetworkManger 服务,

    service NetworkManager stop
    
  2. 禁止开机启动

    chkconfig NetworkManager off 
    
  3. 重启网络

    service network restart
    
  4. 查看/etc/sysconfig/network-scripts/ifcfg-xxx中的 HWADDR,如果 HWADDR 配置不对也会出现这种情况

三,Linux配置ssh免密登录

举例:在 Windows 中使用 ssh 免密登录来登录 Linux 虚拟机中。

  1. 确保 SSH 服务器在 Linux 虚拟机上已启用

    在 Linux 虚拟机上,确保 SSH 服务器已安装并正在运行。你可以在终端中运行以下命令来检查 SSH 服务器的状态:

    sudo systemctl status ssh
    

    如果 SSH 服务器未运行,你可以使用以下命令启动它

    sudo systemctl start ssh
    
  2. 生成 SSH 密钥对

    在 Windows 上生成 SSH 密钥对,一个私钥(用于登录)和一个公钥(用于在 Linux 虚拟机上验证您的身份)。

    • 打开 Windows 命令提示符或 PowerShell。

    • 使用以下命令生成密钥对:

      ssh-keygen -t rsa
      

      然后会要求你给这个密钥设置一个密码,如果不想设置就直接回车就行了。

      之后会在你的用户目录下生成一个.ssh 文件夹,里面包含两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)

  3. 将公钥复制到 Linux 虚拟机

    刚刚生成的公钥的内容复制到 Linux 虚拟机的~/.ssh/authorized_keys文件中,以便允许您的 Windows 计算机访问。

    在 Windows 上,您可以使用文本编辑器打开公钥文件,然后将其内容复制到剪贴板。

    在 Linux 虚拟机上,使用以下命令将公钥添加到authorized_keys文件中:

    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    echo "粘贴您的公钥内容" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
  4. 测试 SSH 连接

    现在,您应该能够在 Windows 上使用 SSH 连接到 Linux 虚拟机而无需密码:

    ssh 虚拟机用户名@Linux虚拟机的ip地址
    

需要注意的是,在 Linux 中互联只需要执行命令:ssh-keygen,就会生产 ssh 钥匙,默认保存在当前用户的主目录下的./ssh目录中。然后把 id_rsa.pub 的内容输入给你想互联的主机的./ssh/authorized_keys里面即可。当然要实现 A 连接 B,B 连接 A 需要把 B 的公钥也发给 A 哦!

动物装饰