PCEVA,PC绝对领域,探寻真正的电脑知识

标题: [补发精华] ITX 软路由 Windows server 2012R2 + Vmware Workstation方案 [打印本页]

作者: overthink    时间: 2014-9-3 15:51
标题: [补发精华] ITX 软路由 Windows server 2012R2 + Vmware Workstation方案
本帖最后由 overthink 于 2014-9-4 16:18 编辑

[补发精华] ITX  软路由 Windows server 2012R2 + Vmware  Workstation方案



半年多前的帖,目前已经迁移到ESXI上, 如果家里使用HTPC并有两个网卡口可以使用此方案,文章内容与初始版本有改动。

INTEL D410 ITX主板,是搞来想做脱机下载用的,顺手买了张82546GB网卡,跑下软路由。还有些闲置的配件,一起利用了。



[attach]250030[/attach]
82546GB双口网卡


[attach]250032[/attach]
X560电源和Plextor M5P  及WD250G HDD

此外,还准备了一个5口交换机,还有AR芯片的USB无线网卡,和一个RL3070芯片的USB无线网卡,想为路由增加WIFI功能,结果这两个网卡没调试成功。图就不上了。




这些配件的用途:


浦科特M5P 128G SSD  做系统盘
WD 250G HDD   做下载盘
INTEL 82546GB双口网卡  一个接LAN,一个接WAN
X560电源。其实任何无风扇电源都可以,这台机器的整机功耗不过30W,只不过手里有这个电源,顺手用了。


硬件安装

[attach]250034[/attach]
把两个硬盘安装在低板上固定好

放机箱里,把数据线接好,USB3.0的那个,这板不支持,塞一边闲置吧
[attach]250035[/attach]


电源接好,放进去,几乎顶到头了……
[attach]250036[/attach]


搞定看背面
[attach]250037[/attach]


硬件介绍完毕,简单介绍方案:


浦科特M5P 128G SSD  做系统盘安装Windows server2012R2系统,一开始考虑过WIN7 X64,后来和nightTOB聊天,他说server 2012对系统硬件的要求也不高,稳定性也不错,所以果断放弃WIN7 X64换用server 2012R2了。WD 250G HDD做下载盘使用。看到这儿,有网友可能会问,前篇不是ITX软路由么,m0n0wall的,到这儿怎么就变成Windows server 2012R2了?  好吧,我是用2012R2系统做宿主机,运行Vmware虚拟一个m0n0wall来做软路由家里面的所有机器通过虚拟机里的m0n0wall来上网。脱机下载的话,用Vmware虚拟一个Windows XP做下载机。



安装Windows server 2012R2系统


下载2012R2系统,用UltraISO写入U盘,U盘接ITX上,BIOS里设置U盘启动,进入安装界面
[attach]250038[/attach]


这儿,由于我们要用到GUI,选最后一个吧。
[attach]250039[/attach]
浦科特M5P 128G SSD 我分了两个区,第一个分区是60G,剩下的分一个区,WD 250G的那个下载盘,一个分区就好。系统安装在浦科特M5P的第一个分区里。

[attach]250040[/attach]

[attach]250041[/attach]

[attach]250042[/attach]
输入密码,密码强度要够,否则,会被Server 2012R2 reject

[attach]250043[/attach]
Server 2012R2安装完毕,进桌面了。


在Server 2012R2里面安装Vmware就不多说了,和一般的软件安装一样,不想修改安装路径的话,一路NEXT就好。



M0n0wall安装


在上一篇帖里,我们是把m0n0wall安装到U盘里,这次,是安装到Vmware的虚拟硬盘里,怎么安装呢?我的台机有Vmware,里面虚拟了一个XP偶尔用用,新添加一个虚拟硬盘,用虚拟机里已有的XP系统,把IMG文件写到新加的虚拟硬盘里面就好。

[attach]250044[/attach]
台机已有的虚拟机XP系统,点编辑虚拟机设置


[attach]250045[/attach]
跳出添加硬件向导,选中硬盘,点下一步。

[attach]250046[/attach]
硬盘类型,选IDE


[attach]250047[/attach]
这个我们选创建新虚拟磁盘


[attach]250048[/attach]
大小,我们设置1G,就够m0n0wall用了,注意下面,选中将虚拟磁盘存储为单个文件。点下一步。


[attach]250049[/attach]
点浏览,确认一下虚拟磁盘文件保存位置。名称我写的是m0n0wall.点完成,磁盘添加完毕。

启动虚拟机里的XP系统。把下载好的m0n0wall的IMG镜像和physdiskwrtie放在同一目录下,进命令行模式,运行physdiskwrtie,把img文件写到新添加的1G虚拟磁盘里面就好。

[attach]250050[/attach]
从上图可以看到,编号1的磁盘是我们新加的,已经写入成功。


