本帖最后由 imyz 于 2025-6-19 19:55 编辑
既然标题写单臂路由,本章节中凡未特别注明的均默认 Windows Server 有且仅有一块网卡,与此同时,凡未对 Windows Server 版本作特别交待的,均默认为我示例所使用的 Windows Server 2025 版,其它版本的均大同小异。这一章节只做以下两件事:
- 充分利用 Windows Server NIC 组合 所提供的功能,在唯一的网卡基础上虚拟出多个 “组接口 (Team Interface)”,相当于将 Windows Server 配置为一台多网口 L3 交换机,也可以理解为配置/创建路由器接口的子接口(Sub-interface);
- 安装并启动 “路由和远程访问” 服务,在以上 1 的基础上为 Windows Server 添加 NAT 服务以最终实现本文目标。
- 严格上讲,要实现以上两点还有个前提:须将 Windows Server 虚拟机网卡所连接的虚拟交换机端口配置为 “中继(Trunk)模式”,不仅如此,包括 ESXi 实体机连接的实体交换机(傻瓜式的可无视)相应的端口也得是 Trunk 模式,下文附赠的 ESXi 那章会有详解,若是实体机安装 Windows Server 的,则相应实体交换机的端口亦须如此。
首先讲 NIC 组合。网上也能找到不少介绍该功能的文章,但尽数是讲如何用它来实现多网卡的合并/扩展带宽、负载均衡等,即:如何创建组。而我这篇文章所要做的是在创建完组的基础之上再将其 “拆分”,可以说 “反其道而行之”,而创建 NIC 组合并不限制单网口,所以标题不含一丝水分。基本的配置过程相对简单,按下图所示操作即可。对于新安装的 Windows Server,服务器管理器是默认在启动时打开的,仅需如下图点击界面左侧竖排菜单中的 “本地服务器”,图中红色箭头所指的 “已禁用” 处便是 NIC 组合的配置入口:
要创建/添加组,如下图点击 “任务 – 新建组(N)”,然后为新组命名,展开下方 “其它属性(A)” 并确定适当的负载平衡模式后即可完成组的创建,而组的名称建议选择自己好记的,尤其当有多个组时便于区分。在某些情况下,负载平衡模式采用默认的 “动态” 有可能导致创建组失败,这时可以尝试将其改为 “地址哈希”,等完成创建后可以再根据需要自行调整模式。
上图中红线标注的那个 “主要” 一列显示为 “是” 且 VLAN 列为 “默认值” 的那个唤作 “主组接口 (Primary Team Interface)”,每个组有且仅有一个,其余的均为 “组接口 (Team Interface)”,也就是说,若为 10 个网口分别创建 5 个组则相应有 5 个 主组接口,也只有 主组接口 才可更改其 VID 为上图所示的 “默认值”,而其余的则不行。可是,主组接口 的 “默认值” 该如何理解呢?我先给结论:默认值 = Untagged,可简单地理解它就是普通电脑网口,你以为这不就是废话吗?!可没你想得那么简单!!!一眼秒懂的网络工程师们大可以跳过以下几段斜粗体字内容,而对于仍不明就里的则请接着往下看,即使是看不懂也不必担心,抄作业总会吧:
Untagged 一词涉及 “VLAN 标签” 这个基础网络知识。以大家较常用的微信为例:当你向群、好友发送各种消息时,该消息首先要通过你的电脑网口发送给交换机、再发送给路由器,最终发往 ISP 才能上到互联网,该过程很容易理解,可是对计算网络而言却完全不知所云!原因是因为计算机网络采用了另一套语言,而我并非网络专家并且限于篇幅这里只讲个大概:微信消息首先要先经过应用层协议(HTTP, FTP, DNS, SSL)将消息封装(Encapsulate)为相应的应用层数据(Data),随后再用 L4 传输层协议进一步将其封装成 TCP – 数据段(Segment)或 UDP – 数据报(Datagram),紧接着再用 L3 网络层 IP 协议封装为数据包(Packet),别急还没完,然后再采用 L2 数据链路层协议(IEEE 802.2, PPTP, L2TP, ATM, PPPoE 等)继续封装成可用于传输的数据帧(Frame),最后通过物理设备以比特位(bit)方式在物理线路中传输,我们常说的网络传输速率 “比特率,单位 bits/second (b/s, bps)” 中的比特就是这个比特位。事实上,微信消息在网络中各个设备之间所传输的实际上都是各类的 “数据帧”。很显然,L2 帧是包含了上述 L3 包的全部内容,更专业的说法应当是:“包” 作为 “帧” 的有效载荷(Payload),其好比导弹中的战斗部 —— 然而这并不是我们要讲的重点,重点是介于你电脑与路由器之间这段局域网(LAN)这部分是如何识别和处理这些封装后的消息的,而要想说清楚这件事得细分两部分来讲,现在请先忘掉微信这回事。
先说其中之一的局域网终端设备,如:PC/Mac、打印机(Printer)等,它们之所以被称作 “终端” 概因其在网络世界中所扮演的角色为各类消息的生产者与/或消费者(Producer and/or Consumer)。这类设备相互之间通讯的主流协议即大家耳熟能详的 “以太网协议 (Ethernet Protocol)”,更准确地说是 Ethernet V2 或 Ethernet Ⅱ。该协议起源于更早的 Xerox 制定的一套标准,随后在 1980 年由 DEC、Intel 及 Xerox 共同将其标准化为 Ethernet V1,其改进版 V2 于 1982 发布,在那个年代是完全没有 VLAN 这一概念的,甚至连最早的傻瓜式交换机也是 1989 年才出现,而那个年代只有集线器(HUB)这类除了广播啥也不会的物件,很显然:
- 知识点一:咱们局域网所用的电脑这类终端相互通讯的 “语言”,即:数据帧,其默认是没有 VLAN 概念的,业内称之为 “无 VLAN 标签”,英文记作 Untagged —— 网络终端设备处理与识别网络消息即是依靠这套语言。
随着互联网不断发展,越来越多的终端以及网络产品不断出现,局域网也变得越来越庞大复杂,同时对网络传输速率的要求也与日俱增,随之而来便是对 VLAN 的需求等,因越来越多厂商群雄逐鹿而当时标准不统一导致了各厂家设备在兼容方面的问题,于是 IEEE 又在当时已成为事实上终端设备标准的 Ethernet V2 的基础之上进行了扩充与改良,并于 1983 年发布了不一定各位都熟悉的 IEEE 802.3 以太网标准,它更多地为人所知的应该是该标准当中的物理传输介质标准部分,即:10BASE-T,或记作 10Mbps 以太网标准,随后便是 802.3u 100Mbps 与 802.3z 1000Mbps(1GbE)以太网标准分别于 1995 年及 1998 年发布。而作为对 VLAN 这一需求的响应,IEEE 802.1q 标准也于 1998 同年发布,其为以太网帧帧头部分引入了一个唤作 VLAN 标签的标记,共 4 Bytes(字节),用于识别与区分网络中的不同虚拟网段(VLAN)。而正是因为 IEEE 这一系列标准,才逐步确立了除上述第一部分中的终端设备之外的第二部分的各类网络设备,即:交换机、路由器以及防火墙这类网络传输与管理设备的数据与接口等标准。这类设备在网络世界当中充当的角色主要有两个:一是连接各终端设备,并作为承载与传输数据帧的物理介质或载体,二是对数据帧(L2)以及数据包(L3)实施相应的管理。
- 知识点二:有 IEEE 802.1q 标准加持的以太网帧意即 “带 VLAN 标签”,英文记作 Tagged,与 Untagged 相对应;而 IEEE 802.1q(VLAN 标签)作为 IEEE 802.3 的 “外挂” 存在。
- 知识点三:VLAN 标签中有个位长 12-bit(12 位)的 VID 字段用于区分该数据帧归属于哪个 VLAN 段,而这个 VID 的值直接对应了上图中组接口 VLAN ID 的取值。于是:
- 知识点四:2^12 = 4096,即:VID 理论最大取值范围为 0 ~ 4095,采用十六进制则为 0x 000 ~ FFF,但 IEEE 802.1q 将首尾的 0 与 4095 作为保留值,而这也就是为什么大家在各类交换机产品中所见,可用的(或合法的) VLAN ID 取值在 1 ~ 4094 之间的根源。
- 知识点五:IEEE 802.3 与 Ethernet V2 虽有关联但其实是两个标准,而在 IEEE 802.3 出现前 Ethernet V2 已然是当时各终端设备的事实标准了,也没有理由或者说没办法为了新标准而将当时全球所有现存电脑、网卡、打印机等尽数报废,与此同时,网络终端设备压根不必具备 VLAN 功能徒增成本,正因如此,咱们的电脑这类终端得以一直沿用 Untagged 乡音至今,而 802.3 则负责规范其物理传输介质。那么究竟是谁在讲 Tagged 标准普通话呐?自然就非得是交换机、路由器、防火墙这类设备莫属,很显然:“傻瓜” 是学不会标准普通话的…… 经这样解释后,是不是对上一章结尾的功能表格有了更深刻的理解?
现在已知局域网(LAN)中存在 Untagged + Tagged 这两种标准的数据帧,那么作为本文重点之一的交换机是如何处理这些数据帧的呢?相信大家都知道交换机的核心工作就两件事:接收 + 转发数据帧,而其余的均围绕这两件事展开,由于傻瓜式交换机没太多可说的,所以此处重点针对具备管理能力的交换机介绍其在 VLAN 配置方面大家日常会接触到的:这类交换机物理端口区分 Access(访问/接入) 和 Trunk(中继/汇聚) 两种基本工作模式,前者 Access 仅用于连接电脑、打印机这类只会讲 Untagged 乡音的终端,虽然可以变更其 VLAN 归属,但一个 Access 端口在同一时刻仅能划归某一个 VLAN 而不能多个,这类端口除了纯粹 “拆/打 VLAN 标签” 之外没有过多好展开讲的;然而后者 Trunk 端口则稍有些不同,从其设计目的上讲是为了级联交换机、路由器以及防火墙这类会讲 Tagged 标准普通话的网络管理设备,但也许是为了向下兼容的缘故,Trunk 端口同时还能接电脑、打印机这类传统终端。有容乃大本是件好事,可这也带来了一个问题:说好的标签呢?要不得说设计师就是聪明,以 Cisco 交换机为例,不就是让 Trunk 口加个班处理标签嘛,就给它安排个缺省值为 1 的 Native VLAN(本征/原生 VLAN)专干这活,多大事儿!简单说就是:若 Trunk 端口接收到外部发来 Untagged 帧,首先为其打上 VID = Native VLAN ID 标签,而若是 Tagged 则读取帧头 VID,此处统称 VID,接着执行接收规则:若该 Trunk 端口允许通过的 VLAN 范围包含该 VID 值,则放行该帧进入交换机,否则丢弃;随后将执行转发规则:先看该帧的目标 MAC(网卡物理地址)是否在本机学习清单中,若在则将该帧转发(复制)给相应的端口,否则泛洪(广播)给所有 VID 所指的那些 Access 端口,也包括 Trunk 端口,在转发过程中,若负责送行的端口恰好又是 Trunk 口,并且该帧 VID 与 Native VLAN ID 相等,在缺省情况下则拆掉标签令该帧成为 Untagged,同时也得判断 VID 是否在该 Trunk 口允许的 VLAN 范围,允许的才能离开,否则丢弃。为什么我要在这里和各位聊这个?还请各位带上这个疑问继续往下看:
还记得前面说须将 Windows Server 网卡所连接的交换机端口配置为 Trunk 这一点吧?以 Cisco为例,假设我们采用 “switchport trunk native vlan 100” 指令将该交换机该 Trunk 端口的 Native VLAN 由原缺省值 1 改为 100,则该端口会将后续所有进入之前为 Untagged 的数据帧由原 VLAN 1 转至 VLAN 100。看明白了吗?不论如何修改 Trunk 端口的 Native VLAN 值,即使是在进入交换机之前原为 Untagged 的帧在被接收进入交换机后也悉数变为 Tagged,与进入之前已是 Tagged 的区别在于前者只会进入 Native VLAN,而后者则进入其 VID 指定的 VLAN,在随后转发时也有不同:Native VLAN 当中的帧在被转发离开交换机时(仅缺省情况下)将会被恢复为其 Untagged 真身 —— 简单地讲:在缺省情况下,假设一台交换机所有端口均配置为 Trunk,凡能够顺利通过该交换机的数据帧均保持其原状,而这也可能就是 “中继” 一词的来历吧?…… 如此一来,Cisco 交换机的 Native VLAN 与上面那个 主组接口 这二者便因此相互 “自适应” 或者说 “无师自通” 了。如此一番解释,相信各位应当能彻底理解上面那个 主组接口 的 “默认值” 其真实含义及其在现实世界中的作用了吧?要验证这一点很容易,只需将该 主组接口 的 IP 地址改为自动获取,再配置好 DHCP Relay(DHCP 中继代理)指向 DHCP 服务器,然后先禁用再启用该 主组接口(或使用 “ipconfig /renew” 指令)再观察其 IP 地址的前后变化。如此便带来了一个便利:假如和我一样采用 DHCP 为各组接口分配 IP 的话,因为上述 “自适应” 的缘故,修改实体交换机 Trunk 接口的 Native VLAN 可不必修改 Windows Server 中相应配置,而仅需禁用再启用一下相应 主组接口,或者重启一下 Windows Server 即可。
然而,出于网络安全方面的考虑,实际情况有可能是一部分的 Cisco 交换机通过 “vlan dot1q tag native” 指令显式地禁止为即将离开 Native VLAN 的帧拆标签,而这时若不将相应 主组接口 的 VLAN ID 手工填写为相对应的值,则有可能因此造成网络不通甚至瘫痪。好在该指令须显式配置,一旦禁拆标签指令生效,修改实体交换机 Trunk 接口的 Native VLAN 须同步修改 Windows Server 中相应 主组接口 的 VLAN ID = Native VLAN ID。这一点十分重要!从另一角度看,既然如今 Native VLAN 和其余的似乎没差别了,索性转而为 Native VLAN 创建相对应的组接口,或者原本就没有需要使用 Native VLAN 的场景,也大可将其视作普通组接口也没任何问题,甚至令 主组接口 闲置或禁用之进而省去操这份心也不是不行。
- 知识点六:数据帧不论其初始为 Untagged 或 Tagged,在进入具备管理能力的交换机内部后则悉数变为 Tagged,而在离开交换机时则得分具体情况;而傻瓜式的则完全不嚼也不消化,吃啥拉啥。
与上述 Native VLAN 相对应的,华为系设备则称之为 PVID(即:端口 VID),上面 Cisco 那条禁拆 Native VLAN 标签的指令是在全局模式中一条过而不必针对各 Trunk 端口,而华为的稍有不同,因其本身还细分 Trunk 和 Hybrid 两种端口工作模式,在配置时也是针对各个相应的端口而并非全局指令。若是 Hybrid 端口,则对应的等价指令为 “port hybrid tagged vlan 100”,而 Trunk 端口的等价指令按理应当为 “port trunk tagged vlan 100”,可遗憾的是,貌似并没有这条指令,所以我猜测它的工作方式与 Cisco 缺省方式应当是一样的,然而我本身对华为系的产品没那么熟悉,并且手上也没有任何实物可验证,若我的猜测有误,也请熟悉华为系产品的大佬们不吝指正!所以我在此只好建议:若使用华为系交换机的 Trunk 接口,要么请务必修改 主组接口 的 VLAN ID = PVID,要么请完全闲置或禁用之。
- 知识点七:Native VLAN ID(或 PVID)是交换机 Trunk 端口属性之一,请勿与属于数据帧的 VID 混淆。
- 知识点八:当有诸如 “vlan dot1q tag native“ 这类指令显式地禁止 Trunk 端口拆 Native VLAN 标签时,Trunk 端口仅能用于级联(Uplink)交换机、路由器、防火墙等网络管理设备;否则,它也可以接普通电脑、打印机等终端设备。
- 知识点九:同一台交换机不同 Trunk 端口的 Native VLAN 其取值可各不相同,这样的配置仅影响接入设备为电脑、打印机这类终端,并可由该取值确定这类终端各自所处的 VLAN 段是否相同,或者说其 L3 网络层的 IP 地址段是否处于相同的广播域,而其余无任何差别。这就好比家里两台电视可以分别收看不同的电视频道,而 Native VLAN ID 则相当于电视机当前所收看的频道号。
- 知识点十:傻瓜式交换机 “吃啥拉啥” 的本质是因其不支持开挂(802.1q)从而无法识别与处理 VLAN 标签,它的各端口没有 Native VLAN ID 属性或其为任意值(下一章 ESXi 的内容对此有详细解释),或者可视其为普通电脑网口…… 简单地说,通常可认为 2000 年以后的现代家用网卡,不论哪家的芯片方案,均硬件支持 VLAN,而早期网卡则有可能硬件不支持 —— 而这一点包括以上也是本文可以采用普通家用电脑/网卡搭配傻瓜式交换机实现多 VLAN “单臂路由” 的理论基础。
在具备了以上基础网络知识之后,相信后续的配置对各看官而言可谓易如反掌。紧接着再如下图所示继续为其它 VLAN 创建相应的组接口(Team Interface),并重复该过程直至覆盖所有需要用到的 VLAN:
这里需要提醒注意:下图中 “特定 VLAN(V)” 处填写的数值实际就是指数据帧帧头中的 VID 值,显然此处它表明该 VLAN 当中将要通过哪个 VLAN 的数据帧,其自然须与实体交换机中的 VLAN 定义相匹配,不但如此,ESXi(或其它虚拟环境)的虚拟交换机的各端口组的 VLAN ID 也得与该值以及实体交换机的定义相匹配:
组接口创建完成后,可如下图所示打开控制面板中的网络连接查看所有创建好的组接口。一旦该网络适配器(网卡)被添加进 NIC 组后便不可再为其分配 IP 地址,应当转而为各个组接口分配。这属于正常情况,千万不要误以为是 NIC 组的配置过程有误而导致网卡配置出了问题。
接下来就得为每一个新创建的 VLAN 组接口分配 IP 地址作为该 VLAN 的网关,通常情况下,多数人可能会选择手动分配,而我自己更偏好 DHCP 自动分配。采用 DHCP 的好处在于:组接口创建完成便立即获取保留的 IP,不但如此,整个网络中的所有 IP 地址悉数可由 DHCP 服务器托管,再配合 DNS 主机名称(A 记录)进行内网解析,则整个网络最核心的管理与规划工作就可集中式地在 DHCP 与 DNS 服务器上完成,加上 Windows Server 的图形化界面比通过终端指令方式更人性化,完全不必担心时间一长有可能记不住这么多设备的 IP 地址设置,并且也可以用较容易记住的主机名称替代难记的 IP 地址来访问各设备,对 Mac 与 Linux 也同样适用,比如下图就是我 Mac mini 的 Terminal 通过主机名来 SSH 连接配置 Cisco 交换机的示例,简单讲就是 “懂的都懂”,而考虑到其并非本文的重点,限于篇幅便不展开,若确有必要我可以单独开个帖细说。
注意:因为组接口(Team Interface)眼下作为局域网网关,其网关地址即自身,所以仅须设置 IP 及掩码(mask)即可,完全不必费劲为其设置网关地址!!只有当需要访问 Internet 时,才需要为其对应的那一个组接口设置网关地址。比如我上图中仅为 “HomeLab – WAN” 那个组接口设置了网关地址,也就是我 Apple Time Capsule(时间胶囊,以下简称 “ATC”)的 LAN 地址。而这一切都可以通过配置 DHCP 实现,也是我偏好 DHCP 自动分配的重要原因之一。
至此,各 VLAN 段中不论是实体机还是虚拟机现在只须将各自 IP 地址配置中的 “网关 (Gateway)” 设置为 Windows Server 中相应 VLAN 组接口的 IP 地址,则所有 VLAN 之间就应当能正常互访了,即:实现了内网间路由(LAN 路由)。换个角度来看,若想临时隔离某个 VLAN 段,仅须在 Windows Server 网络连接中禁用相应的组接口即可。虽然内网已畅通无阻,但各新建的 VLAN 却仍然无法访问互联网,因为还缺少接下来准备讲的 “路由和远程访问” 配置,而该功能的安装很简单,按下图所示操作即可。假如有熟悉 Windows 软路由配置并且同样是 ESXi 大佬的话,则可以跳过接下来的内容并直接着手实践了。
请注意:我上图中的 “HomeLab – WAN” 那个组接口实际上是对应家用路由器 LAN 口,该网段可直接访问互联网 Internet,所以它的名称中有 “WAN”,而这一点是接下来能否实现内网其余各 VLAN 段共同访问互联网的必要先决条件。换句话说:首先得确保至少有一个能访问互联网的地址,哪怕它是 CGNAT 大内网地址。对于 Windows Server 本身是多网卡的而言,只需从家用路由器任一 LAN 口引一条网线直连其中任一网口即可,但这样就至少是双臂而不再是 “单臂”。而标题所说的 “单臂” 要如何实现则需要详见后续附送的 ESXi 相应配置(因我的环境是 ESXi 虚拟机),不过眼下可先忽略这一细节,待完成 Windows Server 所必须的配置之后再进入 ESXi 章节并不会耽误任何事:
待安装完成后,便可如下图所示启动路由管理界面:
进入路由和远程访问管理界面后,鼠标右键点击相应的服务器名称,随即如下图所示点击 “配置并启用路由和远程访问(C)”,接着再按图示完成 NAT 的配置:
选择局域网接口这一步可任选其一,因为这里并非最终配置,在启用 NAT 协议之后可按自己的需求进一步调整:
启用了 NAT 协议后的界面将如下图所示。除其中那个 WAN 接口需要保留之外,其余内网 VLAN 接口可以根据自己的需要决定保留或删除。建议是尽数删除,因为除了可访问 Internet 那个接口之外的其余接口均为摆设。
一旦上述各项配置正确无误,不论是实体机还是虚拟机,现在仅须将各自 IP 地址设置中的 “网关 (Gateway)” 填写为 Windows Server 中相应 VLAN 组接口的 IP 地址,则所有 VLAN 除能实现内网之间互访之外,还能进一步访问互联网。但还差一项很重要的功能:NAT–PMP(端口映射/转发),请接着往下看:
以上图为例,假如你家的宽带是有动态公网地址的,经过以上配置后就能够从任何可以上网的地方访问家里 192.168.100.100 那台开启了远程桌面的电脑了,若不行则请检查家里链路中相应的防火墙设置以及动态 DNS 解析。针对该 NAT–PMP 配置,即使你是采用 Windows Server 直连光猫获取上网地址的情况也是一样配置,而通常情况应当是家用路由器本身先配置好端口转发到 Windows Server 的那个 WAN 接口地址,然后再由 Windows Server 最终转发内网,即:二次转发。比如下图便是我通过配置 Windows Server NAT 二次转发后,从外部经 Internet 公网访问我家中那台妖擎的 IPMI 管理页,这里只是作展示,用以说明二次转发是成功的,而若有和我一样主板有类似 IPMI 远控能力的,尤其是我的 Windows Server 就是那台妖擎上的虚拟机,建议还是一次转发避免二次甚至多次,否则一旦实体机发生问题后必然影响虚拟机,到时即便 IPMI 本身能正常工作,可一旦 NAT 断掉也只能干瞪眼,而其它诸如远程桌面(RDP)这种转发几次问题都不大。
就事论事地说,Windows Server 这个端口转发功能也有局限,比如:它目前只能逐个端口配置,而不支持一般家用路由器所支持的一次配置某个端口段,若有这类需求的得借助第三方软件,再或者,直接将该主机置于家用路由器相同的那个网段也不是不行。与此同时,当添加、修改任一端口服务应用时,Windows Server 将清除 NAT 映射表再新建,换句话说,会瞬时断网,假如有对此敏感的应用时得谨慎操作,或者提前规划好一次过完成配置。此外,除上述图形界面配置方式外,Windows Server 的端口转发还可以通过命令行的方式,该方式较适合有大量转发需求的场景,如此可以写好批处理脚本一次执行即可,也方便后续的调整变更等。而这一点也不是本文重点,我也没花时间测试过,详情还请自行参阅微软官方文档:Netsh interface portproxy 命令。
至此,Windows Server 这部分的配置已全部完成,而以上各个 VLAN 组接口也可用于 Hyper-V 虚拟机,同样不属本文讨论范围。若是熟悉 Hyper-V 解决方案的看官们,相信完全可以采用该方案来自己组纯血 Windows 网了。假如有 L3 实体交换机的,则建议将 PC / Mac 的网关设置为 L3 交换机的 VLAN 接口 IP,以便让 Windows Server 软路由专注 NAT 来进一步减轻负担。顺手再给几个友情提示:
- 若有和我一样采用 ESXi 虚拟机方案的,则务必将 Windows Server 虚拟机配置为随 ESXi 主机开机自启动(Autostart),可在 “管理 -> 自动启动” 中设置;假如还有人与我一样采取 DHCP 的,则软路由的自启动优先级要低于 DHCP Server 那台虚拟机,即:晚于 DHCP Server 启动。否则可能因获取不到 IP 造成断网进而被迫人工干预;
- 以上 Windows Server 为各 VLAN 创建组接口的方式其实只是实现方式之一,若有 L3 交换机并且熟悉路由器配置的大佬们其实不必为每个 VLAN 分别创建组接口,而可以采用配置静态路由方式来实现。虽然最终效果是一样的,可一来 L3 交换机对多数人而言并非刚须,二来配置静态路由对不熟悉路由配置的看官们十分不友好,所以这一方式也不在这里展开讨论了。
- 也许会有和我一样仍然在坚持使用 ATC 作家庭网关拨号上网,并且恰好也是用它作为 Time Machine 备份磁盘的 Mac 用户。在以上的组网方案之下,对 Windows Server 这个 “网关” 而言,ATC 显然已处于 “公网” 网段而 Mac 则处于内网,如此便导致 Bonjour 协议找不到 ATC 从而造成 Time Machine 无法正常工作。显然,最简单粗暴的解决办法就是用其它路由器替换下 ATC,然后将 ATC 移回内网。但若那样做便糟蹋了 ATC 强大的路由器功能,并且靠纯花钱这种事完全没技术含量,还容易招人笑话,所以我的办法如下图所示,采用 ATC 的 IP 地址并通过 AFP (Apple File Protocol) 协议来取代 Bonjour 查找,点击 “连接” 按钮后输入 ATC 的访问密码即可,若有配置了内网 DNS 解析的则可以和我一样用主机名称取代 IP。若是之前已有旧备份的,打开 macOS 设置 -> 时间机器,先删除此前的磁盘配置,然后重新添加磁盘,这时会弹出对话框,选择 “保留旧备份” 后,输入访问 + 磁盘密码双双验证通过后即可。
请再容我多句嘴:前面提到过可以配置 Windows Server 请求拨号接口(PPPoE)来取代家用路由器,而它实际上与上文中 “HomeLab – WAN” 组接口起到的作用一样。不过,我不太推荐各位这样做,并且也不是本文的重点,我在此仅指个路,余下还请有雅兴的看官们自行尝试:
接下来将进入 “赠品” 环节。 |