OpenVPN Windows 10:如何访问局域网内的计算机?

OpenVPN Windows 10:如何访问局域网内的计算机?

我正在尝试在我的笔记本电脑和家里的网络之间安装 VPN,我的所有电脑(华硕 NAS 除外)都使用 Windows 10(我知道使用 Linux 会更容易,但我别无选择)。到目前为止,我可以与 OpenVPN 服务器所在的 Windows 机器通信,但是我无法连接其他电脑

以下是我的网络计划以及我的 ovpn 配置文件:

  • 服务器.ovpn

    port 1194
    proto udp
    dev tun
    
    ca "P:\\Serveurs\\OpenVPN\\config\\ca.crt"
    cert "P:\\Serveurs\\OpenVPN\\config\\server.crt"
    key "P:\\Serveurs\\OpenVPN\\config\\server.key"
    dh "P:\\Serveurs\\OpenVPN\\config\\dh1024.pem"
    tls-auth "P:\\Serveurs\\OpenVPN\\config\\ta.key" 0
    
    topology subnet
    server 10.8.0.0 255.255.255.0
    push "route 192.168.63.0 255.255.255.0"
    
    ifconfig-pool-persist ipp.txt
    client-to-client
    keepalive 10 120
    cipher AES-256-CBC
    persist-key
    persist-tun
    status openvpn-status.log
    verb 3
    explicit-exit-notify 1
    
  • aa-laptop.ovpn (客户端):

    client
    dev tun
    proto udp
    remote dns.perso.fr 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    
    ca "C:\\Program Files\\OpenVPN\\Config\\ca.crt"
    cert "C:\\Program Files\\OpenVPN\\Config\\AA-LAPTOP.crt"
    key "C:\\Program Files\\OpenVPN\\Config\\AA-LAPTOP.key"
    
    remote-cert-tls server
    tls-auth "C:\\Program Files\\OpenVPN\\Config\\ta.key" 1
    cipher AES-256-CBC
    verb 3
    

如您所见,我可以使用 OpenVPN 连接我的笔记本电脑和服务器,完成后,我可以通过键入\\10.8.0.1和来访问我的服务器共享\\192.168.63.4,这两种方法都有效,太棒了!但我无法访问家庭局域网中的任何其他东西,无论是我的电脑\\192.168.63.2还是我的 NAS \\192.168.63.7

这可能是服务器端缺少配置参数的问题,也可能是桥接问题,我不知道。但我发现的唯一帮助是使用route add gwLinux 命令,而这显然无法在 Windows 上运行。

提前感谢您的帮助!

问候,

答案1

你可以用一行代码来简单地完成这个OpenVPN 使用它是路由命令,不需要.bat文件。

使用您的客户端.ovpn 来展示一个示例:

client
dev tun
proto udp
remote dns.perso.fr 1194
resolv-retry infinite
nobind
persist-key
persist-tun

ca "C:\\Program Files\\OpenVPN\\Config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\Config\\AA-LAPTOP.crt"
key "C:\\Program Files\\OpenVPN\\Config\\AA-LAPTOP.key"

remote-cert-tls server
tls-auth "C:\\Program Files\\OpenVPN\\Config\\ta.key" 1
cipher AES-256-CBC
verb 3
# Add this line here
route 192.168.63.0 255.255.255.0 192.168.63.1

就是这样!您只需添加route 192.168.63.0 255.255.255.0 192.168.63.1到客户端 .ovpn。对于其他网络设置,语法如下:

route SUBNET SUBNET-MASK GATEWAY

因此,如果你使用CIDR 范围192.168.0.0/16,并且 192.168.1.1 是您的网关,您可以执行以下操作: route 192.168.0.0 255.255.0.0 192.168.1.1

重要的是,它将(在内部)使用客户端系统原生的任何命令来实际实施因此,对于 Windows,它将执行route ADD 192.168.0.0 MASK 255.255.0.0 192.168.1.1,Linux/OSX 将是其内置的路由方法。这样可以使文件更具可移植性。

您可能已经想到了,由于push只需向客户端发送一个设置,因此您与原始服务器 .ovpn 非常接近:

push "route 192.168.63.0 255.255.255.0"缺少网关。

如果您在末尾添加了 192.168.63.1,它就会起作用。您可以从客户端或服务器端执行此操作,但我认为最好在客户端执行此操作,因为如果您需要访问不同网络(例如具有不同子网)上的文件,编辑客户端 .ovpn 会更容易,但这确实取决于部署环境。

答案2

您所做的就是在 Windows 10 机器中创建一个新的虚拟网卡,为其指定一个 IP 地址,然后让远程系统对其进行 ping。这些都是标准操作,但采用的是软件方式,而不是将以太网适配器插入 USB 端口。

现在的问题是路由,只有微软的服务器产品本身支持路由。有以下方法:Internet 连接共享(选择 VPN 适配器而不是该文章中的 Hosted Virtual)这会将您的 Windows 10 系统变成一个迷你互联网路由器。遗憾的是,它不会允许您的 LAN 设备发起与 VPN 客户端的连接,但除此之外,它运行得相当好。

另一种选择非常不可靠,而且在 Windows 10 客户端中启用本机路由直接在注册表中进行非常低级的更改。请谨慎行事。事实上,最好不要这么做。

如果你真的想要灵活性,可以考虑购买低成本的路由器DD-WRT或者OpenWRT,两者都支持 OpenVPN 和本机路由,具有良好的图形界面。你可以使用 40 美元的设备,例如TP-Link WA-901ND,但请检查其网站上支持的设备列表。

如果你喜欢冒险,并且真的想掌握 Linux,树莓派将会做得非常好。

额外的好处是这些低功耗设备不需要一直开启。

答案3

费德里科·加利回答了我的问题,除了正确的 OpenVPN 配置之外,我还需要启动:

route ADD 192.168.63.0 MASK 255.255.255.0 192.168.63.1

就我个人而言,我创建了一个routage.bat在 Windows 启动时启动的文件,因为路由没有持久化。

再次感谢费德里科·加利,现在运行完美!

答案4

路由 ADD -p 参数添加永久生效。无需制作 bat 文件

相关内容