能否用Windows服务器作为路由器?(配置补完篇)

作者:Sender Su  来源:原创内容  发布日期:2023-03-02  最后修改日期:2023-03-02

在上一篇《能否用Windows服务器作为路由器?(基本配置篇)》中,一个计划充当内外网之间路由网关的Windows服务器已经能执行路由转发工作了。但按之前的定义,这服务器的功能离合格的路由器还有一段距离。所以我们继续补完它。

lan

笔者:国际认证信息系统审计师、软考系统分析师

1、在本篇开头先为上一篇打个补丁:LAN接口设置

读者后台问LAN网络接口IPv4的具体设置,加上LAN接口IPv4的设置和本篇内容直接相关,所以首先补充说明如下:

如上图的设置中,LAN接口设置的IP地址将会成为整个局域网内的网关地址,网段覆盖范围按实际子网掩码设置。而LAN接口的网关、DNS都不需要设置。

所以,在RRAS的NAT属性中,DHCP的保留地址要输入LAN接口的地址,也就是如下:

在这台软路由服务器里,默认路由需要由WAN接口产生(无论是静态设置或者动态获取),指向WAN接口相对的外部网关。DNS同理,这台软路由服务器只是把局域网客户端的DNS查询转发到到WAN接口获取的外部DNS去解析,然后把解析结果返回给局域网客户端。

查询流程图大致如下:

客户端 DNS查询→

软路由

服务器

DNS查询→

外部DNS

服务器

←DNS应答 ←DNS应答
2、接口网络类型

接下来需要正确设置接口的网络类型,因为这影响到防火墙的规则配置。

这里需要按WAN接口获取网络设置的方式分为两种情况,

(1)WAN接口配置静态IP地址。在这种情况下,完成WAN口地址配置后,可以看到如下特征的情况:

Windows会基于WAN口的网关,把网络命名为“网络”(以后的会叫网络 2、网络 3这样,这个自动命的名典型容易误导),类型是公用。

LAN接口由于没有配置网关地址,所以会识别为“未识别的网络”,类型也是公用。

为了能有效对应地设置防火墙规则,我们需要调整一下网络类型。

修改网络类型需要通过“本地安全策略”编辑器去修改。笔者是一直都不明白为何要设计在这里改,非常麻烦也没必要:

首先把“网络”这个类型的属性改一下,尤其名字上写清楚是WAN:

网络位置的位置类型设置为“公用”,用户权限设置为“用户不可以更改位置”:

应用设置后,修改“无法识别的网络”的属性,网络位置设置为“专用”,允许用户更改位置:

最后顺手修改“所有网络”的属性设置,啥都允许改:

完成以上修改后,回头看看网络和共享中心,WAN接口保持公用网络不变,而LAN接口应显示专用网络了:

(2)第二种情况,是WAN接口通过DHCP动态获取地址。此时WAN接口应该所有设置都是动态获取。因此,对网络类型的配置,应该在WAN口地址获取到配置后再进行。最终设置结果应和上图一致。

3、防火墙

服务器本机防火墙功能是必须开启的,而且,不仅对外网需要设置防火墙,对内网也要通过设置防火墙来保护服务器本身。因为堡垒往往都是从内部攻破的。

如果是作为互联网路由器,一般地,我们希望面向外网的接口是严格拦截,不能PING,默认不开放任何服务,而内网则能PING,且能因管理或使用需要而开放一些服务,典型如DHCP服务、DNS代理服务等。

因此,要基于在上一节设置的网络类型去定义防火墙规则,实现有效拦截。

Windows 服务器带有“高级安全 Windows 防火墙”,可以从控制面板的管理工具分组中启动。然后,按前述端口拦截和开放的逻辑进行规则设置:

◆核查每一条入站规则:

  ▶内外网都不需要开放的:

    ■禁用规则

  ▶外网不开放,内网需要开放的:

    ●启用配置文件为“域、专用”的规则,禁用“公用”的规则。

    ●设置规则作用域的“远程IP地址”为LAN接口的子网。

这里要说明一下,远程IP地址的设置选择“本地子网”或者“Intranet”都是不恰当的: ▶“本地子网”不合适,是因为同时包括了外网的子网。 ▶“Intranet”不合适,是因为现在大多数ISP采取了向用户动态分配局域网IP地址而不是公网IP地址的做法,包括企业线路也是如此。

例如如下DHCP的规则,需要在已经自动启用的情况下,补充设置LAN接口的作用域仅对专用网络有效:

本文只能假设读者都能明白Windows防火墙中每一条规则的用途,并正确地启用和禁用他们。如果要都写出来,篇幅就实在太长。

关键在于,为了能使软路由服务器向局域网内客户端实现代理DNS解析,需要添加相应的防火墙规则:

其它就是规则的启用/禁用和调整面向什么网络类型了。

在本文的例子中,需要向局域网内部开放的规则包括:

  • DNS 代理 (UDP 入站)

  • DHCPv4 中继代理 [客户端] (UDP 入站)

  • Windows 远程管理(HTTP-In)如果不使用就不要开

  • 核心网络的Internet组管理协议(IGMP-In)、动态主机配置协议(DHCP-In)、需要目标不可访问的碎片(ICMPv4-In)

  • 路由和远程访问,不使用VPN时仅启用GRE-In规则

  • 文件和打印机共享,仅启用回显请求 - ICMPv4-In规则

  • 远程桌面 - 用户模式的两条规则和远程监控的一条规则。

