通過 VPN 訪問 VirtualBox 來賓
我已經搜尋並嘗試了一些建議,但我無法讓它工作,但是……
我的主機正在執行 Ubuntu。我安裝了 VirtualBox,創建了一個僅限主機的適配器,將主機 IP 設置為 192.168.15.1,然後關閉了適配器的 DHCP 伺服器。然後我創建了訪客(Win XP),並將 IP 設置為 192.168.15.101/24 並將 DG 設置為 192.168.15.1 我可以從主機 ping 到訪客,反之亦然。
然後我在主機上安裝了 OpenVPN。創建了我自己的 CA、伺服器證書/密鑰和客戶端證書/密鑰。將 OpenVPN 伺服器配置設置為將 192.168.15.0/24 路由推送到任何 VPN 客戶端。我將路由器設置為將 UDP 1194 轉發到 OpenVPN 伺服器並測試連接。
OpenVPN 客戶端是在另一台筆記型電腦上執行的 Debian。建立 VPN 隧道後,VPN 客戶端 (10.8.0.6) 可以 ping VPN 主機 (10.8.0.1),反之亦然。客戶端還可以毫無問題地在 192.168.15.1 ping 主機“僅主機”IP。
我的問題是讓 Open VPN Client (10.8.0.6) 與 VM Guest (192.168.15.101) 交談。我認為 VM 來賓 (XP) 不知道 VPN 客戶端的存在,它無法將流量/響應路由到 10.8.0.6。
你能1)告訴我我缺少哪些步驟,2)如何解決這個問題?
謝謝。
OpenVPN 伺服器/VirtualBox 主機的 IPTABLES 輸出…
root@xxxxxxxxxxxx:~# iptables -L -nv Chain INPUT (policy ACCEPT 48 packets, 53304 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 35 packets, 2992 bytes) pkts bytes target prot opt in out source destination
解決方案 缺少的部分是 ip 轉發。我需要編輯 /etc/sysctl.conf 並更改它:
# Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1
對此
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1
一直感謝豪克!
您必須檢查防火牆配置是否允許轉發:
iptables -L -nv
但僅將防火牆配置為允許路由是不夠的。路由功能本身必須在核心中啟用。如果核心甚至不嘗試路由,那麼防火牆是否允許數據包通過都沒有關係。您可以檢查路由狀態
cat /proc/sys/net/ipv4/ip_forward
這將返回 1(啟用路由)或 0(禁用路由),後者通常是預設值。您可以更改此設置
echo 1 >/proc/sys/net/ipv4/ip_forward
例如,可以通過 進行永久更改
/etc/sysctl.conf
。