APP下载

虚拟机各种网络连接类型在教学中的综合应用

2014-10-21王溧

电子世界 2014年12期
关键词:网络连接网卡专用

王溧

【摘要】对不同虚拟机各种网络连接类型进行研究,加以综合应用,通过一个具体实例将不同类型的操作系统主机互联,并配置系统中各种需要的服務,构成较复杂的网络实训环境,与真实环境一致。结果表明,在计算机网络教学中,综合应用这些网络连接模式,可营造现实条件不容易实现的实训环境,提高教学效果,增强学生学习热情。

【关键词】虚拟机;Hyper-V;VMware;VirtualBox;bridged;host-only;nat;网络连接;服务

虚拟机服务在当今企业级网络中得到越来越广泛的应用,对于中职学校学生技能竞赛项目“企业网搭建与应用”而言,虚拟机从来都是一个必考的内容。

在2010年及以前,该竞赛项目考察的虚拟机为VMware。从2011年起,已经转变为考察windows server 2008的Hyper-V和Oracle的VirtualBox。

正因如此,对于当前的中职计算机网络专业学生而言,熟练掌握虚拟机的使用至关重要。这倒并不是出于竞赛的需要(毕竟只有少数同学可以参加竞赛),而是因为两点:

(一)可以与社会生产岗位的实际技能需求对接;

(二)当前绝大部分的中职学校,很难实现为每位学生提供三、四台物理主机来做网络实训的实训环境,但至少能提供一台主机,如果学生能熟练使用虚拟机,那么一台主机也已足够,在这一台主机中通过虚拟环境就可以实现多个主机的网络实训。

学生在这样的虚拟环境中做网络实训时,只要时刻清醒这个虚拟环境与真实环境相对应的网络拓扑结构(不至于迷路),那么就可以非常平滑地过渡到真实的网络环境,不会有任何的生涩感。本人所带的几届参加过“企业网搭建与应用”的学生,毕业后都在网络公司充当骨干力量,他们的经历可证明此点。

我认为虚拟机的要点乃是掌握其各种网络连接类型的综合使用,其他特点均要退居其次。熟练掌握了虚拟机的各种网络连接类型,就可以在一台(或数台)物理主机中模拟出与真实环境相同的网络拓扑结构。这个网络可以是十分复杂的,可能是多个不同操作系统的异构环境,包括各个操作系统配置的服务,多个网段,各网段之间的路由,各网段与外网的通信等等。可以在这样的模拟环境中,实现网络设计和规划,进行网络测试。

所示的网络环境是由Hyper-V实现的(在VMware和VitrtualBox中同样可以实现),其中只有一台物理主机、一台交换机、一台路由器是真实的,其他均为虚拟机,要能够在该虚拟环境中设置各种服务(如DNS、FTP、WEB)并为相互之间和外界所访问,实现全网互通。这是一个较复杂的由不同操作系统组成的虚拟异构网络环境,本文以实现这样一个实例来说明在中职的计算机网络专业教学中,应当让学生熟练掌握虚拟机的使用,这样学生就可以摆脱当前实训条件的束缚,在一台主机中,自由地构建各种网络环境,自由地在这个环境中学习各种网络知识。当然,任何学习都要遵循循序渐进的原则,我不建议开始就让学生来做这个实例,但在最后阶段,优秀的学生能够完成本实例的配置。

一、各种网络连接类型简要分析

虚拟机中各种网络连接类型都可以等效为一个非网管型交换机。凡是网络连接类型设置相同的虚拟机,都相当于连接到一个相同的等效交换机上。我们知道,当几台主机连接到同一个交换机(非网管型)上时,只要其IP地址设置在相同网段,则主机之间就可以正常通信了。这对于虚拟机也完全是一样的。至于虚拟机能否与外界通信,就要看这等效交换机是怎样与外部相连的了。

因为虚拟机中的网络连接类型基本差不多(相同或相似),所以在描述这些网络连接类型时,以Hyper-V为主,然后指出VMware workstation及VirtualBox中相同(或相似)的类型。篇幅所限,本文只作扼要说明。

