我有带 Backfire 10.03.1-rc3(arch:brcm 2.6 内核)的 OpenWRT 路由器
我已经设置了一个 OpenVPN 客户端,将我的路由器与工作场所局域网连接起来,并且它运行良好,我可以从路由器连接到工作场所的网络(几个)。
我的 OpenVPN 客户端 uci-config 如下所示:
config 'openvpn' 'stream_client'
option 'nobind' '1'
option 'float' '1'
option 'client' '1'
option 'reneg_sec' '0'
option 'management' '127.0.0.1 31194'
option 'explicit_exit_notify' '1'
option 'verb' '3'
option 'persist_tun' '1'
option 'persist_key' '1'
list 'remote' 'remote.address.cutted'
option 'ca' '/lib/uci/upload/cbid.openvpn.stream_client.ca'
option 'key' '/lib/uci/upload/cbid.openvpn.stream_client.key'
option 'cert' '/lib/uci/upload/cbid.openvpn.stream_client.cert'
option 'enable' '1'
option 'dev' 'tun1'
我已将“STREAM_VPN”区域设置为允许进/出流量,并添加了区域到区域 lan<->vpn 和 vpn<->lan 的规则
config 'zone'
option 'name' 'stream_vpn'
option 'network' 'stream_vpn'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
config 'forwarding'
option 'src' 'lan'
option 'dest' 'stream_vpn'
config 'forwarding'
option 'src' 'stream_vpn'
option 'dest' 'lan'
以及接口配置:
config 'interface' 'stream_vpn'
option 'proto' 'none'
option 'ifname' 'tun1'
option 'defaultroute' '0'
option 'peerdns' '0'
现在,从我的路由器一切运行正常,问题是我无法从局域网内的计算机连接到由 vpn 连接提供的网络中的主机 :/
我错过了什么或者我做错了什么?
并且如何在连接到 VPN 时强制使用指定的 DNS?(我知道服务器应该使用 PUSH DNS 选项,但 PUSH 只是路由)
答案1
您很可能没有设置 openvpn 客户端路由。http://openvpn.net/index.php/open-source/documentation/howto.html#scope“使用路由 VPN(dev tun)时在客户端包括多台机器”部分应该解决这个确切的情况。
答案2
添加option masq '1'
config 'zone'
option 'name' 'stream_vpn'
option 'network' 'stream_vpn'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option masq '1' # IMPORTANT!!!
答案3
我不知道你的回答是否对@canni 有帮助,但它对我有帮助。
iroute
必须按每个用户使用。
然后内核和 OpenVPN 都将知道路由,并且两个 LAN 中的每个主机都可以通过 VPN 进行通信。
答案4
您可以尝试多种配置设置。
但只需在服务器设置中添加以下设置即可实现神奇的效果:
client-to-client