為什麼要使用NAT模式
寫這篇文章是因為有朋友遇到虛擬機器中的NAT網路配置的一些問題,我自己的工作環境也得益如此優化了一下,因此在此做個記錄;
朋友遇到的問題:虛擬機器中配置了NAT模式,虛擬機器中的系統可以和主機互相ping通,但是無法ping通外網;最終的發現是IPv6開啟了;
自己的問題:公司自己工作的環境是放在虛擬機器中的,用的自己的本子,回到家後,因為ip設定的問題,每次得更改ip,到公司後,又得更換,比較麻煩,現在使用NAT模式配置後,解決了這個麻煩;
測試環境:
- VMware15
- centos6.8 64位
- 映象是 CentOS-6.10-x86_64-minimal.iso
先簡單說一下NAT模式,NAT模式是使虛擬機器共享主機的IP,我這裡口語化理解一下,這種方式,就是在自己的本地內網ip網路下(如192.168.0.1),再建立的一個該內網下的內網環境(192.168.204.2),此時本地和這個自己本地的內網通訊是用192.168.204.2這個閘道器,內網和外網通訊是利用本地主機的ip;
這種模式的好處是避免使用橋接模式時ip地址佔用問題,比如說公司給每人分配一個固定ip,此時自己想建立多臺虛擬機器做測試時,就沒有IP可用了;
也可以解決我上面因為工作地點不固定,導致ip頻繁更改的麻煩;因為此時本地宿主機的IP雖然會變動,但是本地主機NAT模式下的內網環境卻是不變的,並且依然可以和主機通訊;外網是使用主機的ip,也沒問題;
實現
使用DHCP方式
這裡安裝centos的步驟省略,後面再寫一篇安裝的文章
注意:我的測試環境是一個全新安裝的centos6.8,沒有安裝其他各種應用;
安裝後,這裡配置為使用NAT模式(安裝過程中其實也可以設定)
注意:VMware的NAT模式預設是使用的VMnet8虛擬網路卡
此時,如果虛擬機器中的centos6系統的網路是直接設定為dhcp獲取ip的話,即BOOTPROTO=static
則,應該是直接配置好了,可以互ping一下本地主機和虛擬機器系統的網路,然後ping一下外網,基本沒有問題;
使用static方式
下面的說明是針對配置靜態ip的,畢竟動態獲取會導致需要頻繁更改環境配置,體驗不好
這裡先說下我的本地主機網路:
- ip:10.0.0.53/24
- gateway:10.0.0.1
我們點選VMware軟體的 編輯
-> 虛擬網路編輯器
可以看到,NAT模式,虛擬網路卡就是VMnet8了,點選它,檢視NAT設定,DHCP設定,並注意記錄幾個關鍵的配置引數;
注意:請不要更改上面這兩個配置,除非你知道在做什麼
第一個需要記下的是NAT設定中的閘道器,我這裡是:192.168.204.2
, 請不要更改它;
第二個需要記下的是DHCP設定中的起始IP地址
和結束IP地址
範圍,也請不要更改,並且後面的虛擬機器系統IP需要設定在這個範圍內,我的是192.168.204.128
~192.168.204.254
好了,我們現在開始配置虛擬機器中centos6伺服器的網路:
# 這裡我只列出關鍵配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
...
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.204.129 # 取上面DHCP設定的IP範圍內即可
GATEWAY=192.168.204.2 # 取NAT設定中的閘道器,不要寫錯
PREFIX=24
DNS1=192.168.204.2
...
# 重啟網路
service network restart
# 網路測試
ping 10.0.0.1 //測試和10.0.0.1網路是否連通
ping 10.0.0.53 //測試和本地主機是否連通
ping www.baidu.com //測試外網
# 同樣本地主機也可以測試NAT內網的
ping 192.168.204.2 //測試兩個網路是否可通
ping 192.168.204.129 //測試兩臺主機是否連通
沒什麼意外,一切安好,假如虛擬機器中內網ping不通外網,檢查ipv6是否開啟了,如果ping不通主機,檢查NAT閘道器設定;
如果還有任何疑問,請發評論;
本作品採用《CC 協議》,轉載必須註明作者和本文連結