1.Hyper-V中的“外部”(external)网络连接类型

注:VMware及VirtualBox中与之对应的连接类型为:桥接(bridged)。

当Hyper-V中虚拟机的网卡连接类型设置为“外部”时,此时虚拟机的网卡(如图1虚拟机6的1接口)与物理主机的网卡相当于连接到同一个等效的交换机上,此等效交换机再与物理主机所连的真实交换机相连。

2.Hyper-V中的“内部”(internal)网络连接类型

注:VMware及VirtualBox中与之对应的连接类型为:NAT。

当Hyper-V中虚拟机的网卡连接类型设置为“内部”时,此时这些虚拟机(如图1的虚拟机1)之间的关系仍然相当于连接到一个等效于“内部”网络连接的交换机上,但该等效交换机不再直接与外部交换机相连,而是与物理主机上一个新建的接口相连。

网络连接类型为“内部”的虚拟机,可以通过物理主机的路由与远程访问服务来实现与外部网络的互联互通。详见文后实例的实现过程。

3.Hyper-V中的“专用虚拟机网络”(pri-vate)网络连接类型

注:VMware及VirtualBox中与之对应的连接类型为:host-only。

当Hyper-V中虚拟机的网卡连接类型设置为“专用虚拟机网络”时,此时这些虚拟机(如图1的虚拟机2、3、4)之间的关系相当于连接到一个等效于“专用虚拟机网络”连接的交换机上,但若要与外部主机相连,需要借助其他虚拟机(如图1的虚拟机5——routeros)的路由功能,详见文后实例的实现过程。

二、本实例(如图1所示)的实现

1.实例网络拓扑简要说明

本实例在一台运行windows server 2008 R2的物理主机中,通过其Hyper-V服务创建6个虚拟机(数量视物理主机硬件性能而定),综合运用前述三种网络连接类型,构建出一个较复杂的异构网络,并要求此网络中的所有主机(包括所有物理主机及虚拟机)能够互相通信。

物理主机及各虚拟机的具体信息如下所述:

①虚拟机1,操作系统为CentOS,担任的主要服务为邮件服务,接口1连接到“内部internal-130”,IP为192.168.130.10/24。

②虚拟机2,操作系统为Windows Server 2008,担任的主要服务为只读域控制器(rodc)及DNS服务(内部),接口1连接到“专用private-61”,IP为192.168.61.10/24。

③虚拟机3,操作系统为Windows Server 2008,担任的主要服务为域控制器、DNS(内部)、WEB,接口1连接到“专用private-62”,IP为192.168.62.10/24。

④虚拟机4,操作系统为Windows Server 2003,担任的主要服务为FTP,接口1连接到“专用private-63”,IP为192.168.63.10/24。

⑤虚拟机5,操作系统为RouterOS,担任的主要服务为路由,接口1连接到“专用private -51”,IP为192.168.51.254/24;2连接到“专用private-61”,IP为192.168.61.1/24;3连接到“专用private-62”,IP为192.168.62.1/24;4连接到“专用private-63”,IP为192.168.63.1/24。

⑥虚拟机6,操作系统为CentOS,担任的主要服务为NAT路由器及DNS(内部和外部),接口1连接到“外部external-12”,IP为192.168.12.250/24;2连接到“专用private-51”,IP为192.168.51.1/24。

⑦物理主机,接口1对应创建“外部”网络连接类型的接口(命名为:external-12),IP为192.168.12.181/24,网关为192.168.12.1;接口2对应着创建“内部”网络连接类型的接口(命名为:internal-130),IP为192.168.130.1,网关为空。本物理主机可以正常上网。

2.实例的配置与实现

由于本文重点在于阐述虚拟机网络连接类型综合应用的实现,因此对于虚拟机本身网络操作系统中相关服务的配置,只能简要说明,无法详述。读者若对其具体实现的细节有疑问和兴趣,可参阅相关内容的书籍或文献。

(1)在Hyper-V中创建虚拟网络

在Hyper-V的“虚拟网络管理器”中,创建专用虚拟网络private-51、private-61、private-62、private-63,内部网络internal-130,外部网络external-12。

(2)创建并配置虚拟机1(CentOS)

安装虚拟机1,操作系统为CentOS,担任邮件服务器。注意给其添加的网卡最好选择“旧版网络适配器”,否则系统可能无法识别(如果是windows的虚拟机,则没有这个限制,下同)。配置该网络适配器接入网络“internal-130”, IP地址设置为192.168.130.10/24,网关为192.168.130.1。

在该系统上根据需要配置邮件服务sendmail及dovecot;配置squirrelmail并结合httpd服务,以支持通过网页收发电子邮件,网址为: http://mail.wanglibm.com;建立所需要的用户帐户。

(3)配置物理主机的“路由和远程访问”服务

①配置接口

进到“网络与共享中心/更改适配器设置”中,将新建的内部接口重命名为internal-130,IP设置为192.168.130.1/24,网关为空;外部接口重命名为external-12,IP设置为192.168.12.181/24,网关为192.168.12.1。

②配置路由與远程访问

在物理主机中,启用路由与远程访问,只需将其配置为一台启用了NAT功能和端口映射的路由器即可。在“IPv4/NAT”中配置internal-130为专用接口连接到专用网络,external-12为公用接口连接到Internet,并勾选“在此接口上启用NAT(E)”。

此时在虚拟机1中已经可ping通外部网络的主机。

由于虚拟机1担任邮件服务器且需要能够通过WEB页面进行邮件收发,所以需要在“external-12”接口属性的“服务和端口”选项中,分别进行SMTP、POP、HTTP、IMAP(dovecot支持IMAP)协议的NAT端口映射的配置。

VMware workstation中配置NAT端口映射的方法为:打开“edit”/“virtual network editor…”,选中网络连接类型为NAT的网络,单击“nat settings…”,在弹出的对话框中单击“add”,然后设置要映射的端口。

VirtualBox中配置NAT端口映射的方法为:打开虚拟机的设置对话框,选中“网络”,将adapter的连接方式选择为“NAT”,展开“高级”选项,单击“Port Forwarding”,然后在弹出的对话框中进行端口映射的设置。

(4)创建并配置虚拟机5

虚拟机5的主要作用是担任路由器,负责联结private-51、private-61、private-62、private-63四个网络区域的主机通信。其操作系统不限,只要能够实现要求的路由功能即可。此处选用软路由RouterOS是因为其耗用的资源少,内存32M,硬盘100M已经足够。另外,也可使本实例网络操作系统异构化得到最大程度的体现。

其配置只需下述两方面:

①配置接口IP地址

由于要联结四个网络,因此虚拟机5至少要具备4个虚拟网卡。

给虚拟机5添加的网卡的类型仍然必须为“旧版网络适配器”。添加网卡时,最好一次添加一块,进入系统修改此接口的名字,然后关闭系统,再添加另外一块,再修改名字,如此反复。如果一次全部添加4块网卡,则进入到系统中时,可能很难分清哪块网卡是接入到哪个网络区域的,因而也就很难正确配置各接口的IP地址。

本实例中,给RouterOS接口命名的规则为:网卡接入到哪个区域,就以哪个区域的名字命名。

例如,如果网卡连接到专用区域private -51,则以private-51命名该网卡接口。修改接口的名字后,可通过命令“interface print”显示目前接口信息。

然后设置IP地址信息,接口private-51的IP设为192.168.51.254/24,private-61为192.168.61.1/24,private-62为192.168. 62.1/24, private-63为192.168.63.1/24。

②添加默认路由:

本实例在RouterOS中添加默认路由的命令为:

ip route add dst-address=0.0.0.0/0 gateway=192.168.51.1

路由添加完毕,可在routeros中通过命令“ip route print”显示当前路由信息。

(5)创建并配置虚拟机2、3、4

创建虚拟机2、3、4,配置网络适配器连接类型,使其分别连接至专用网络区域private-61、private-62、private-63;按前述虚拟机信息配置IP地址及网关。至此,在虚拟机2、3、4防火墙未禁ping的情况下,相互之间已经可以ping通了。

