借助VMware Workstation完成跨网段PPPoE拨号实验
2019-04-03河北卫文平
■ 河北 卫文平
为了更好地理解PPPoE,掌握PPPoE服务器架设和配置方法,笔者决定利用VMware Workstation组建相对较为复杂的测试网络:跨网段的PPPoE拨号实验网络。
PPPoE简介
PPP over Ethernet(PPPoE)协议是在以太网络中转播PPP帧信息的技术,广泛用于ADSL等互联网接入方式。PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题,具体包括链路控制协议LCP、网络控制协议NCP、口令验证协议PAP和挑战握手验证协议CHAP等。
在光纤宽带入户全面普及的今天,PPPoE是不是被淘汰呢?事实上,PPPoE的优势还是比较明显的:
一是PPPoE采用的是二层链路方式,在防止ARP三层包攻击方式等方面具有天然的优势。
二是PPPoE付费方式灵活,可针对每个连接进程进行计费,也可按进程的时间长短来收费,还可收取一个最小接入费用。
三是PPPoE对网络设备要求不高,可以大大降低组网成本。
因此,现在仍有不少单位使用PPPoE管理局域网,尤其是小型企业。
VMware Workstation虚拟网络连接组件
VMware Workstation是一款桌面虚拟计算机软件,可以在一台计算机上创建若干台虚拟的计算机,可以模拟各种网络环境。VMware Workstation提供的虚拟网络连接组件包括虚拟交换机、虚拟网络适配器、虚拟DHCP 服务器和 NAT 设备。
虚拟交换机
VMware Workstation提供的虚拟交换机和物理交换机比较相似,可以连接虚拟机及其他网络组件,组建自定义网络。可根据需要创建虚拟交换机,新版本VMware Workstation 15最多能在Windows主机系统上创建 20台虚拟交换机,在Linux 主机系统上创建255台虚拟交换机。
VMware虚拟交换机也称为虚拟网络,名称为VMnet0、VMnet1、VMnet2,以此类推。在这些虚拟网络中,VMnet0、VMnet1和VMnet8是VMware Workstation特定网络,是VMware Workstation默认的虚拟交换机。
1.桥接模式网络
在Windows或Linux主机系统完成Workstation Pro安装后,系统会设置一个桥接模式网络(VMnet0)。桥接模式网络连接通过使用主机系统上的网络适配器将虚拟机连接到网络。通过桥接模式网络连接,虚拟机中的虚拟网络适配器可连接到主机系统中的物理网络适配器,进而连接到主机系统所用的局域网,这样,虚拟机和主机一样,可完全参与到局域网活动中,可访问局域网中的其他计算机,也可以被局域网中的其他计算机访问,就像是网络中的物理机那样。
2.仅主机模式网络
仅主机模式网络(VMnet1)是安装Workstation Pro后由系统设置的另一个网络。这是一个比较特殊的网络,虚拟机仅限于和主机通信,VMware Workstation虚拟网络适配器不和任何物理网络适配器连接,不能与主机之外的任何网络互通。
仅主机模式网络可以用来组建隔离的虚拟网络,可以组建对应公司内部的网络,甚至DMZ网络。
3.NAT 模式网络
NAT模式网络(VMnet8)也是安装VMware Workstation后由系统设置的网络,如果使用新建虚拟机向导创建典型虚拟机时,该向导会将虚拟机配置为使用默认NAT模式网络。在NAT模式网络环境下,虚拟机和主机系统共享一个网络标识,此标识在外部网络中不
可见。NAT工作时会将虚拟机的IP地址转换为主机系统的IP地址,虚拟机正是通过网络地址转换,达到访问外部网络的目的。
虚拟网络适配器
虚拟网络适配器和物理网络适配器功能完全一样,使用新建虚拟机向导创建新的虚拟机时,向导会为虚拟机创建一块虚拟网络适配器,可以为每台虚拟机创建10块虚拟网络适配器。
虚拟机网络适配器在虚拟机操作系统中一般显示为AMD PCNET PCI适配器、Intel Pro/1000 MT服 务器适配器或Intel 82574L千兆位网络连接。
在Windows Vista、Windows 7和Windows 8虚拟机操作系统中,该适配器为Intel Pro/1000MT服务器适配器。在Windows 8.1和Windows10虚拟机操作系统中,该适配器为Intel 82574L千兆位网络连接。
虚拟DHCP服务器
虚拟DHCP服务器和普通DHCP服务器完全一样,也是动态主机配置协议服务器,它主要为仅主机模式网络和NAT模式网络中的虚拟机分配IP地址。
NAT设备
和其他NAT设备一样,具有网络地址转换功能。VMware Workstation提供的NAT设备主要是将NAT模式网络的虚拟机IP地址转换为主机IP地址,从而实现虚拟机访问外部网络的目的。
用VMware Workstation组建简单的跨网段网络
为了简化实验环节,节约实验环境搭建时间,笔者设计了如图1所示跨网段网络,在这个网络架构中除主机是物理计算机外,其余全是由VMware Workstation虚拟出来的网络设备。其中包括虚拟网桥一台,虚拟机网络交换机3台、虚拟机3台,在3台虚拟机中共虚拟出网络适配器5块。
用作PPPoE服务器的虚拟机1和用作PPPoE拨号客户端的虚拟机3分别隶属于两个不同的网络:VMnet2和VMnet3,VMnet2和VMnet3通过虚拟机2桥接在一起。虚拟机1通过VMware Workstation提供的NAT设备访问主机所在网络,当然,如果主机能访问互联网,虚拟机1也能访问互联网。
在搭建上述跨网段网络前需要说明的是,为了节省主机(物理计算机)开销(一般学生用计算机内存不超过8GB,内存为4GB的计算机也不少),笔者用RouterOS搭建PPPoE服务器,其内存需求较低,64MB内存即可。其余两台虚拟机均为XP系统,各占512MB内存,也就是说,搭建这样的实验环境,内存最多多开销1.5GB左右的内存,因此,目前的计算机配置差不多都能满足实验需求。
创建虚拟机1
1.创建虚拟机1,在创建过程中,出现“选择客户机操作系统”页面后,客户机操作系统选“其他”,然后在下拉列表框中选择“其他”。
2.创建好虚拟机后,右击新创建的虚拟机,在右键菜单中选择“设置”,以检查虚拟机1的虚拟网络适配器是否是连接到NAT模式网络。
3.出现“虚拟机设置”窗口后,检查网络适配器是否是默认的NAT,如果不是,在窗口左侧硬件列表中选择“网络适配器”,在右侧选择“NAT模式”即可。
4.安装RouterOS操作系统(具体安装过程略)。
5.配置虚拟机1的IP。
说明:尽管虚拟机1接入的是NAT模式网络,虚拟机操作系统应该能自动获取IP地址,也有部分操作系统不带DHCP客户端,或没有启动DHCP客户端服务,从而无法获取VMware Workstation NAT设备为其提供DHCP服务,从而得不到IP地址。
在本例中,RouterOS操作系统就没有启动DHCP客户端服务,此时要么配置RouterOS的DHCP客户端,要么人工配置IP地址。在这两种方案中,配置RouterOS的DHCP客户端更为简单一些。
图1 跨网段网络拓扑图
(1)启动RouterOS操作系统后,用管理员账户登录系统,默认的管理员账户是“admin”,密码为空。
(2)看见命令行提示符后输入“setup”命令。
(3)看见相应界面后,选择输入字母d,即选择配置dhcp客户端。
说明:上述配置DHCP客户端的过程实际上就是启动dhcp服务的过程,此时系统会马上返回图5的界面,只是在a前面的*变成了+,表示已有IP地址和网关了,d前面多了一个+,表示已启动dhcp客户端。
6.关闭虚拟机1。
7.进入虚拟机1设置页面,单击“添加”按钮,出现“添加硬件向导”窗口,在“硬件类型”列表中选择“网络适配器”。
8.回到“虚拟机设置”的页面以后,选择新添加的网络适配器“网络适配器2”,在窗口右侧选择“自定义”,并在下拉菜单列表中选择“VMnet2”网络连接。最后单击“确定”按钮即可完成配置。
9.启动虚拟机1,为虚拟机1的网络适配器2配置IP地址(配置过程略)。在本例中,将PPPoE服务器的地址配置为“192.168.0.1/255.2 55.255.0”。
创建虚拟机2
1.创建虚拟机2。虚拟机2上运行的是Windows XP操作系统,创建时按提示做出相应选择即可。创建虚拟机时,注意调整虚拟机内存,如果主机内存较小,可将虚拟机内存调整为512MB。
2.参照虚拟机1的设置方法,进入虚拟机2设置页面,为虚拟机2添加一块网络适配器,并将“网络适配器”设置为“VMnet2”网络,将“网络适配器2”设置为“VMnet3”网络。
3.为虚拟机安装Windows XP操作系统(略)和VMware Tools(略)。
4.启动Windows XP系统,将虚拟机“网络适配器”(连入VMnet2网络的网络适配器)的地址配置为和虚拟机1同一个网段的地址。在本例中,为其配置的地址是“192.168.0.2”。
说明:如果是新安装的系统,在Windows XP系统中,虚拟机“网络适配器”(连入VMnet2网络的网络适配器)显示为“本地连接”,虚拟机“网络适配器2”(连入VMnet3网络的网络适配器)显示为“本地连接2”。
说明:因为要在虚拟机2上用WinBOX配置RouterOS,所以要配置“本地连接”,确保WinBOX能登录RouterOS。PPP是链路层协议,不需要IP地址,不配置“本地连接2”IP地址可更好地展现PPPoE拨号实验的效果。
5.通过虚拟机2桥接VMnet2网络和VMnet3两个网络。进入Windows XP的网络连接窗口,选中“本地连接”和“本地连接2”,右击选中的内容,在右键菜单中选择“桥接”,即可将VMnet2网络和VMnet3两个网络桥接在一起。
创建虚拟机3
虚拟机3的创建方法和虚拟机2相类似,创建过程更简单,只需要将默认的网络适配器更改为VMnet3即可,不需要添加新的网络适配器。添加完虚拟机3后,为其安装Windows XP操作系统和VMware Tools即可,不需要配置IP地址或其他设置。
搭建PPPoE服务器
RouterOS是一款具备现有路由系统大部分功的软路由操作系统,包括无线、认证、策略路由、带宽控制等主要功能,RouterOS也 提供了PPPoE功能,用户可以用RouterOS搭建PPPoE服务器,具体搭建过程如下:
1.用WinBox管理RouterOS
大家喜欢使用图形界面的原因就是直观方便,现在大家已经不太习惯用命令操作计算机。MikroTik 提供了本地控制台(命令方式)和图形界面两种方式配置RouterOS软路由器。其中WinBox就是MikroTi提供的一款RouterOS图形界面管理小工具。
WinBox的使用简单方便。先运行WinBox,出现“WinBox”窗口后,在“Connect To”文本框中输入RouterOS(虚拟机1)的IP地址(在本例中,前面为其配置的地址是“192.168.0.1”)。分别在“Login”和“Password”文本框中输入登录RouterOS的用户名和密码,RouterOS默认的管理员账号是“admin”,密码为空。
图2 配置IP地址
2.创建地址池
(1)和DHCP服务器要为DHCP客户端分配IP地址一样,PPPoE服务器也要为PPPoE客户端分配IP地址。搭建PPPoE服务器时,需要先创建地址池。
(2)用WinBox登录到RouterOS后,依次单击窗口左侧“IP”菜单→“Pool”。
(3)出现“IP Pool”窗口后,单击图标工具栏上的“+”图标按钮。
(4)出现“New IP Pool”窗口后,在“Name”文本框为新建的IP地址池取一个名字(本例为“pppoepool”)。在“Addresses”栏输入地址或地址范围(本例输入的是地址范围“192.168.0.30-192.168.0.250”)。用户可以根据需要配置地址池,单击“Addresses”右侧的“▼”图标可以增加地址,单击“▲”图标可以删除地址,如图2所示。
3.创建模板
(1)单击WinBox窗口左侧菜单中的“PPP”。
(2)打开“PPP”窗口后,先单击“Profiles”选项卡,在“Profiles”选项卡下单击“+”图标按钮。
(3)出现“New PPP Profile”窗口后,在“Name”文本框中为新建的模板取一个名字(本例为“pppoeprofile”),分别在“Local Address”(本地地址)和“Remote Address”(远程地址)下拉菜单中选择前面所创建的地址池(在本例中,前面创建的地址池是“pppoepool”)。
4.创建拨号账户
(1)在“PPP”窗口下单击“Secrets”选项卡,在“Secrets”选项卡下单击“+”图标按钮。
(2)出现“PPP Secret”窗口后,在“Name”文本框中指定新用户的用户名(本例为“test”)。
在“Password”框中为新建用户指定密码,根据实际需求在“Service”下拉菜单中选择该用户可以登录的服务器,“any”表示该用户可以登录RouterOS提供的所有服务,在“Profile”下拉菜单中选择前面所创建的模板(在本例中,前面创建的模板是“pppoefile”)。
5.添加PPPoE服务
(1)在“PPP”窗口下单击“PPPoE Servers”选项卡,在“PPPoE Servers”选项卡下单击“+”图标按钮。
(2)出现“PPPoE Service”窗口后,在“Service Name”文本框中为新建的PPPoE服务取一个名字,在“Interface”下拉菜单中选择内网接口(局域网接口,在本例中,是连接VMnet2网络的网络接口,是虚拟机1的第二块网络适配器,接口名称是ether2),在“Default Profile”下拉菜单中选择前面所创建的模板(在本例中,前面创建的模板是“pppoefile”),勾选“One Session Per Host”(一个账号同时只能在一台电脑上登录)。
注意:很多网管员在搭建PPPoE服务器时,经常选错接口,此处选择是内网接口,不是外网接口。
6.配置NAT
前面配置好PPPoE服务器后,PPPoE客户端就可以随时拨入了,不过,在没有配置NAT之前,PPPoE客户端即便成功拨入PPPoE服务器,也无法访问互联网(或主机所在网络)。下面是配置NAT的过程。
(1)在WinBox主窗口下,依次单击窗口左侧“IP”菜单→“Firewall”,设置防火墙。
(2)出现“Firewall”窗口后,单击“NAT”选项卡。在“NAT”选项卡下,单击“+”图标按钮,新建一条防火墙规则。
(3)出现“New NAT Rule”窗口后,在“Chain”下拉菜单中选择“srcnat”,在“Src Address”文本框输入内网的网络号(本例为“192.168.0.0/24”),在“Out Interface”下拉菜单中选择外网接口(在本例中,外网接口是ether1,是虚拟机1的第一块网络适配器)。
说明:RourteOS提 供了两种Chain方式,分别是“srcnat”和“dstnat”。其中srcnat是源地址NAT,就是把内部网络的私网地址转换成外部网络地址,以实现内网用户对外网的访问。Dstnat是目标地址NAT,就是把访问的目标地址映射到内网的私有地址,以实现以外网用户对内网资源的访问。
(4)仍然在“New NAT Rule”窗口(如果编辑NAT规则,窗口变成了“NAT Rule”)下,单击“Action”选项卡,在“Action”下拉菜单中选择“masquerade”,即采取地址伪装(masquerade)方式实现NAT地址转换,选择masquerade方式后,RourterOS会自动寻找路由设备的IP地址去替代IP数据包的源地址。
完成PPPoE拨号实验
图3“网络连接”窗口
搭建好PPPoE服务器后,就可以像家庭宽带那样创建宽带连接了,本例是在Windows XP操作系统完成拨号连接,在其他操作系统下创建宽带连接的方法类似,因创建宽带连接不是本文重点,下面简要介绍完成PPPoE拨号的过程。
1.打开“网络连接”窗口,单击窗口左侧的“创建一个新的连接”,如图3所示。
2.出现“新建连接向导”对话框后,单击“下一步”按钮继续。
3.出现“网络连接类型”页面后,选择“连接到Internet”。
4.出现“准备好”页面后,选择“手动设置我的连接”。
5.出现“Internet连接”页面后,选择“用要求用户名和密码的宽带连接来连接”。
图4 创建帐户信息
图5 创建连接拨号
6.出现“连接名”页面后,在“ISP名 称”文本框为连接名取一个名字,本例为“PPPoE拨号实验”。
7.出现“Intern et账户信息”页面后,输入前面创建的用户名和密码(在本例中,前面创建的用户名和密码分别是“test”和“1”),如图4所示。
8.创建好宽带连接后,用所创建的宽带连接拨号,打开宽带连接拨号窗口后,输入前面设置的账号和密码(如果没有更改账号或密码,此处默认就是前面设置的账号和密码),单击“连接”按钮即可拨入PPPoE服务器,如图5所示。
经测试,在虚拟机3上能成功拨入PPPoE服务器(虚拟机1)。连接到PPPoE服务器后,在虚拟机3上可以上网。至此,跨网段的PPPoE拨号实验全部完成。