近期在學習Hadoop相關知識,之前並未接觸Linux系統,因此一併從頭開始學習,在這個過程中,遇到不少問題,因此想要把學習過程整理一下,記錄下來,以便以後回顧,也希望我的記錄對其他人有幫助。
VMware三種網絡連接方式
在VMware中,虛擬機的網絡連接主要是由VMware創建的虛擬交換機(也叫做虛擬網絡)負責實現的,VMware可以根據需要創建多個虛擬網絡。VMware的虛擬網絡都是以"VMnet+數字"的形式來命名的,當我們安裝VMware時,VMware會自動爲3種網絡連接模式各自創建1個虛擬機網絡:VMnet0(橋接模式)、VMnet8(NAT模式)、VMnet1(僅主機模式)。此外,我們也可以根據需要自行創建更多的虛擬網絡。
-
橋接模式:是將虛擬機的虛擬網絡適配器與主機的物理網絡適配器進行交接,虛擬機中的虛擬網絡適配器可通過主機中的物理網絡適配器直接訪問到外部網絡,這種模式是把虛擬機當做一臺完全獨立的計算機看待,並且允許它和其他終端一樣的進行網絡通信,虛擬機會佔用局域網中的一個IP地址,並且可以和其他終端進行相互訪問。
-
NAT模式:NAT,是Network Address Translation的縮寫,意即網絡地址轉換,是VMware創建虛擬機的默認網絡連接模式,使用NAT模式網絡連接時,VMware會在主機上建立單獨的專用網絡,用以在主機和虛擬機之間相互通信。這種模式下的虛擬機,在外部網絡中沒有自己的IP地址,是主機在共享一個IP地址,和外部網絡的數據交換,都是通過主機作爲中介,進行數據傳輸的。在一臺主機上只允許有一個NAT模式的虛擬網絡,同一臺主機上的多個採用NAT模式網絡連接的虛擬機也是可以相互訪問的。
-
僅主機模式:將虛擬機與外網隔開,使得虛擬機成爲一個獨立的系統,只與主機相互通訊,默認情況下,使用僅主機模式網絡連接的虛擬機無法連接到Internet(在主機上安裝合適的路由或代理軟件,或者在Windows系統的主機上使用Internet連接共享功能,仍然可以讓虛擬機連接到Internet或其他網絡)。在同一臺主機上可以創建多個僅主機模式的虛擬網絡,如果多個虛擬機處於同一個僅主機模式網絡中,那麼它們之間是可以相互通信的;如果它們處於不同的僅主機模式網絡,則默認情況下無法進行相互通信(可通過在它們之間設置路由器來實現相互通信)。
橋接模式的配置
1. 設置虛擬機網絡連接方式爲橋接模式
2. 確認主機的IP、網關、DNS信息,打開命令提示窗口,輸入ipconfig -all 命令,查看本機網絡連接信息
3. 配置虛擬機的靜態IP、子網掩碼、默認網關、DNS,配置相關信息時,需要root權限,請使用root賬號登陸;
- 根據個人配置不同,配置文件名是不同的,先進入對應目錄下,查看具體是哪個文件,命令如下:
cd /etc/sysconfig/network-scripts //進入配置文件所在目錄
ll -a //查看配置文件下所有文件
- 進入配置文件,通過vi命令編輯文件時,先輸入 i 進入文件insert模式,不然文件只是只讀模式,具體命令如下:
vi ifcfg-ens33 //進入你的配置文件
- 添加配置信息:將BOOTPROTO由dhcp修改成static,ONBOOT設置爲yes,增加IP、網關等相關信息,IP要和主機在同一網段內,子網掩碼、網關、DNS要和主機一致,DNS可以設置多個,修改完成後,按Esc,退出編輯模式,輸入 :wq! 命令進行保存和退出。
4. 添加網關地址
- 進入配置文件,具體命令如下:
vi /etc/sysconfig/network
- 添加配置信息,增加HOSTNAME 和 GATEWAY配置,HOSTNAME根據你的需要命名即可,GATEWAY一定和主機一致;
5. 重啓network
- 默認可以使用:systemctl restart network 或 service network restart 命令
- 失敗後可嘗試:service network-manager restart 命令
- 如果是 Kali Linux(Debian),則需要用以下命令:service networking restart
- 如果是Centos 8,則需要用以下命令:nmcli c reload
6. 在虛擬機內使用 ping 命令訪問局域網內其他主機,物理主機,互聯網主機 否有效。
7. 如果訪問失敗,可嘗試禁用防火牆:
systemctl stop firewalld.service //停止firewall
systemctl disable firewalld.service //禁止firewall開機啓動
8. Xshell連接(或其他連接工具)到虛擬機提示Could not connect to (port 22): Connection failed,可嘗試通過以下方式處理: