我已经用Backfire 10.03.1-rc3(arch:brcm 2.6 kernel)的OpenWRT路由器
我已经build立了一个OpenVPN客户端连接我的路由器与工作区局域网,它很好地工作,我可以从路由器连接到networking(几个)在工作场所。
我的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”区域来允许input/输出stream量,并且已经为区域到区域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'
和界面configuration:
config 'interface' 'stream_vpn' option 'proto' 'none' option 'ifname' 'tun1' option 'defaultroute' '0' option 'peerdns' '0'
现在,从我的路由器一切正常,问题是,我不能从一台局域网内的计算机连接到由vpn连接提供的networking中的主机:/
我错过了什么,或者我做错了什么?
当连接到vpn时,如何强制使用指定的DNS? (我知道服务器应该使用PUSH DNS选项,但是只有PUSHes路由)
你很可能没有openvpn客户端路由设置。 http://openvpn.net/index.php/open-source/documentation/howto.html#scope section“在使用路由VPN(dev tun)时在客户端包含多台机器”应该解决这个问题。
在config 'zone'添加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!!!
我不知道你的答案是否帮助@canni,但它帮助了我。
必须在每个用户的基础上使用iroute 。
然后内核和OpenVPN都知道路由,两个局域网中的每台主机都可以通过VPN进行通信。
你可以尝试几个configuration设置。
但是只要在服务器设置中添加这个,就可以实现这个魔术:
client-to-client