Windows 上路由、端口转发配置
一、背景有时候我们会遇到这样的场景,一批同一局域网中只有某一台主机带外且系统为windows,局域网中其他非带外的主机多是Linux,他们想要访问外网或外网连入管理,又不想新增公网资产增加成本,基于此,本文将介绍如何配置在带外主机上开启路由及端口转发。关联资源:网络命令行工具 、PowerShell脚本速成课程、官网文档、安装远程访问角色二、配置操作The Routing and Remote Access service (RRAS) supports remote user or site-to-site connectivity by using virtual private network (VPN) or dial-up connections;这里我们主要关注RRAS提供的软路由和 network address translation (NAT) 服务,NAT那里还可以扮演DHCP server,更多参看NAT转化过程、RRAS配置、NAT配置;RRAS 包含用于 IP 和 IPX 的路由协议。对于 IP,RRAS 提供路由信息协议 (RIP) 和开放式最短路径优先 (OSPF) 路由协议。对于 IPX,RRAS 提供 IPX RIP 和服务广告协议 (SAP)。RRAS 为 IP 和 IPX(网间分组交换,后继是NetWare链路服务协议NLSP) 使用一个路由表管理器 (RTM),但是,每个协议族都有自己的路由器管理器。RRAS 允许服务器作为路由器,转发数据包以连接多个网络,它可以用于局域网 (LAN) 和广域网 (WAN) 的路由,通过 NAT 功能,RRAS 可以帮助在使用私有 IP 地址的内部网络与公共 Internet 之间进行通信。。注:ICS 为小型网络上的所有计算机提供网络地址转换(NAT)、IP 寻址和名称解析服务。2.1、带外主机开启路由转发1)管理员运行cmd,然后执行reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v IPEnableRouter /D 1 /f或者打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRoute,将其值修改为1,重启生效,默认为0:或执行powershell指令:Set-NetIPInterface -InterfaceAlias "以太网" -Forwarding Enabled防火墙允许转发:New-NetFirewallRule-DisplayName"Allow Port Forwarding"-Direction Inbound-Action Allow-Protocol TCP-LocalPort 80,443,53#完成后重启Restart-Computer-Force验证:reg query "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v IPEnableRouter或:Get-NetIPInterface | Where-Object {$_.InterfaceAlias -like "以太网实例 0"}|Select-Object InterfaceAlias, Forwarding*测试端口:Test-NetConnection -ComputerName 192.168.1.2 -Port 802)安装RRAS服务:Install-WindowsFeature -Name Routing, RSAT-RemoteAccess-PowerShell,Install-RemoteAccess -VpnType RoutingOnly,安装路由和远程访问服务(也可参考2.3图形化安装),完成后,打开rrasmgmt.msc,启动Routing服务:将 Routing and Remote Access 服务的启动类型更改为自动并启动服务,如下所示:或者执行命令:sc config RemoteAccess start= auto和sc start RemoteAccess3)其他非带外主机添加路由指向—带外主机(单网卡 NAT 共享上网 场景),添加静态路由:routeadd外网_IP mask255.255.255.0 带外_IP## 查看当前网络接口Get-NetIPConfiguration## 获取网络适配器名称$adapter=Get-NetAdapter|Where-Object{$_.Status-eq'Up'}|Select-Object-First1# 内网设置为带外主机的IP为默认网关(假设这里gw-IP为192.168.1.2)# 方法1:使用netshnetsh interfaceipsetaddress"以太网"static192.168.1.100255.255.255.0192.168.1.2# 或使用DHCP但指定网关netsh interfaceipsetaddress"以太网"dhcp netsh interfaceipsetdnsservers"以太网"static192.168.1.2# 方法2:使用PowerShellNew-NetIPAddress-InterfaceAlias"以太网"-IPAddress192.168.1.100-PrefixLength24-DefaultGateway192.168.1.2 Set-DnsClientServerAddress-InterfaceAlias"以太网"-ServerAddresses("192.168.1.2","8.8.8.8")#查看网络适配器Get-NetAdapter|Format-Table Name, InterfaceDescription, Status#获取网络接口的 GUIDGet-NetAdapter|Select-Object Name, InterfaceDescription, ifIndex, InterfaceGuid#带外主机上启动NAT转发# 启用Internet连接共享(ICS)# 控制面板 → 网络和共享中心 → 更改适配器设置# 右键点击带外主机的公网连接 → 属性 → 共享 → 允许其他网络用户通过此计算机的Internet连接# 或者使用netsh配置NAT,一般现在很多版本已移除了 netsh routing 命令,可忽略netsh routingipnatinstallnetsh routingipnataddinterface"以太网"private netsh routingipnataddinterface"公网连接"public#可使用如下配置NAT,创建 NAT 规则,允许内网访问外网New-NetNat-Name"CloudNAT"-InternalIPInterfaceAddressPrefix"192.16.1.0/24"#配置防火墙规则# 允许 ICMP (ping)New-NetFirewallRule-DisplayName"Allow ICMP"`-DirectionInbound-ActionAllow`-ProtocolICMPv4`-LocalAddress$internalIP# 允许内网到外网的转发New-NetFirewallRule-DisplayName"Allow NAT Forwarding"`-DirectionInbound-ActionAllow`-ProtocolAny`-LocalAddress$internalIP# 允许转发到外网New-NetFirewallRule-DisplayName"Allow Outbound"`-DirectionOutbound
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2478205.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!