前两篇写完,Windows软路由服务器这个话题在很多写手那里就算告一段落了。只是作为高级(喜欢折腾)网管来说,哪有那么简单就算完。所以继续扩展说说。
笔者:国际认证信息系统审计师、软考系统分析师
没看前两篇的可以先看看:
既然是路由器,那么多个子网之间的路由能力是必须具备的。按服务器配备的网络接口的情况,可能存在以下两种情况:
1、用一个网口实现局域网内多个子网之间的路由通信
2、用多个网口实现局域网内多个子网之间的路由通信
这两种情况没有本质区别。如果条件具备,还是应该用多个物理的网络接口来实现,这样在管理上更清晰,在带宽上也更充裕。
而且Windows并没有像Linux那样多的可微调的内核参数,所以在硬件上还是尽量充裕一点。
下面说说网口的IP地址配置。
第一种情况有个专业术语叫“单臂路由”。我们需要在这一个LAN接口上把所有子网网段的IP地址都配置上,都成为子网的网关地址,例如下图:
第二种情况为每一个网络接口参照之前对LAN接口配置IP地址的方式去配置即可。必要的是,每个网络接口都应该对应子网去改名,这样才能分辨清楚:
不过 Windows 有个很不好的限制。新增网络接口后路由和远程访问(以下简称RRAS)服务并不能直接添加接口,要在禁用RRAS服务再重新启用之后,新增的网络接口才会出现可添加。这样一来,所有做好的配置就要重新来一遍了。
经过上面的配置,这些子网就都能通过这台软路由器服务器连接到外网。但如果这些子网之间需要互相访问资源,而他们之间的广播域是实现了隔离的话,那就需要设置静态路由,允许子网之间相互通信。
设置方法也不复杂,在RRAS服务管理界面的IPv4分支下找到“静态路由”分支,右击选择新建静态路由,然后正确地填入路由的几个参数即可。
比如下面的例子,打算设置192.168.200.2这台主机能被192.168.201.0/24子网的IP访问,而192.168.200.0/24和192.168.201.0/24两个子网相互隔离,通过软路由服务器中转。那么,第一条静态路由设置的是到主机192.168.200.2的路由:
第二条设置的是到192.168.201.0/24这个子网段的路由:
设置好之后可以查看路由清单:
注意路由需要双向配置,不过这么基础的知识应该难不倒各位网管朋友。
注:子网之间互相隔离一般使用VLAN技术,要采购可网管的交换机才能进行配置。
在软路由服务器运行起来之后,查看日志时会发现类似这样的DNS查询失败记录:
详情如下:
对于这个问题,经过反复测试后发现只有一个解决办法,就是调整RRAS服务的NAT属性中的日志记录设置,改为“只记录错误”。由于这个事件记录的级别是“警告”,比“错误”要轻,所以就不会被记录:
虽然这样设置会和日志审计所要求的尽可能记录一切非正常情况的原则有冲突。但如果不这样设置,系统日志很有可能会被大量无效DNS查询的告警充满,所以权衡下就只能这样设置了。
另外还测试了一些其它方法,但都无效。比如把WAN接口(会自动获得或手工配置了外部DNS服务器地址)设置为默认接口的做法,修改网络接口的跃点数,取消自动跃点并把WAN接口设置为10,其它接口设置为100:
由于这个方法无效,所以故意把截图弄成局部。
需要注意的是,事件ID 31011在微软网站上完全找不到任何信息。考虑到本文示范过程用的是Windows 2012,可能新版本已经解决了这个问题,欢迎后台留言讨论。
在安装配置RRAS时,实现的DHCP服务器是非常粗糙简单的,甚至比很多消费者级别的路由器的DHCP功能都要弱。
从网络安全角度看,对DHCP功能实现细化控制是完全有必要性且很关键。这我在这篇吐槽里面说得很清楚:
要实现细化控制,需要安装DHCP服务器。安装过程通过“添加角色和功能”向导,勾选DHCP服务器角色后按向导提示完成即可。
完成安装后,点击上面截图中的“完成DHCP配置”,完成初始化配置:
点击提交按钮之后自动进行配置:
在启用之前,需要提醒一下是局域网内1个广播域只能有1个DHCP服务器,否则会发生分配冲突,导致终端拿错地址或者拿不到地址。
具体配置并启用DHCP服务器前,首先需要取消RRAS服务里面的DHCP设置:
然后,正确的选择需要启用DHCP服务的接口:
勾选需要提供DHCP服务的网络接口:
再次提醒,绑定到DHCP服务的网络接口不能在同一个广播域内,否则无法获取到IP地址。
DHCP服务器设置的重点一般包括以下内容:
1、设定分配的IP地址范围、时长:
默认的8天时间太长了,改为16小时,正常工作加上加班都足够了:
2、相关配置比如网关地址、DNS地址等:
注意添加DNS服务器的过程会验证DNS服务器是否有效。对于通过NAT转发DNS查询的模式,也就是DNS服务器输入LAN接口地址时,会被提示认为是无效DNS地址,但还是可以加进去的。另外也可以直接设置为外部DNS服务器地址。
设置完毕后启动作用域:
测试客户端PC通过DHCP服务获得IP地址:
进一步地,可以通过“保留”和“筛选器”两项功能实现MAC地址白名单和基于MAC地址和IP地址成对分配,这些都是强调网络安全时需要进行的设置。比较方便的是,可以先让客户端获得IP地址,然后右击地址租用记录,选择将其转换为筛选器条件和保留地址。
完整的DHCP服务器功能很多,这里只是浅尝辄止。通过对软路由服务器添加这一功能角色,实现了安全的、可审计的DHCP服务器。值得一提的是,可被充分审计是目前软路由器相对硬件路由器的最大优势。
目前这台软路由器服务器建立的只是DNS查询的转发服务,本身不具备DNS解析能力。在企业内网中,有可能需要建立专门的DNS服务器,这取决于以下两个前提条件:
1、企业内网终端比较多,出口带宽不足,要尽可能减少流量,此时建立DNS服务器,实现DNS缓存,可以有效地减少DNS解析需要耗费出口带宽的情况,并提高终端用户的解析响应速度。
2、企业在内网建立内部网络服务,比如基于B/S模式的信息系统后,可以通过建立DNS服务器,设定内部私有域,通过内部私有域名方便用户使用网络服务,避免用户记忆IP地址等。
要前置明确一下,建立DNS服务器后,建议参考:
衡量和实施必要的安全措施。
加装DNS服务器角色的操作非常简单。
1、首先也是要在RRAS服务的NAT功能属性中,“名称解析”的页面取消为客户端解析域名的设置。
2、然后通过“添加角色和功能”向导,在角色树中勾选DNS服务器,然后按向导过程完成安装:
3、对DNS服务器进行配置,首先是调整DNS服务器属性,设置侦听接口、转发器、事件日志。
侦听接口只对LAN接口即可。
转发器设置的DNS服务器建议还是选择自己的出口线路上获得的DNS服务器地址,否则会影响某些网站的CDN加速功能,导致网页加载缓慢或者根本打不开。
可以在属性页的“监视”功能中进行测试:
如果需要自定义内部私有的DNS域,需要创建正向查找区域(最好同步创建反向查找区域)。值得指出的是,Windows服务器操作系统的DNS服务器功能,因为需要实现对Windows域管理的支持,一些功能上和标准的DNS服务器(比如BIND)会有所不同。
如果想使用BIND来实现DNS服务器,达到更复杂和自主的域名解析能力,可以参考这一篇:
限于篇幅和本文的根本目的,这里不详细讨论DNS服务器的设置。仅给出一个简单例子说明一下。
例如需要设置 OASYS.CORP 这个内部域名,用于方便用户访问IP地址是192.168.200.2的OA系统,那么我们创建和配置的查找区域,具体结果如下:
测试一下:
写在最后:
这个三部曲系列到这里就告一段落了,下次再写这个话题,就要瞄准最新版本的Windows服务器而不是2012R2了。
网络运维这项工作,关键还是要动手,在动手过程中充分考虑用户真实需求和各种法律法规强制的安全要求,综合起来提高自己的运维技术水平。
本站微信订阅号:
本页网址二维码: