HOWTO: 在 Windows Server 2022 的 Core 环境下配置 NAT 服务
经常会在 Hyper-V 中搭建一些虚拟环境用于测试验证以及实践。尤其是当前算力成本越加低廉的情况下,可以轻松的模拟一个复杂的业务场景或基础架构。这些 Lab 可能要与宿主网络隔离,通常我们会为这些虚机配置一个独立的网络,但如果它们需要访问互联网时就需要借助软路由或 NAT 服务。曾几何时 gOxiA 的虚机模板中总会保留一个 TMG(ISA) VM,之后会用到国内的一款软路由,因为它支持 Hyper-V。现在可能更多的会用到 Windows Server 提供的 RRAS(RemoteAccess)Role,其中包含了 NAT 服务,并且宿主硬件越来越强,内存和磁盘性能可轻松应对一个 WS NAT 虚机,所以最近又开始琢磨起 Server Core 运行 NAT。
因为只用来做 NAT 服务,所以系统越简单,容量越小越好。而 Windows Server 提供的 Core 环境是最佳的选择。如果你对 Server Core 还不了解,可以先阅读官方文档“windows-server/administration/server-core/what-is-server-core/?WT.mc_id=WDIT-MVP-4000544" target="_blank">什么是服务器核心安装选项”。
本例选用了 Windows Server 2022,在 Windows Setup 过程选择了 Core 安装。完成安装后进入系统会发现是一个命令环境,在这里只能运行有限的图形化程序,基本要依靠命令进行相关的管理和配置任务,虽然 Server Core 也提供了一个 SConfig 工具来进行初始配置,但功能有限!如果之前已经有了 Windows 命令的一些基础,可以直接命令上手效率会更高些。
以下是 gOxiA 整理的一些简明扼要的步骤,也避免了大家踩坑!
重命名计算机
rename-computer -new natserver修改网络名称(因为使用了简中版,强烈建议命令行环境还是用英文为佳)
get-netadapter , 获取网卡信息
rename-netadapter -name "以太网" -newname "Private"
rename-netadapter -anme "以太网 2" -newname "Public"修改内网网卡(Private)地址
new-netipaddress -interfacealias Private -ipaddress 192.168.192.254 -prefixlength 24
get-netipaddress , 可查看网卡地址禁止内/外网使用IPv6(看自己喜好或实际需求)
disable-netadapterbinding -componentid ms_tcpip6 -name Public
disable-netadapterbinding -componentid ms_tcpip6 -name Private
get-netadapterbinding , 可查看配置情况允许 ICMP
new-netfirewallrule -name "Allow Ping" -displayname "Allow Ping" -protocol icmpv4 -icmptype 8 -enable true -profile any -action allow
set-netfirewallrule -name CoreNet-Diag-ICMP4-EchoRequest-In-Noscope -enabled true -profile any -action allow , 也可以不新建防火墙策略直接开启默认策略
set-netfirewallprofile -profile domain,public,private -enabled false , 如果考虑以后测试方便,在保障网络安全的前提下,也可以选择禁用防火墙保护安装路由器角色
install-windowsfeature -name routing -includemanagementtools , 根据提示重启服务器使用新模式配置
install-remoteaccess -vpntype routingonly
在新模式下将无法再使用 RRAS 管理器进行配置,如果你在 GUI Mode 下看到这个提示便可确认。如果要恢复,则 Uninstall-remoteaccess使用旧模式配置
sc config remoteaccess start= Auto
sc start remoteaccess
netsh routing ip nat add interface public
netsh routing ip nat set interface public mode=full
netsh routing ip nat add interface private
此外,貌似现在大家更推崇更加简单的方式,即使用系统内置的 new-netnat 命令,实际测试在不安装 Role 的情况下可以直接在 Windows 网络栈上启用 NAT 支持。
new-netnat -name InternetNAT -internalIPInterfaceAddressPrefix 192.168.192.024
很是神奇,这个命令或者说功能原本是 Hyper-V 虚拟交换机的一个网络功能特性,可直接生成 NAT,而 RRAS 也更加关注的是远程访问的支持。借助这个命令应该也可直接在 Windows Client 上启用 NAT。
参考推荐:
本文链接:https://www.kinber.cn/post/4470.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: