300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 虚拟机双网卡设置(外网+内网)

虚拟机双网卡设置(外网+内网)

时间:2020-12-20 23:25:58

相关推荐

虚拟机双网卡设置(外网+内网)

【摘要】:本文主要介绍了在开发过程中,实现开发板利用网线直连电脑实现开发工作,而电脑又可以通过另一个无线或有线网卡正常连接互联网。

【硬件开发环境】:开发主机——惠普笔记本(带无线网卡+有线网卡)、开发板JZ2440(带有线网卡)、网线1根(用于连接开发板和开发主机间的有线网卡)

【软件开发环境】:开发主机安装Win10操作系统并通过无线网卡连接互联网、开发主机安装有VMware Workstation Pro软件,用于运行虚拟机Ubuntu16.04、开发板安装了Linux3.4.2内核。

【配置目标】:虚拟机(Ubuntu)配置成双网卡,其中一个网卡配置成NAT模式,通过主机的无线网卡连接到外网进行上网;另一个网卡配置成桥接模式,通过桥接到开发主机的有线网卡,达到开发主机、Ubuntu、开发板的两两互联。

1. 配置NAT网卡

NAT,Network Address Translation,指网络地址转换。使用 NAT 网卡 时,Ubuntu 要访问外网,是委托 Windows 发出数据包,Windows 接收到回应 后再转发给 Ubuntu。外界看到的都是 Windows,看不到 Ubuntu。使用 NAT 时, 只要 Windows 能上网,Ubuntu 就必定能上网,无需设置 Ubuntu 的网络。

在Windows的【开始】菜单,搜索“虚拟网络编辑器”,并以管理员的身份打开后,点击还原默认设置。

在虚拟机关机状态下,点击【编辑虚拟机设置】,删除所有已有的【网络适配器】(为了彻底和之前错的设置说再见,一切从头开始)。

再次重新添加一个新的【网络适配器】:

为该新的网络适配器选择【NAT】模式:

确认后,开启虚拟器,打开终端查看虚拟机是否已自动配置好ip地址,

如果没有自动配置IP

请在ubuntu终端下执行sudo dhclient来自动获取IP;

请确认虚拟机的网络配置文件,是否将ens33网卡配置为动态IP?

打开/etc/network/interfaces文件,查看ens33网卡配置语句,修改为以下动态获取IP:

auto ens33iface ens33 inet dhcp

请确认开发主机Windows是否已经启用了VMNet8?其IP地址和DNS服务器地址是否设置为自动获取?

如果没有上图中的VMNet8,那需要打开Windows的虚拟机服务(把VMWare开头的几个全打开):

查看虚拟机是否已经可以连接外网:

如果网址ping不通:执行route -n命令,查看当前系统的路由信息,确保ens33网卡有0.0.0.0目标的路由表:

如果缺少该路由信息,可执行以下语句进行添加:(192.168.40.2是根据ens33网卡自动获取的IP地址192.168.40.129得到的网关地址,要根据你自己的来设置)

sudo route add default gw 192.168.40.2

2. 配置网桥网卡

使用桥接网卡时,Ubuntu 就是使用一个真实的网卡:开发板的网线是连接到这个真实的网卡上的,这样 Windows、Ubuntu、开发板就都可以用过这个网卡 互通了。Ubuntu需要完成的设置:添加一个桥接网络适配器,并桥接到连接开发板的那个有线网卡;为该网卡设置静态IPWindows开发主机需要完成的设置:为该有线网卡设置静态IP,且与Ubuntu中设置的为同一网段;开发板需要完成的设置:设置静态ip地址,且与Ubuntu中设置的为同一网段;

2.1 设置Windows端

依次打开【控制面板】——>【网络和Internet】——>【网络连接】,查看在Windows是否已经识别:

如果是外接网卡,需要在设备管理器中查看其名字,且一定要注意,在插入外接网卡时Ubuntu可能会弹出一个窗口,提示检测到新的设备,是连接到主机还是Ubuntu?一定要选择连接到主机!!!

如果,不幸选中了,也可以通过点击【可移动设备】显示的刚插入电脑里的外接网卡名前面的勾号进行取消:

设置ip

选中网卡,鼠标右键选择【属性】,找到【Internet 协议版本4(TCP/IPv4)】,双击后设置静态ip为192.168.5.10

此时,因为此时开发板还未启动,ip也未设置,所以网卡图标是打叉的。且在Windows的cmd窗口中也看不到该网卡(以太网适配器 以太网)的ip地址。

2.2 设置Ubuntu端

关闭虚拟机,而后添加一个新的【网络适配器】,并选择桥接模式。

在Windows的【开始】菜单,搜索“虚拟网络编辑器”,并以管理员的身份打开后,确定【VMnet0】的类型为桥接模式,并且选择已桥接至我们连接到开发板的网卡:

如果没有出现【VMnet0】,可先点击左下角的【还原默认设置】。选中VMnet0这一行后,在”VMnet信息“这一菜单栏下选择【已桥接至】,点击下拉箭头选择要桥接的网卡(如果是外接有线网卡,那就选择外接网卡,如果是自带有线网卡,就选择自带的有线网卡,以你开发板连接的网卡为准)。上图中的VMnet8其实就是我们之前设置的【NAT网络适配器】,可以看到其子网地址的网段与我们在Ubuntu中ens33的ip地址是一致的。

设置IP地址

Ubuntu桌面点击左侧【系统设置】图标,选择【网络】

打开【网络】之后,可以看到两个网卡的设置界面

其中一个是之前设置的ens33(NAT网卡),可以通过其ip地址为192.168.40.129判断出来:

另外一个没有设置ip地址的显然就是我们待设置的桥接网卡,点击右下角【选项】进入设置页,点击【IPv4设置】,【方法】选择“手动”,而后分别设置ip地址为:192.168.5.11,子网掩码为:255.255.255.0(也就是24位),网关为:192.168.5.1,最后点击保存即可!注意:此ip地址你可以自己设定,只要保证不与之前设置的NAT网卡地址位于同一网段且Windows、Ubuntu、开发板这三者的ip地址位于同一网段即可!

此时,需要执行reboot重新启动Ubuntu,而后通过ifconfig查看是否设置成功。

若重启后,执行ifconfig,发现桥接网卡ens38地址并未设置,也可以通过命令行进行设置:

sudo ifconfig ens38 192.168.5.11

若重启后,执行ifconfig,只看到了NAT网卡(ens33),并未看到桥接网卡ens38。可以执行如下命令进行开启:

sudo ifup ens38

2.3. 配置开发板

打开串口,打开开发板电源,利用串口工具登陆开发板系统;

手动设置开发板ip地址:ifconfig eth0 192.168.5.9

为了每次打开开发板的时候,能够自动配置为我们所设置的ip地址,也可以在开发板的/etc/systemd/network/目录(该目录本来不存在,也需要新建)下新建50-work文件。

输入以下配置语句:

[Match]Name=eth0[Network]Address=192.168.5.9/24Gateway=192.168.5.1

输入ifconfig查看开发板ip配置情况:

在开发板上分别ping一下Ubuntu和WIndows主机,看能否联通?

在Ubuntu中分别ping一下开发板和WIndows主机,看能否联通?

如果存在ping不同Windows的话,那肯定是防火墙没有关闭,我们需要关闭所有网络的防火墙。

如果担心网络安全的话,也可以打开【允许应用通过防火墙】,打开以”VMware“开头的所有应用的防火墙:

在WIndows中分别ping一下开发板和Ubuntu,看能否联通?

此时,再查看WIndows的网络连接,已经发现之前打叉断开的有线网卡已经处于联通状态了:

至此,已经达到我们所有目的了。当然如果你的开发板有两个网卡接口的话,除了eth0被我们用来作为开发用之外,另一个网口eth1就可以被用来开发板上网了,具体方法也很简单:

使用网线连接开发板另一网卡接口至可以上网的路由器上;在开发板终端上执行udhcpc -i eth1,等待 eth1 网卡自动获得IP;通过执行ping,如果可以正常解析网址并ping通,那就证明开发板已经可以访问外网了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。