八,网络配置

103 阅读4分钟

一,虚拟机NAT网络关系图

image

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

环境:

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

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

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

image-20230912174848229

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

image-20230912175020756

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

image-20230926200032534

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

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

image-20230926200144848

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

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

image-20230926200252073

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

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

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

  • HWADDR是机器的MAC地址

    image-20230912204552601

  • 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。

image-20230912204748980

解决方法:

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哦!