[attach]250051[/attach]
找到m0n0wall.vmdk文件,这个就是我们安装好了m0n0wall系统了。把它复制到2012R2的机器里就好。

2012R2里Vmware的设置:


上次,我们是用D410主板全部资源跑的,系统资源占用很低,这次,我们在虚拟机里面跑,就可以按需分配资源给m0n0wall。

这次,我分配256M内存,虚拟磁盘大小为1G(其实就是上面的那个m0n0wall.vmdk文件了),虚拟机默认只有一个网卡,我们需要再添加一个,分别桥接到Intel 82546GB的两个网络接口上。
[attach]250052[/attach]
在Vmware虚拟网络编辑器里面,默认有VMnet0(桥接)、VMnet1(仅主机)、VMnet8(NET模式),我们点添加网络,再添加一个Vmnet2,设置为桥接模式。把Vmware里第一个虚拟网卡Vmnet0,桥接到Intel 82546GB网卡的第一个接口上,新添加的Vmnet2桥接到第二个接口上。


[attach]250053[/attach]
网卡桥接好了,把那个有m0n0wall系统的虚拟磁盘添加到虚拟机里。


[attach]250054[/attach]
设置完成,256M内存,1个处理器,网络适配器VMnet0桥接到82546GB 第一个接口,网络适配器Vmnet2桥接到82546GB 第二个接口。


不成功的WLAN设置


一开始用的是AR芯片的TP LINKWN422G+  m0n0wall没法驱动。
[attach]250055[/attach]


在Vmware里把WN422G+导入到虚拟机里,m0n0wall可以认出来,但是没法驱动。
[attach]250056[/attach]


换RT3070芯片的USB网卡
[attach]250057[/attach]
这个可以驱动。也认到MAC地址。 可以在GUI里面设置。

[attach]250058[/attach]
添加WLAN interfaces也没问题

[attach]250059[/attach]
设置SSID,密码什么的也正常。



完成后有点悲剧,搜索不到无线信号…………   不知道问题出在哪儿……


最后,WIFI是通过网络电视机顶盒解决的,哎
[attach]250060[/attach]
打开家庭路由

[attach]250061[/attach]

打开无线路由
[attach]250062[/attach]
设置SSID和加密方式

[attach]250063[/attach]
搞定了。


WIFI解决方案,还可以在Windows server 2012R2使用USB的无线网卡,跑个WIFI共享精灵做共享,可以不用机顶盒的热点了。


INTEL 82546GB在2012R2里设置


82546GB提供的两个接口,分别是桥接到m0n0wall,连接LAN和WAN的,如果在2012R2里面设置为自动获取IP,那么LAN口是可以通过DHCP获取IP并连接到INTERNET的,在2012R2里上网,会不会有冲突?我不清楚,还是专口专用好了,我只要他们做好LAN和WAN的工作,而不需要通过他们在2012R2里上网,怎么办? 简单设置一下IP就好。
[attach]250064[/attach]
把INTEL82546GB的两个接口在2012R2里面指定IP和子网掩码,把网关和DNS留空就好。

那么2012R2系统上网怎么解决? 把D410主板自带的RTL8103EL设置一下就好了嘛
[attach]250065[/attach]
这次要把网关和DNS都填写上了。还有,不要忘记把RTL8103EL接到交换机上,不然是没法联网的。

设置完成后的网络状态
[attach]250066[/attach]
以太网  和以太网2 是INTEL82546GB提供的两个接口,在2012R2里都不可访问INTERNET,以太网3是RTL8103EL的,联INTERNET没问题。

脱机下载


2012R2是服务器系统,安装下载软件做下载机用感觉不妥。用虚拟机解决吧,在VM里跑个XP系统,把WD的那个分区导入到虚拟机的XP里面,在XP里面往WD分区扔下载的东西就好。

要注意的地方:
虚拟XP的网卡也是用桥接,在VM的网络设置里面,添加一个Vmnet3,设置桥接到RTL8103EL上,这样下载机走的数据包是从RTL8103EL走的,不会响到INTEL82546GB的LAN和WAN。
[attach]249999[/attach]
添加Vmnet3


[attach]250000[/attach]
Vmnet3桥接到RealtekPCIe上。

XP虚拟机分配10G空间就好,只添加一个网卡, 光驱安装完系统后就删除,USB和声卡可以不添加。
[attach]250001[/attach]
安装XP

系统安装完毕后,把WD硬盘添加到XP里。使用物理磁盘,分区模式。
[attach]250002[/attach]


[attach]250003[/attach]
点高级,把虚拟设备节点设置一下,模式把独立和永久选中。点确定。

[attach]250004[/attach]
XP搞定了,启动,把里面的网卡再设置一下。

[attach]250005[/attach]


