學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦知識大全>

CentOS7在vmware中的網(wǎng)絡(luò)設(shè)置的介紹

時間: 志藝942 分享

  VMware虛擬機(jī)因其良好的用戶體驗及便捷的功能,被廣泛應(yīng)用于云計算平臺搭建、惡意代碼分析等技術(shù)領(lǐng)域。接下來是小編為大家收集的CentOS 7 在vmware中的網(wǎng)絡(luò)設(shè)置的介紹,希望能幫到大家。

  CentOS 7 在vmware中的網(wǎng)絡(luò)設(shè)置的介紹

  前言:由于工作中需要使用Linux,在虛擬機(jī)中裝了CentOS7,以作實驗之用,安裝后使用過程中出現(xiàn)不少問題,主要是網(wǎng)絡(luò)問題,安裝后出現(xiàn)下列幾種狀況:

  (1)宿主機(jī)網(wǎng)絡(luò)正常,在虛擬機(jī)的centos中無法訪問外網(wǎng)。

  (2)宿主機(jī)可以ping通,且可以使用SSH連接,但無法telnet虛擬機(jī)centos的端口。

  (3)centos 固定IP問題

  (4)防火墻設(shè)置問題

  經(jīng)過查閱相關(guān)資料及實踐,才把網(wǎng)絡(luò)問題解決,在此記錄一下。

  一、環(huán)境說明

  vmware workstation 10

  Linunx系統(tǒng):CentOS7,官網(wǎng)下載地址

  二、centos在vmware中的安裝

  CentOS7在vmware虛擬機(jī)中安裝流程不復(fù)雜,網(wǎng)上已有很多教程(可參考其中一篇(百度經(jīng)驗上的)),本文不重復(fù),簡要作以下說明及注意地方。

  使用典型安裝,安裝程序光盤映像文件

  按機(jī)器實際情況選擇CPU、磁盤大小,本機(jī)是i7,8g內(nèi)存,分配了2g,2核給CentOS7。

  重點: 網(wǎng)絡(luò)類型有三種可參考此文章,由于不想占用當(dāng)前已有的IP,選擇NAT,以宿主機(jī)為路由。

  安裝軟件類型可選擇最小安裝,也可選擇文件服務(wù)器、基本網(wǎng)頁服務(wù)器等。建議最小安裝,干凈。

  三、NAT網(wǎng)絡(luò)設(shè)置

  使用NAT網(wǎng)絡(luò)設(shè)置,不占用IP資源,設(shè)置方法可參考這篇文章,這里作主要幾個重要設(shè)置點說明:

  (1)設(shè)置虛擬機(jī)為NAT網(wǎng)絡(luò),右擊虛擬機(jī)->設(shè)置,如下圖:

  (2)查看VMnet8的網(wǎng)絡(luò)設(shè)置

  控制面板->網(wǎng)絡(luò)和 Internet->網(wǎng)絡(luò)連接,可見vmnet1和vmnet8兩個虛擬網(wǎng)卡,查看vmnet8,右擊->屬性,查看ipv4地址,可見vmware已自動分配了一個地址。如下:

  (3)共享網(wǎng)絡(luò)

  實際網(wǎng)卡->右擊->共享,如下

  (3)設(shè)置虛擬網(wǎng)絡(luò)編輯器,編輯->虛擬網(wǎng)絡(luò)編輯器,如下:

  此處的子網(wǎng)IP與vmnet8網(wǎng)段一致,vmnet8是192.168.31.1,則此處設(shè)置為192.168.31.0即可。掩碼與vmnet8一致。

  另外,“使用本地dhcp服務(wù)將IP地址分配給虛擬機(jī)”可以先勾選,后面固定IP的時候再取消。

  (4)NAT設(shè)置

  設(shè)置后,進(jìn)入虛擬機(jī),如無意外,是可以正常連接網(wǎng)絡(luò)了。

  (5)查看IP并測試

  使用ifconfig進(jìn)行測試,此處可查看到虛擬的IP,它的IP是dhcp自動分配的。

  [root@localhost sysconfig]# ifconfig

  在虛擬機(jī)ping宿主機(jī)IP,測試是否連通:

  [root@localhost sysconfig]# ping 192.168.31.1 ``

  在宿主機(jī)ping虛擬機(jī)IP,測試是否連通:

  [root@localhost sysconfig]# ping 192.168.31.128 “

  若能連通,即證明網(wǎng)絡(luò)設(shè)置完成,可以使用SSH連接虛擬機(jī)centos了。

  四、設(shè)置固定IP

  按上述方法,雖然可以連通,但由于是使用dhcp動態(tài)分配的,每次重啟后,可能會變化,因此最好把它設(shè)置為固定IP??梢詤⒖即宋?/p>

  以下幾點需要注意一下:

  VMware虛擬網(wǎng)絡(luò)編輯器中取消“使用本地DHCP服務(wù)將IP地址分配給虛擬機(jī)”的勾選。

  修改/etc/sysconfig/network-scripts/中ifcfg開頭的對應(yīng)的網(wǎng)卡配置。

  修改/etc/resolv.conf ,添加域名解析。

  (1)修改網(wǎng)卡配置說明

  注意當(dāng)前網(wǎng)卡的名稱,使用ifconfig可查看到,本機(jī)安裝后網(wǎng)卡名稱是:ifcfg-eno16777736;

  打開此文件,主要配置以下幾項(無則添加上去):

  ONBOOT=yes 設(shè)置為開機(jī)后啟動

  IPADDR=192.168.31.128 #此處設(shè)置固定的IP

  NETMASK=255.255.255.0 #此處設(shè)置掩碼

  GATEWAY=192.168.31.2 #此處設(shè)置網(wǎng)關(guān)IP

  BOOTPROTO=static #設(shè)置為靜態(tài)

  如下圖:

  (2)修改/etc/resolv.conf 實現(xiàn)域名解析

  未做此設(shè)置前,在虛擬機(jī)中ping外網(wǎng)域名,會報unknown host錯誤,如ping www.baidu.com,則報ping: unknown host www.baidu.com。

  在/etc/resolv.conf中添加以下設(shè)置:

  nameserver 192.168.31.2

  如下圖:

  這樣,虛擬機(jī)可以使用ping測試外網(wǎng)域名,正常。

  五、設(shè)置防火墻iptables

  CentOS7默認(rèn)的防火墻不是iptables,而是firewall,要使用iptables,需要先安裝。完整安裝過程網(wǎng)上已有很多教程,參考此篇,安裝完成后,即可使用iptables了。

  由于在虛擬機(jī)上安裝了mysql,并正常啟動mysql,但是發(fā)現(xiàn)在宿主機(jī)無法連接到mysql,但是ping虛擬機(jī)是連通的,可想而知一定是端口問題。嘗試在宿主機(jī)使用telnet 此端口,也是無法連接,可以ping能,端口卻無法telnet,兩種可能:

  (1)centos沒有開啟telnet;

  (2)防火墻沒有開啟3306端口。(主要是這個問題)

  下面逐一解決。

  5.1 centos安裝telnet

  (1)先檢查是否已經(jīng)安裝以下兩個安裝包:telnet-server、xinetd。命令如下:

  rpm -qa |grep telnet-server

  rpm -qa |grep xinetd

  如果沒有安裝,則先安裝。

  (2)查看可安裝的包及安裝

  yum list |grep telnet

  yum install telnet-server.x86_64

  yum install telnet.x86_64

  yum list |grep xinetd

  yum install xinetd.x86_64

  (3)加入開機(jī)啟動

  systemctl enable xinetd.service

  systemctl enable telnet.socket

  (4)開機(jī)啟動

  systemctl start telnet.socket

  systemctl start xinetd(或service xinetd start)

  telnet啟動后,在宿主機(jī)telnet,還是連接不上,繼續(xù)進(jìn)行iptables設(shè)置。

  5.2 防火墻iptables設(shè)置

  iptables文件路徑在/etc/sysconfig/iptables,centos默認(rèn)只開啟了22端口,因此,需要在文件中添加需要訪問的端口,如telnet端口23,數(shù)據(jù)庫端口3306等。

  如果不添加,連接數(shù)據(jù)庫時會報錯“Can't connect to MySQL server (10060)”。

  (1)添加端口規(guī)則。

  如下:

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

  -A INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT

  說明:

  [-AI 鏈]

  針對某的鏈進(jìn)行規(guī)則的 “插入” 或 “累加”

  -A :新增加一條規(guī)則,該規(guī)則增加在原本規(guī)則的最后面。

  -I :插入一條規(guī)則。如果沒有指定此規(guī)則的順序,默認(rèn)是插入變成第一條規(guī)則。

  例如原本有四條規(guī)則,使用 -I 則該規(guī)則變成第一條,而原本四條變成 2~5 號鏈 :有 INPUT, OUTPUT, FORWARD 等

  [-io 網(wǎng)絡(luò)接口]

  設(shè)定封包進(jìn)出的接口規(guī)范

  -i :封包所進(jìn)入的那個網(wǎng)絡(luò)接口,例如 eth0, lo 等接口。需與 INPUT 鏈配合;

  -o :封包所傳出的那個網(wǎng)絡(luò)接口,需與 OUTPUT 鏈配合;

  [-p tcp,udp]

  -p 協(xié)定:設(shè)定此規(guī)則適用于哪種封包格式

  主要的封包格式有: tcp, udp, icmp 及 all 。

  [ -m ]:一些 iptables 的外掛模塊,主要常見的有:

  state :狀態(tài)模塊

  mac :網(wǎng)絡(luò)卡硬件地址 (hardware address)

  [–state ]:一些封包的狀態(tài),主要有:

  INVALID :無效的封包,例如數(shù)據(jù)破損的封包狀態(tài)

  ESTABLISHED:已經(jīng)聯(lián)機(jī)成功的聯(lián)機(jī)狀態(tài);

  NEW :想要新建立聯(lián)機(jī)的封包狀態(tài);

  RELATED :這個最常用!表示這個封包是與我們主機(jī)發(fā)送出去的封包有關(guān)

  [-s 來源IP/網(wǎng)域]

  [–sport 端口范圍]

  –sport 端口范圍:限制來源的端口號碼,端口號碼可以是連續(xù)的,例如 1024:65535

  [–dport 端口范圍]

  –dport 端口范圍:限制目標(biāo)的端口號碼。

  [-j ]:后面接動作,主要的動作有接受(ACCEPT)、丟棄(DROP)、拒絕(REJECT)及記錄(LOG)

  如下圖所示:

  特別提醒: 添加的端口規(guī)則語句必須放在REJECT的規(guī)則之前,否則不起作用。即若把上面添加的兩句端口規(guī)則放在-A FORWARD -j REECT….規(guī)則后面,則端口是不開放的,在外面telnet不進(jìn)來。

  (2)重啟iptables

  service iptables restart

  重啟后,再次使用telnet 192.168.31.128 3306,正常。

  使用navicat連接數(shù)據(jù)庫,正常。

  六 總結(jié)

  (1)宿主機(jī)網(wǎng)絡(luò)正常,在虛擬機(jī)的centos中無法訪問外網(wǎng)。

  解決方法:使用NAT連接模式,正確設(shè)置網(wǎng)卡配置,域名解析配置。

  (2)宿主機(jī)可以ping通,且可以使用SSH連接,但無法telnet虛擬機(jī)centos的端口。

  解決方法:安裝telnet,添加防火墻端口規(guī)則。

  (3)centos 固定IP問題

  解決方法:設(shè)置ifcfg網(wǎng)卡文件,域名解析配置。

  (4)防火墻設(shè)置問題

  解決方法:安裝iptables,添加端口規(guī)則,注意放在REJECT規(guī)則之前。


看了“CentOS 7 在vmware中的網(wǎng)絡(luò)設(shè)置的介紹”還想看:

1.CentOS 7 網(wǎng)絡(luò)配置教程

2.CentOS 7 網(wǎng)絡(luò)配置詳解

3.CentOS7系統(tǒng)進(jìn)行IP和主機(jī)名的網(wǎng)絡(luò)配置的教程

4.Win7電腦如何設(shè)置VMware虛擬機(jī)上網(wǎng)

2851658