我在具有公用 IP 的伺服器上設定了 OpenVPN 伺服器(VPN ip = 10.8.0.1)。我的實驗室有一個工作站(Ubuntu),有學校ip,可以存取學校的內部網路資源。
我希望我的 Android 手機和 Windows PC 可以存取該資源。所以我:
OpenVPN伺服器設定:
dev tun
拓樸子網路
伺服器 10.8.0.0 255.255.255.0
client-config-dir /etc/openvpn/server/ccd
Push "route 10.8.0.0 255.255.255.0"
Push "route-gateway 10.將我的工作站連接到伺服器並取得IP 10.8.0.3,其ccd配置(相當於客戶端設定)是:
ifconfig-push 10.8.0.3 255.255.255.0
在工作站中,使用了 iptables 並添加了一些項目:
$ sudo iptables -t 過濾器 -S
-P 輸入接受
-P 轉送接受
-P 輸出接受
$ sudo iptables -t nat -S
-P 預路由接受
-P 輸入接受
-P 輸出接受
-P POSTROUTING 接受
-A POSTROUTING - s 10.8 .0.0/24 -o wlx0810752b55c9 -j 偽裝我家裡電腦的ccd配置是:
ifconfig-push 10.8.0.5 255.255.255.0
推送“路由網關 10.8.0.3”
推送“重定向網關 def1 繞過 dhcp”
推送“dhcp 選項 DNS 8.8.8.8”結果1 電腦無法連接網路。該PC的路由表為:
路由列印-4
0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.21 35
0.0.0.0 128.0.0.0 10.8.0.3 10.0.0
128.0.0.0 10.8.0.3 10.8.0.52910. . 8.0.5 291
後兩項是「redirect-gateway def1」新增的內容,沒有刪除原先的預設閘道。我很好奇為什麼 def1 可以重定向流量?由於原來的預設閘道仍然存在且具有更好的指標,因此沒有流量會通過 VPN。
結果 2 我的 Android 手機也不能。
$ busybox ip 路由顯示表全部
預設透過 10.183.93.203 dev ccmni0 表 1002
預設 dev tun0 src 10.8.0.4
10.8.0.0/24 dev tun0 表 1015
10.8.0.0/c.
我確保工作站沒有收到流量:
$ sudo tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
$
我已經討論了很多與此相關的主題,但沒有可行的解決方案。所以,任何人都可以幫助我,任何建議都會受到讚賞!
答案1
在伺服器的 ccd 目錄中,工作站檔案應包含 iroute 請嘗試一下,我正在嘗試在不使用存取伺服器並使用 Linux 用戶端作為網關的情況下執行相同的操作,如下所示 https://www.youtube.com/watch?v=b7qr0laM8kA