我正在尝试使用我的 openwrt 路由器连接到我的家庭网络,我可以连接到 vpn 服务器,但我需要转发或桥接 vpn,以便通过路由器的所有内容(通过有线交换机或 wifi)然后通过 vpn 路由。更简单的是客户端 ---> 路由器(vpn 客户端)---> vpn 服务器。
我是否可以使用它访问家庭网络上的资源并不重要,因为它通过我的家庭网络进行隧道传输,所以我似乎在使用我的家庭 IP 地址。我也不确定是否使用 tap 或 tun。任何帮助都将不胜感激。
顺便说一下,我使用所有命令行,因为我有一个 4mb 闪存路由器,所以我必须构建一个没有 GUI 的自定义图像,这样我才能适合 openvpn。
我设置了一些防火墙规则来尝试转发流量,但我认为我可能需要的可能是一座桥,因为我目前正在使用 Tap。我的 openvpn 配置文件中也有 redirect-gateway-def1。我想我问的是如何为我的目的创建一座桥。我当前的 etc/config/firewall 文件包含与 vpn 相关的这些行。
config zone
option name 'VPN_client1'
option masq '1'
option input 'ACCEPT'
option forward 'REJECT'
option output 'ACCEPT'
list network 'VPN_client1'
config forwarding
option dest 'lan'
option src 'VPN_client1'
config forwarding
option dest 'VPN_client1'
option src 'lan'
从连接到路由器的计算机可以 ping 通路由器,就是这样。顺便说一句,这个问题是由 serverfault 发起的,所以我在这里发布它。
顺便说一下,我的 openvpn 服务器正在使用 tun 在我家路由器上的 ddwrt 上运行。
答案1
所以,据我了解,您已经有一个启动并正在运行的 OpenVPN 服务器。
至于 和tun
:tap
服务器和客户端都需要使用相同的配置。如果不需要以太网桥接,请使用tun
,因为它引入的开销较少。
首先,我们将更新您的网络配置以包含 VPN 接口:
config interface 'vpn'
option ifname 'tun0'
option proto 'none'
这是将 VPN 连接集成到 OpenWrt 网络系统所必需的。当然,如果你使用tap
,则必须将接口更改为tap0
。
接下来,可选择从中删除以下几行/etc/config/firewall
:
config forwarding
option src lan
option dest wan
这可确保没有 LAN 流量通过常规互联网上行链路离开路由器。当然,这不是必需的。
在同一个文件中,添加一个新的区域并配置转发:
config zone
option name vpn
list network 'vpn'
option input REJECT
option output ACCEPT
option forward REJECT
option masq 1
config forwarding
option src lan
option dest vpn
使用MASQUERADE
和tun
可使此配置变得简单,因为 VPN 服务器不需要了解路由器客户端,我们也不需要桥接,从而减少了开销。该forwarding
部分允许 LAN 流量通过 VPN 连接进行路由。
接下来是您的 VPN 配置。有一些事情需要注意。
由于我们明确指定了期望 VPN 连接使用的接口,因此我们必须在 VPN 配置中执行相同的操作:
dev tun0
看起来你已经有了,但对于其他人来说,我们需要再次通过 VPN 连接重定向流量。OpenVPN 已经为此提供了一个很好的选择:
redirect-gateway def1
此选项还可确保您的 VPN 服务器仍然可以访问。
如果您的 OpenVPN 配置包含以下行,请将其删除:
persist-tun
完成这些更改后,重新启动路由器。请记住:如果您删除了该forwarding
部分,您现在将无法访问互联网。
现在,启动 OpenVPN:
/etc/init.d/openvpn start
如果现在一切正常,您可以永久启用 OpenVPN:
/etc/init.d/openvpn enable
但请记住:OpenVPN 依靠日期和时间是否正确来检查证书是否有效。您的路由器可能没有实时时钟,这意味着它每次都从 1970 年 1 月 1 日开始。然后它依靠互联网 NTP 服务器来获取当前日期和时间。这意味着 OpenVPN 不会在完成此操作之前连接,因为您的证书在 1970 年 1 月 1 日无效。