| 日期 | 作者 | 版本 | 備註 |
|---|---|---|---|
| 2022-05-18 | dingbin | v1.0 | |
本文主要講述如何設置linux的虛擬機(以CentOS7的vmware虛擬機為例)的網絡,使其能共享連接宿主機(以Windows 10宿主機為例)的VPN(以EasyConnect VPN)的網絡連接。話不多説,直接上乾貨。
1. vmware 虛擬機網絡設置
打開vmware虛擬機軟件當前虛擬機,右鍵點擊 設置 - 硬件 - 網絡適配器,如下圖設置,虛擬機網絡適配器應設置為NAT模式。以下兩圖所示的任何一種NAT模式都可以。
2. 設置虛擬機的虛擬網絡
以EasyConnect VPN軟件為例:首先查看宿主機連通VPN狀態下的虛擬網卡的IP地址和子網掩碼。操作如下:更改網絡適配器,找到當前連通的VPN網絡的圖標,右鍵 狀態-詳細信息,如下圖所示,可以其IP為:10.52.235.223,子網掩碼是:255.255.255.0。接下來根據這個設置虛擬機的網關(Gateway/子網掩碼/IP)。
打開vmware虛擬機軟件的 編輯 - 虛擬網絡編輯器,如下設置:
其中子網IP設置為:宿主機IP10.52.235.223的前三段,第4段補0一般是這個經驗。子網掩碼同宿主機的子網掩碼。
然後點擊NAT設置,如下圖配置:
注意此處的網關IP務必設置成宿主機的IP地址。這個設置非常重要。
3. 進入虛擬機機器內部設置IP/Gateway等網絡配置項
以虛擬機為Centos7 為例説明如下,切換到root用户下,
vim /etc/sysconfig/network 編輯gateway 網關如下:
vim /etc/sysconfig/network-scripts/ifcfg-etho,編輯如下:
BOOTPROTO設置為static 表示設置了固定的ip地址。
NETMASK設置為宿主機的子網掩碼255.255.255.0
GATEWAY設置為宿主機的IP地址10.52.235.223‘
虛擬機的IP地址設置為10.52.235.110。 注意前三段需與宿主機的IP前三段相同,最後一段可以自由發揮設置。
4. 重啓虛擬機網絡服務
設置好以上步驟後,最後在centos虛擬機機器上只需要執行如下命令重啓網絡服務即可生效網絡配置:
systemctl restart network.
接着可以利用ping命令試試網絡是否正常。
至此,虛擬機就可以成功地共享宿主機的vpn連接了。
5. 討論
實踐中發現,其實vmnet8的NAT設置的網關不一定要是VPN的IP,只要是和宿主機IP在同一局域網中的IP2都可以, 客户機中的Gateway必須配置成IP2就可以,同時客户機中的DNS1一般配置成公共的DNS如114.114.114.114 或8.8.8.8(一般只配置DNS1=114.114.114.114即可), 即能實現客户機共享宿主機的VPN網絡。
vmware客户機橋接方式網絡設置示例:
DNS1=48.144.232.158 #修改為宿主機DHCP時自動獲得的DNS1和DNS2值
DNS2=21.151.3.236 #修改為宿主機DHCP時自動獲得的DNS1和DNS2值
NETMASK=255.255.255.0
GATEWAY=10.253.64.1
IPADDR=10.253.65.57
vmware客户機 NAT方式網絡設置示例:
DNS1=114.114.114.114
#DNS2=8.8.8.8
NETMASK=255.255.255.0
GATEWAY=10.253.67.139
IPADDR=10.253.67.57
實踐中還發現,如果使用宿主機的拆分協議隧道功能(即只讓某些應用程序走VPN網絡的設置)一般會影響客户機的NAT網絡配置,導致客户機網絡連接失效網絡不可用,因此NAT方式不建議和宿主機VPN客户端的拆分協議隧道功能同時使用。
實踐中建議 橋接和 NAT兩種方式搭配使用,大部分時間使用橋接方式(為了得到獨立IP的客户機)+ 宿主機VPN拆分協議隧道模式; 只在客户機中需要VPN網絡連接時,臨時切換到NAT方式+宿主機VPN不使用拆分協議隧道模式(為了讓客户機中臨時訪問VPN網絡)。
實踐中還有個重要的經驗,如果發現windows 上vpn 總也很難連接上,往往把本地網絡的ip獲取方式改為自動獲得,重連網絡後,再重連VPN客户端,往往瞬間就能連上VPN了。