Windows中跨网段IP转发设置

最近在做Openwifi的组网实验,连接openwifi的开发板用的电脑有两网卡ip分别在192.168.30,和192.168.10网段,而openwifi的以太网ip为192.168.10.122,但是wifi所分配的网段为192.168.13。
目前电脑可以连接到公网,也可以通过192.168.10.122连接openwifi开发板,但是开发板无法和连接到openwifi的手机都无法访问公网,电脑也ping不通手机。
我们知道在Linux中使用如下命令可以实现ip转发,

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o NICY -j MASQUERADE
sudo ip route add 192.168.13.0/24 via 192.168.10.122 dev ethX

然而window上实现的教程较少。实现方法如下:

  1. 开启IP转发
  • window默认关闭ip转发,需要先启用:
  • 以管理员权限打开PowerShell,输入reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v IPEnableRouter /t REG_DWORD /d 1 /f
  • 然后重启。
  • 使用 Internet 连接共享 (ICS):
  • 打开“网络和共享中心” > “更改适配器设置”。
  • 右键 上网的网卡> “属性” > “共享”选项卡。
  • 勾选“允许其他网络用户通过此计算机的 Internet 连接来连接”。
  • 选择 连接openwifi的网卡。
  • ICS 启用后,接口的 IP 可能变为 192.168.137.1,需调整ip地址回去。
  1. 以管理员权限打开PowerShell,输入Get-NetAdapter
PS C:\Users\******> Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
VMware Network Adapte...8 VMware Virtual Ethernet Adapter for ...      35 Up           00-00-00-00-00-00       100 Mbps
蓝牙网络连接 4             Bluetooth Device (Personal Area Ne...        33 Disconnected 00-00-00-00-00-00         3 Mbps
以太网 2                  Intel(R) Ethernet Connection (2) I21...      15 Up           00-00-00-00-00-00         1 Gbps
以太网                    Intel(R) I210 Gigabit Network Connec...       8 Up           00-00-00-00-00-00         1 Gbps
VMware Network Adapte...1 VMware Virtual Ethernet Adapter for ...      7 Up           00-00-00-00-00-00       100 Mbps

里面的ifIndex就是网络设备对应的接口编号,以太网 2是连接到公网,以太网是连接到openwifi。
3.设置转发Set-NetIPInterface -ifAlias <网卡名> -Forwarding Enabled

PS C:\Users\******> Set-NetIPInterface -ifAlias '以太网 2' -Forwarding Enabled

4.查看转发状态Get-NetIPInterface -Forwarding Enabled

PS C:\Users\******> Get-NetIPInterface -Forwarding Enabled

ifIndex InterfaceAlias                  AddressFamily NlMtu(Bytes) InterfaceMetric Dhcp     ConnectionState PolicyStore
------- --------------                  ------------- ------------ --------------- ----     --------------- -----------
15      以太网 2                        IPv6                  1500              25 Enabled  Connected       ActiveStore
15      以太网 2                        IPv4                  1500              25 Disabled Connected       ActiveStore

5.增加路由
Windows的 route add 命令格式:
route add <目标网络> mask <子网掩码> <下一跳网关> if <接口编号> -p
-p可选,表示永久增加。
if是指定的网卡编号,不指定windows也会自动选取,但是手工选取更精确。

PS C:\Users\******> route add 192.168.10.0 mask 255.255.255.0 192.168.10.1 -p
 操作完成!
PS C:\Users\******> route add 192.168.13.0 mask 255.255.255.0 192.168.10.122 if 8
 操作完成!
PS C:\Users\******> route add 0.0.0.0 mask 0.0.0.0 192.168.30.1 -p
 操作完成!

增加路由让前往192.168.10.x的下一跳为192.168.10.1;让前往192.168.13.x的下一跳为192.168.10.122;让任何传进来的下一跳为192.168.30.1。
6.测试

PS C:\Users\******> ping 192.168.13.2

正在 Ping 192.168.13.2 具有 32 字节的数据:
请求超时。
来自 192.168.13.2 的回复: 字节=32 时间=7ms TTL=63
来自 192.168.13.2 的回复: 字节=32 时间=5ms TTL=63
来自 192.168.13.2 的回复: 字节=32 时间=7ms TTL=63

192.168.13.2 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 3,丢失 = 1 (25% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 5ms,最长 = 7ms,平均 = 6ms

至此,电脑和手机之间可以通过openwifi进行通信,手机也可以上网。
第一次写组网的教程,可能有疏漏,如有,欢迎指正。

posted @ 2025-03-27 18:49  紫川Bin  阅读(1432)  评论(0)    收藏  举报