[attach]250006[/attach]
设置一下固定IP吧,由于网络是桥接,其它主机是把这个XP当做一台物理主机看的,设置固定IP方便管理。局域网开共享什么的都没问题。好在现在ISP不封路由了,不然我这是N台机器联网24小时联网,会被盯上的。

设置好IP,顺利上网。
[attach]250007[/attach]
在XP里面怎么下东西?不用我再说了吧


到这里有个问题,怎么控制2012R2和XP呢?系统带的远程桌面?设置太麻烦,也不太好用。  分享个很好的小工具:TeamViewer ,只要能联网,就能远程控制。使用很简单,大家自己研究吧。
[attach]250008[/attach]



压力测试:


搭个平台,用TfGen开两个各跑100M带宽,目标地址m0n0wallLAN口,192.168.1.1
[attach]250009[/attach]
运行了24小时,发送1T多字节。



我们来看看软路由状况:
[attach]250010[/attach]
接收了7.7亿个packets没有错误,没有Collisions。期间,其它机器上网一切正常。


[attach]250011[/attach]
压力测试时,CPU占用68%,256M内存占用了16%




整机功耗:

网络轻载
[attach]250012[/attach]
网络轻载,CPU占用大概是15%到20%,后面的CPU占用率提高是开启了TeamViewer远程桌面。

整机功耗26.26W左右

[attach]250013[/attach]



100M网络满载
[attach]250014[/attach]
CPU占用65%左右,后面的CPU占用率提高到100%是开启了TeamViewer远程桌面。


整机功耗
[attach]250015[/attach]
28.08W左右, 比轻载高了不到2W。



我们来看一下m0n0wall手册
[attach]250016[/attach]
手册不建议我们在虚拟机上跑m0n0wall,这大概是从稳定性上来说,如果宿主机出问题,虚拟机down掉的几率是很大的,所以,宿主机建议用server系统跑,同时尽量少的安装无关软件。

[attach]250017[/attach]
手册建议我们用Intel网卡,这个有条件的还是用Intel的吧,因为其它网卡的可能会提高CPU占用,尤其在高负载的情况下。

[attach]250018[/attach]
手册关于CPU的说明,这个当然是性能越高越好了。当然也要考虑一下能耗比问题,路由是24H开机的。

PCI带宽

有关PCI的带宽也查一下资料,看看我们把PCIX接口的82546GB接在D410PT的PCI接口上会不会有瓶颈
PCI接口带宽:
PCI 总线位宽是 32位,总线频率 33 MHz,每时钟传输 1 组数据,它的带宽为 127.2 MB/s,即 1017.6 Mbps。
●PCI 2.1 总线位宽是 64位,总线频率 66 MHz,每时钟传输 1 组数据,它的带宽为 508.6 MB/s,即 4068.8 Mbps
那么,82546GB支持PCI2.1么?主板的PCI插槽呢?  这个查下资料就好了。
82546GB datasheet PDF截图,
[attach]250019[/attach]
82546GB支持PCI2.3及PCI-X1.0a

Block Diagram这个看的更清楚些。
[attach]250020[/attach]

也就是说在82546GB支持64bit 66MHz  
82546GB datasheet全文在这:http://wenku.it168.com/d_000719402.shtml
D410PT的PCI版本是多少呢?
http://downloadmirror.intel.com/18358/zho/D410PT_ProductGuide02_SChinese.pdf
也从PDF里面找

[attach]250021[/attach]


扩展功能:一个PCI总线附加卡连接器。  没写版本……
我们看最下面,
瞬时可用计算机技术:支持《PCI本机总线规格》2.3修订版
那就是说,网卡和主板的PCI都满足PCI2.3版本要求,所以D410PT的PCI槽,理论上带宽满足82546GB的需求,理论上没有瓶颈。


理论上没有瓶颈不代表实际上没有瓶颈,我们来实测一下,
由于没有千兆交换机,我直接用网线把82546GB的LAN口和台式机的网卡口接好,再用Tfgen跑压力测试。看看效果如何。(现在网卡大都支持自动翻转,不用交叉双绞线的,直连就好,真方便)


[attach]250022[/attach]
开两个TfGen 各跑1G  大概能跑到800Mbps,此时Ping路由丢包十分严重,台式机无法正常上网。


[attach]250023[/attach]
2012R2显示网络占用是822Mbps和台式机显示的相近。

[attach]250024[/attach]
此时ATOM410的CPU占用率是70%左右,下面测试ATOM410的CPU占用率就不看了,肯定会更低,CPU性能不是瓶颈。


关掉一个TfGen,只开一个,设置带宽1Gbps
[attach]250025[/attach]
台式机显示带宽在650Mbps左右,此时Ping路由丢包严重,上网非常卡。


只开一个TfGen,设置带宽750Mbps
[attach]250026[/attach]
台式机显示跑500Mbps左右,此时Ping路由偶尔有丢包,上网正常。

