我的头像,内容是在地球上空中看太阳升起。
sjdhome blog愿你有一天能与重要的人重逢

在 Windows 上启用 IP 转发

TL;DR

以管理员权限运行 PowerShell,然后输入Set-NetIPInterface -ifAlias <你的网卡名称> -Forwarding Enabled

正文

启用 IP 转发,可以让机器自身成为一台路由器来转发 IP 报文。在 Linux 下,可以通过sysctl net.ipv4.ip_forward = 1sysctl net.ipv6.conf.all.forwarding = 1来启用内核 IP 报文转发。但在 Windows 下,相关的文章却很稀少,许多带有误导性。

以下是网络教程提到的方法的弊端:

  1. 使用netsh interface portproxy:只能做端口对端口的转发,无法做到路由转发的效果。
  2. 修改注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:全局生效,无法针对某一块网卡做调整。

遗留问题

Linux 下使用 IP 转发通常会搭配 iptables 的 MASQUERADE 功能使用,但在 Windows 下我没有找到对应功能。因此无法实现将外部流量导向 TUN 虚拟网卡的功能。

作者:sjdhome

标签:

创作日期:2023/11/10

编辑日期:2023/11/10

许可协议:CC BY-NC-SA 4.0

转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!