本文由ilanniweb提供友情赞助,首发于
想要获得更多的文章,可以关注我的微信ilanniweb
前几天给一个客户做远程项目实施,客户那边的服务器是Windows OS的,我们这边的业务运行需要linux OS,所以就在Windows OS下安装VMWare。
但是在配置VM的IP地址时,遇到了双网卡配置IP地址的问题。宿主机是双网卡,一块网卡连接内网,一块网卡连接外网。
经过摸索终于把在VMWare上VM双网卡配置IP地址的事情搞定了,下面记录大致的配置过程。
PS:VM的两块网卡的IP地址分别是192.168.0.90、192.168.3.250。
其中192.168.0.90是内网地址,192.168.3.250是外网地址。
本文中牵涉到的192.168.33.250是专线连接的远程机器IP地址。
一、查看宿主机的网卡与IP
首先我们来查看宿主机的两块网卡与其对应的IP地址。如下:
通过上图,我们可以看到宿主机的两块网卡,在Windows OS下显示的是本地连接和本地连接2,其中本地连接是外网网卡配置,如下:
本地连接2是内网网卡配置,如下:
注意:本地连接的描述是Yukon,而本地连接2的描述是I217-LM。
下面我们开始配置VM的网卡与IP。
二、配置VM网卡与IP
要配置VM网卡和IP地址,首先我们要重新配置VMWare的网卡,如下:
VMWare的VMnet0桥接到宿主机的本地连接,即外网网卡。
然后我们再添加一个新的网卡VMnet2,并且把VMnet2桥接到宿主机的本地连接2,即内网网卡。
VMWare两块网卡添加配置完毕后,我们来给VM配置网卡,如下:
VMnet0外网网卡对应该VM网卡的MAC地址为:00:0C:29:3C:78:41。
VMnet2外网网卡对应该VM网卡的MAC地址为:00:0C:29:3C:78:4B。
以上配置完毕后,我们开始配置该VM的eth0和eth1网卡,如下:
在该VM中eth0网卡配置为外网IP地址,对应VMWare的VMnet0网卡,网关是192.168.3.1。
eth1网卡配置内内网IP地址,对应VMWare的VMnet2网卡,网关是192.168.0.1。
现在我们登录到该VM测试与外网的连通性,如下:
通过上图,我们可以很容易的看到该VM与外网通信是正常的。
现在我们切换到宿主机上,测试该VM与宿主机的网络连通性,如下:
通过上图,我们可以很容易的看到该VM与宿主机通信是正常的。
综合上述我们可以很明显的看到,VMWare的双网卡配置已经成功。
三、给VM配置静态路由
对于VM双网卡配置,我们在实际使用过程会发现,如果远程的主机与该VM双网卡进行通信时,是无法进行通信的,所以我们的问题来了。
如何让远程的主机与该VM进行通信呢?
其实很简单,我们只需要在该VM上配置一条到远程主机的静态路由就可以了。
下面分享一个例子,该例子中远程主机的IP地址是192.168.33.250。
现在我们来给该VM添加静态路由,如下:
route add -net 192.168.33.0/24 gw 192.168.0.1 dev eth1
该条命令的意思把需要发往192.168.33.0/24网段来的数据包全部通过192.168.0.1网关进行转发,并且是通过eth1网卡转发出去。
当然如果我们要删除已经添加的静态路由的话,可以使用如下命令:
route del -net 192.168.33.0/24 gw 192.168.0.1
静态路由添加完毕后,我们可以在该VM上通过traceroute命令追踪到远程主机的路径,如下:
traceroute 192.168.33.250
对于centos来说,如果没有安装traceroute命令的话,可以使用如下命令安装:
yum -y install traceroute
通过上图,我们可以很容易的看出从该VM到远程主机192.168.33.250的第一条路由是192.168.0.1,这个和我们刚刚配置的静态路由刚好进行匹配。
下面我们再切换到远程主机上,该远程主机是Windows OS,我们可以使用tracert命令追踪到该VM的路径,如下:
tracert 192.168.0.90