只开一个TfGen,设置带宽500Mbps
[attach]250027[/attach]
台式机显示跑320Mbps左右,此时Ping路由无丢包,上网正常。


只开一个TfGen,设置带宽400Mbps
[attach]250028[/attach]
台式机显示跑260Mbps左右,此时Ping路由无丢包,上网正常。

最后来个网络拓扑图
[attach]250029[/attach]

忙了N天,ITX主板做的软路由终于有点模样了,路由搞定,性能足够用,内网带宽跑到260Mbps左右不会丢包。WIFI也算不完美的解决了,下载就使用虚拟机里的XP系统,也没问题。

此外使用Windows Server2012R2,做个FTPWWW什么的也可以,在m0n0wall里面做一下端口映射,就可以从外网访问了。




上一篇是单独写m0n0wall的,由于回档,图片已经丢失,没法补档了



作者: overthink    时间: 2014-9-4 16:23
再补充一下,这个方案在使用中对CPU的压力是比较大的,目前已经整体迁移到ESXI虚拟化平台。
作者: ey2h    时间: 2014-9-9 11:44
overthink 发表于 2014-9-4 16:23
再补充一下,这个方案在使用中对CPU的压力是比较大的,目前已经整体迁移到ESXI虚拟化平台。 ...

ESXI怎么装这个软路由呢?装了几次装不上,求教程

作者: overthink    时间: 2014-9-9 14:49
ey2h 发表于 2014-9-9 11:44
ESXI怎么装这个软路由呢?装了几次装不上,求教程

先用ESXI虚拟一个XP,除系统盘外,再添加一块虚拟硬盘(用来安装m0n0wall大小随意),在虚拟XP里,用physdiskwrtie把IMG写到虚拟硬盘里就好,再把虚拟硬盘文件复制到m0n0wall的虚拟机里,手动添加一下就好。

作者: overthink    时间: 2014-9-9 14:52
ey2h 发表于 2014-9-9 11:44
ESXI怎么装这个软路由呢?装了几次装不上,求教程

也可以考虑用pfSense 这个有安装ISO镜像,安装上比m0n0wall的镜像方便些

作者: ey2h    时间: 2014-9-10 13:14
overthink 发表于 2014-9-9 14:52
也可以考虑用pfSense 这个有安装ISO镜像,安装上比m0n0wall的镜像方便些

谢谢,下一个试试看。

作者: pphiuyt    时间: 2014-12-31 18:05
看到 DNS 我就笑了  那么熟悉
作者: hzqim    时间: 2015-1-6 09:56
谢谢楼主的教程,DIY硬件防火墙,真是开了眼界了。

有疑问:
1、家庭宽带用 openwrt 路由,20M 对等,玩 PT 下载,有没有必要再弄这个防火墙?
2、Linux 下有没有类似的方案?
谢谢解答。
作者: overthink    时间: 2015-1-7 10:17
本帖最后由 overthink 于 2015-1-7 10:18 编辑
hzqim 发表于 2015-1-6 09:56
谢谢楼主的教程,DIY硬件防火墙,真是开了眼界了。

有疑问:

1、看需求,这个优点是在QOS方面。可以根据不同的应用,设定不同的优先级。
2、Linux下也有,MikroTik Router OS 不过这个软路由是收费的。

有关ROS的简单使用及资料,可以参考
http://bbs.pceva.com.cn/thread-100109-1-1.html

作者: 素描雨夜    时间: 2015-1-13 17:07
好多步骤啊眼睛花了
作者: 李鸿飞    时间: 2015-1-18 02:05
DNS,我这是202.102.224.68……
作者: 小水管的春天    时间: 2015-1-25 23:14
我2012开VM10运行ROS3.3,怎么才能开机直接启动ROS。网上找了好久没都不行,楼主怎么开机启动软路由的
作者: overthink    时间: 2015-1-26 09:12
小水管的春天 发表于 2015-1-25 23:14
我2012开VM10运行ROS3.3,怎么才能开机直接启动ROS。网上找了好久没都不行,楼主怎么开机启动软路由的 ...

我迁移到ESXi了,那个设置开机启动什么的很方便。

你看一下这个办法成不成
http://blog.sina.com.cn/s/blog_6a8dae300101nsej.html

作者: 小水管的春天    时间: 2015-2-3 22:24
overthink 发表于 2015-1-26 09:12
我迁移到ESXi了,那个设置开机启动什么的很方便。

你看一下这个办法成不成

用你发的链接 ,改了下可以开机启动ROS了。  
问下主机装ESXI,挂的硬盘是什么格式,我黑群晖里的3*3T硬盘想搞进去,需要格盘吗





欢迎光临 PCEVA,PC绝对领域,探寻真正的电脑知识 (https://bbs.pceva.com.cn/) Powered by Discuz! X3.2