将虚拟机3配置为域控制器,域名为wang-libm.com。在配置域控制器的过程中,DNS服务可以设置为自动按要求进行配置。将虚拟机2的DNS服务器地址设置为虚拟机3(域控制器)的IP(192.168.62.10),并以只读域控制器(RODC)的身份加入此域。配置虚拟机3的WEB服务,网址为:http://www.wanglibm.com。配置虚拟机4的FTP服务,网址为:ftp:// ftp.wanglibm.com。

(6)创建并配置虚拟机6

虚拟机6的作用有两个:其一为实现了NAT功能的路由器,这与物理主机的“路由与远程访问”相似;其二为DNS服务,为全网提供域名解析服务(虚拟机2、3的DNS服务只作为内部DNS服务,且主要为加入到域“wanglibm.com”的主机提供解析)。

首先创建虚拟机6,为其添加两块网卡,一块接至桥接区域external-12,对应的名称为eth0,配置IP为192.168.12.250/24,网关为192.168.12.1;另一块接至专用网络区域private-51,对应的名称为eth1,配置IP为192.168.51.1/24,网关为空。

①配置虚拟机6为实现了NAT功能的路由器

将配置文件“/etc/sysctl.conf”中的“net.ipv4.ip_forward”值改为1(默认为0),即:net.ipv4.ip_forward=1,以启用其IP分组转发功能(即使其成为一台路由器)。需要重启系统方可生效。

在文件夹“/etc/sysconfig/network-scripts/”下建立一个名为“route-eth1”的文件,在此文件中添加下列内容(以建立到“private-61”、“private-62”、“private-63”这三个网络区域的路由表:

192.168.61.0/24 via 192.168.51.254

192.168.62.0/24 via 192.168.51.254

192.168.63.0/24 via 192.168.51.254

重啟network服务(service network restart)以使新添加的路由生效。

当然也可以用“ip route add 192.168. 61.0/24 via 192.168.51.254”这样的命令添加,只不过要注意这种用命令添加的路由是非永久的,重启系统或network服务时都将消失。

至此,虚拟机6已经可以ping通虚拟机2、3、4。

运行下述命令启用SNAT功能(这里使用MASQUERADE,属SNAT的一种),使private -51、private-61、private-62、private-63四个网络区域的主机可以与外部联通:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.51.0/24 -j MASQUERADE

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.61.0/24 -j MASQUERADE

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.62.0/24 -j MASQUERADE

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.63.0/24 -j MASQUERADE

至此,虚拟机2、3、4已经可以访问外部主机。

运行下述命令启用DNAT功能(进行端口映射),使外部网络能够访问到内部网络private-61、private-62、private-63中的WEB服务:

iptables -t nat -A PREROUTING -p tcp -d 192.168.12.250 --dport 80 -j DNAT --to-destination 192.168.62.10:80

对于FTP服务,只需将上述命令中目的端口(--dport)分别改为20和21并运行即可。注意,虚拟机6本身不能启用上述已映射端口(即20、21、80)。

运行“service iptables save”以保存设置。

②配置虚拟机6的DNS服务

虚拟机6的另一个重要作用是为所有主机担任域名解析任务。对于该虚拟机而言,其所连接的网络可分为两大部分:内部网络和外部网络。内部网络包括private-51、private-61、private-62、private-63四个网络,其余均为外部网络。

内部网络主机及外部网络主机对域名解析的要求是不一样的。例如,处于private-63中的主机,在请求解析主机名www.wanglibm.com时,获得的对应IP地址应为192.168.62.10,因为内部主机在请求服务器(虚拟机3)的WEB服务时,不需要经过NAT转换,而外部网络主机所获得的对应IP地址应为192.168.12.250。对于主机名ftp.wanglibm.com,情况相同。

可以使用linux DNS服务的水平分割功能来实现。其配置文件named.conf的view节可以实现上述解析要求。

在named.conf配置文件中,将响应内部网络主机域名解析的区域(zone节)放在“view “local” IN {match-clients {127.0.0.1;192.168.51.0/24; 192.168.61.0/24; 192.168.62.0/24; 192.168.63.0/24;}; ……}””节中,将响应外部网络主机域名解析的区域(zone节)放在“view “public” IN {match-clients {0.0.0.0/0;}; ……}””节中。注意,local节一定要放在public节的前面,否则没有效果。

对应local的wanglibm.com域名解析文件名为“wanglibm.com.local”,其中www及ftp的主机记录如下所示:

www.wanglibm.com IN 1H A 192.168.62.10

ftp.wanglibm.com IN 1H A 192.168.63.10

对应public的wanglibm.com域名解析文件名为“wanglibm.com.public”,其中www及ftp的主机记录如下所示:

www.wanglibm.com IN 1H A 192.168.12.250

ftp.wanglibm.com IN 1H A 192.168.12.250

对于其他记录,两个区域文件的内容都一样,如下所示:

mail.wanglibm.com IN 1H A 192.168.12.181

pop.wanglibm.com IN 1H A 192.168.12.181

smtp.wanglibm.com IN 1H A 192.168.12.181

imap.wanglibm.com IN 1H A 192.168.12.181

再将此DNS服务的转发器设置为210.73.44.1(这是internet上一台真实可用的DNS服务器),将虚拟机3(IP为192.168.62.10)的DNS服务转发器设置为192.168.51.1(本虚拟机6连接内网接口的IP)。如此一来,内部网络所有主机的DNS服务可设置为192.168.62.10(当然,还可将192.168.51.1设置为次选DNS服务器),而外部网络所有主机(包括物理主机)的DNS服务均设置为192.168.12.250(本虚拟机6连接外网接口的IP)。

至此,全部网络配置完毕。所有主机均可相互通信,均可连接互联网,所有服务均可通过完全资格域名(FQDN)访问。

本实例在Hyper-V、VMware workstation和VirtualBox中,均通過测试。

三、总结

本实例综合运用了虚拟机的三种网络连接类型,构建出了一个比较复杂的虚拟网络。在此网络中,包括多种操作系统,并对多种服务进行了配置,包括路由服务(windows的路由与远程访问,CentOS的iptables,RouterOS的路由功能)、WEB服务(windows的IIS,CentOS的httpd)、FTP服务、邮件服务(CentOS的sendmail及dovecot)、DNS服务(windows的DNS,CentOS的named)、windows的域活动目录服务等。如果需要,还可以在此网络中启用更多服务,例如ssh、samba、nfs等,它们都将如真实环境中一样运作。

在教学中,如果能够让学生明白虚拟机网络连接类型的精髓,那么学生就可以灵活地设计自己所需的网络拓扑,学习各种网络配置,而不会受到实际硬件条件的限制,学生可以将其学习热情最大限度地释放出来。

参考文献

[1]Mark G.Sobell.Red Hat Linux指南-服务器设置与程序设计篇[M].人民邮电出版社,2008,11.

[2]张庆玉,刘军万.基于Hyper-V R2的服务器虚拟化资源分配优化[J].电脑知识与技术,2011(3).

[3]王慨.Hyper-V Server 2008 R2的服务器虚拟化应用研究[J].南通职业大学学报,2011(6).

[4]杨志彬.高校实验教学用服务器资源虚拟化部署[J].实验室研究与探索,2010,29(7).

[5]崔北亮.Router OS全攻略[M].电子工业出版社,2010,05.

[6]vmware corporation.VMware Workstation Help File.vmware corporation,2011,2.

[7]oracle corporation.Virtualbox User Manual.oracle corporation,2011,4.

猜你喜欢

网络连接网卡专用
体能测试专用鞋
体能测试专用鞋
体能测试专用鞋
个性化设置 Win10 的网络连接信息
运动想象的大尺度动态功能网络连接
Server 2016网卡组合模式
爱它就给它专用的设备
挑战Killer网卡Realtek网游专用Dragon网卡
中小型网络组建技术
RHEL7 Network Teaming(网卡绑定)配置与测试