VirtualBox 中 centos7 下 ping 命令出現 Network is unreachable 問題的解決方法
阿新 • • 發佈:2019-01-10
1 問題描述
在 VirtualBox 中安裝好 centos7 後,發現使用 ping 命令測試連線外網 IP 地址,會報錯。具體如下:
2 分析
2.1 檢視 VirtualBox 設定
開啟 VirtualBox 中這臺虛擬機器的設定,發現預設的連線方式是“網路地址轉換(NAT)”。這種方式下,虛擬機器可以訪問本機,也可以訪問外網。這裡的設定沒問題。
2.2 檢視 centos7 網路設定
使用 nmcli 命令,檢視當前虛擬機器的所有網路基本資訊:
nmcli connection show
具體引數說明如下:
引數名稱 | 說明 |
---|---|
NAME | 連網代號,通常與 DEVICE 一樣 |
UUID | 識別碼 |
TYPE | 網絡卡的型別;802-3-ethernet 就是乙太網 |
DEVICE | 網絡卡名稱 |
因為我本機開了無線網路,所以虛擬機器也跟著有了無線和有線的乙太網。我們繼續使用 nmcli 命令,看看 enp0s3 的有線網路配置:
nmcli connection show enp0s3
- 這裡的 enp0s3 是 centos7 自動生成的帶隨機數的網絡卡名稱,每臺機都不一樣。
很明顯,這裡的 IP 地址和閘道器配置的都不正確,原因找到啦。O(∩_∩)O~
3 解決問題
- 設定 centos7 虛擬機器的網路獲取方式為自動獲取 IP(這種方法最方便啦 O(∩_∩)O~)
nmcli connection modify enp0s3 \
connection.autoconnect yes \
ipv4.method auto
- 上面的命令只是修改了設定檔,還要使用 nmcli 的 up 引數讓它實際生效:
nmcli connection up enp0s3
- 實際測試
報錯啦,ping 外網 IP,出現 Destination Host Unreachable 的錯誤!
一查,發現 virtualBox 的 NAT 方式下,centos7 並不能使用自動獲取 IP 的連網方式,看來必須換成橋接模式!
到 virtualBox 中換成橋接模式後,立即就生效,馬上再測試下:
成功啦,我們的 centos7 虛擬機器終於連上外網啦 O(∩_∩)O~