Linux

OpenVPN Bridge:無法訪問網路資源。我究竟做錯了什麼?

  • July 2, 2018
  1. 期望的最終結果:
  • 設置 OpenVPN 橋接網路以通過 Internet 上的 SMB 共享訪問儲存在 NAS 中的資源
  • 通過 RDP 連接到虛擬機(無埠轉發)。
  1. 問題:
  • 筆記型電腦已成功(?)與伺服器建立連接。但是,筆記型電腦無法訪問子網 (192.168.111.0) 上的任何資源
  • 筆記型電腦提取 dhcp 網關 (192.168.111.1),但未能分配 IP 地址。

所以這就是我到目前為止所做的。我已經為此苦苦掙扎了好幾天,(實際上是幾週,如果我算上以前的嘗試最終以我放棄而告終),我無法弄清楚問題是什麼。

![網路圖]](https://i.stack.imgur.com/8YoH5.png)

正如你在這張圖片中看到的,我有一個連接到網際網路的 linksys 路由器。它有一個連接到它的 DynDNS 帳戶,在它下面有兩台我想要訪問的電腦:一台在 Windows 10 上執行並具有 SMB 共享的 NAS,以及一台在 Windows 8.1 Embedded 上執行 Virtualbox 的 VM 主機。VM Host 執行多個執行 Windows 10、7 和 XP 的 VM,我將它們用於我的 Web 設計項目的工作和測試,以及兩個執行 Ubuntu Server 18.04 的 Linux 伺服器,其中一個是有問題的 OpenVPN 伺服器。我在上面設置了兩個網路介面。一個(~.191)目前埠轉發到網際網路,因此我可以通過 SSH 連接到它,另一個(~.200)設置為橋接。

我希望我的筆記型電腦獲得分配 192.168.111.- 子網 IP 並能夠訪問 SMB 共享資源和 RDP 進入虛擬機。我設法設置伺服器並生成 RSA 證書,並在我的筆記型電腦和 VPN 伺服器之間建立連接,但我無法訪問或 ping 網路中的任何其他電腦。我是一名網頁設計師/前端人員,我不能說我熟悉底層網路或 Linux,所以說實話,我什至不確定我是否做得對。任何想法或提示將不勝感激。謝謝。

以下連結是伺服器和客戶端的日誌和配置文件,以及伺服器的 ifconfig。初始設置基於本教程,並根據本教程對乙太網橋接進行了一些更改。

日誌和配置文件的要點

我有你在我家瞄準的確切設置。

我在我的路由器中配置了一個 DynDNS 帳戶和一個執行在物理 Linux 主機上的 OpenVPN 伺服器,該主機配置了一個橋接 NIC,還執行了幾台 KVM 機器,這些機器也可以從 OpenVPN 客戶端機器和另一台具有 SMB 共享的 Windows 機器訪問。

這是我的設置:

我的家庭網路子網是:

10.13.0.0/24

我的 OpenVPN 伺服器在以下網路子網中分配 OpenVPN 客戶端電腦 IP:

10.14.0.0/24

我的家庭子網 (10.13.0.0/24) 中的每台機器都配置有到 OpenVPN 子網 (10.14.0.0/24) 的靜態路由,並且每台 OpenVPN 客戶端機器都從 OpenVPN 伺服器獲取到家庭子網的推送路由,所以OpenVPN 客戶端能夠與我家庭網路中的機器建立雙向連接。

以下是您的行動項目:

像這樣配置您的 OpenVPN 伺服器:

ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
comp-lzo
dev tun
group nobody
ifconfig-pool-persist ipp.txt
keepalive 10 120
key /etc/openvpn/easy-rsa/2.0/keys/server.key  # This file should be kept secret
persist-key
persist-tun
port 1195
proto tcp
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "route 10.13.0.0 255.255.255.0"
push "route 10.14.0.0 255.255.255.0"
server 10.14.0.0 255.255.255.0
status port_1195.log
verb 3

如果您願意,請僅將 TCP 更改為 UDP,如果您願意,請僅將埠號更改為另一個。

在您的 Windows 機器中,添加以下路由(-p = 靜態路由):

route ADD <OpenVPN subnet> MASK 255.255.255.0 <Router IP> -p

在您的 Linux 機器中,添加以下路由:

route add -net <OpenVPN subnet/size> gw <Router IP>

除了上述之外,您還需要在路由器中配置埠轉發規則,如下所示: 在此處輸入圖像描述

不久前我為該過程寫了一本非常詳盡的手冊,儘管它是為 CentOS Linux 編寫的,但我在文章中描述的路由步驟適用於所有 Linux 風格,所以我建議你查看我的文章了解更多資訊資訊。

我希望我有所幫助。

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