Openvpn

OpenWRT + OpenVPN客戶端從區域網路轉發到vpn不起作用

  • June 11, 2017

我有帶 Backfire 10.03.1-rc3 的 OpenWRT 路由器(arch:brcm 2.6 核心)

我已經設置了一個 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 選項,但只是 PUSHes 路由)

您很可能沒有設置 openvpn 客戶端路由。http://openvpn.net/index.php/open-source/documentation/howto.html#scope部分“使用路由 VPN(dev tun)時在客戶端包括多台機器”應該解決這個確切的場景。

添加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!!!

引用自:https://serverfault.com/questions/240651