全部汇总如下:

从防火墙的监视功能查看,是这样的:

4、开放端口(DNAT)

让客户端通过路由器的NAT转换上网称为SNAT,源地址转换。如果要通过路由器把内部的服务转发到外网,让外网IP能访问到,这是DNAT,目标地址转换。

在上一篇文章配置NAT的时候,通过如下命令,就能看到向外开放端口的设置。

netstat -an | findstr :67
netstat -an | findstr :53

具体输出如下:

需要指出的是,对外网开放的服务,必须完成以下处置:

(1)在开放前做好防护措施,如果是WEB服务,应配置WAF设备,或者在开发中引入软WAF措施对任何访问都前置检查过滤。

(2)任何服务都必须按《网络安全法》要求实现日志留存6个月以上。

(3)如果自建网站,必须进行ICP备案、公安网监备案,无论是否使用80或443端口。

下面尝试为部署在局域网内的一台 CentOS 服务器实现SSH端口转发到外网。

首先我们在RRAS的NAT功能中,对WAN接口修改属性,在服务和端口页点击添加按钮,如下设置端口转发:

完成设置后,点击保存,清单条码就随之生成,确定关闭对话框后就生效了:

如果使用SSH软件从外部向WAN端口IP地址的22端口发起访问,则可以在映射清单中查看建立起的映射情况,如下的测试例子:

5、日志记录

最后再回头看看关于日志的设置。要逐一检查,确保RRAS功能分支树上的每一个功能项目都已经开启了日志功能,比如“常规”和“IGMP”的日志设置,其实都相差无几,但关键是要开启:

小结:

经过本篇补完设置,这个软路由服务器就完成了基础功能和基础安全的两方面设置了。我们可以查看其运行状态信息,尤其是DNS代理和DHCP分配这两个功能的情况:

本栏目相关
  •  2024-09-06 拿来主义也高质:优化 WSUS 之不会开发但会找
  •  2014-01-05 解决虚拟化运行的 Windows Server 2003 标准版 出现“PNP0C80”未知设备
  •  2013-09-04 Windows Server 2008 重命名域和域控制器
  •  2015-05-11 解决Windows Server 2008 R2域控制器显示无法连接到Internet
  •  2020-02-27 服务器热加硬盘、热转RAID模式,配合LINUX卷操作实现不重启服务器完成扩容
  •  2023-01-26 Windows服务器折腾安装MegaRAID存储管理器17.05版
  •  2020-02-23 WINDOWS SERVER 2012 R2 STANDARD 重装 WSUS 过程记录
  •  2022-02-24 如何安装使用 Broadcom RAID卡命令行管理工具 StorCLI(或称PercCLI)?
  •  2023-02-26 能否用Windows服务器作为路由器?(基本配置篇)
  • 本站微信订阅号:

    微信订阅号二维码

    本页网址二维码:

    本栏目热门内容
  • Acrobat虚拟PDF打印机执行打印时挂起,解决办法竟然...
  • LINKSYS交换机登录WEB界面显示不正确的解决方法
  • 又一次RAID 5阵列故障记录
  • 解决VMware vSphere ESXi 5.0 Update 1 中虚机不能...
  • 修改CentOS发行信息以绕过Dell服务器BIOS更新和DSET...
  • 解决虚拟化运行的 Windows Server 2003 标准版出现...
  • Windows Server 2008 重命名域和域控制器
  • Intel Nehalem CPU Errata 导致 VMWare ESXi(vSpher...
  • 一次很精神的电脑组装过程记录(但不是自己的电脑)...
  • 解决MySQL Cluster 备份总是失败,提示文件已存在的...
  • MegaCli安装及使用杂记
  • 解决WSUS显示客户端不全的问题
  • 解决 VMWare vSphere 6 客户端无法修改用户密码
  • 解决Windows Server 2008 R2域控制器显示无法连接到...
  • 本站服务器RAID 5阵列双硬盘失效挽救记录
  • 网站数据库从MySQL 5.0升级到5.6的记录
  • 解决MariaDB使用Percona XtraBackup增量备份出错
  • DELL PowerEdge 820 报CPU3 INTERNAL ERROR 的解决...
  • Linux 下的分区调整工具GParted实战
  • 修改arpwatch使通知邮件主题显示IP地址
  • 程序员漫画:如何用8种不同的编程语言去解救公主
  • 解决Samba WINS服务的错误解释问题
  • 解决很好用的多合一即时通信软件pidgin的崩溃问题
  • 使用 GParted 进行虚拟机硬盘分区调整操作
  • 解决Squid代理HTTP时在浏览器出现Content Encoding ...
  • 用Delphi编写使用到ADO的DLL的一些问题
  • 网站简单改版
  • 索尼系列手提电脑备份失败,出现700错误的解决办法
  • Dell R900服务器 BMC firmware incompatible with C...
  • 更多...