1. 程式人生 > >VirtualBox安裝複製Centos6.6配置網路

VirtualBox安裝複製Centos6.6配置網路

  由於要搭建mongodb的叢集,先用虛擬機器做下相關實驗,以前都用VM Vare,但是現在這個電腦的配置不是太好,VM Vare比較耗資源,所以選擇VirtualBox。

 1.下載VirtualBox和centos6映象

 2.新建Linux虛擬機器

①選擇新建虛擬機器,centos是屬於RedHat系列,所以版本選擇Red Hat 64位。接下來就是點選下一步下一步。

    

    ②新建虛擬機器完成之後,啟動虛擬機器,選擇下載的檔案,啟動,然後就是根據提示安裝系統,設定root賬號密碼,這裡不詳細說了。

    右下角的 CTRL ALT是退出獨佔鍵盤的快捷鍵。

    

   3.網絡卡共享和VirtualBox網路配置

 虛擬機器裝完後是不能上網的。虛擬機器的網路配置可以用橋接或者NAT,在VMWare中是這樣,VirtualBox中還不一樣。

     我們這裡選擇NAT模式,橋接的話網路環境變化,導致ip變化,以後要不斷修改ip,所以選擇NAT。

     整體配網路的思路:

      ①.先看下現在的網絡卡數量,有一塊VirtualBox虛擬出來的網絡卡。虛擬機器通過這張網絡卡與外部進行聯絡,

       這個網絡卡是相當於虛擬機器的閘道器。   

    

    ②.目前我上網的網絡卡是無限網路連線4,要把這張網絡卡共享給VirtualBox虛擬出來的網絡卡,

     這樣虛擬機器才能訪問公網。

    ③配置虛擬機器的網路,連線方式選擇如下所示。這種網路方式其實還是NAT,只不過是VirtualBox分的更細些。

     

      ④之後,檢視下這張網絡卡的ip ,用cmd也可以,用VirtualBox中 【管理】--【主機網路管理器】也可以查。

     我這裡是 :192.168.137.1

    

   4.修改Centos配置檔案進行網路配置

    ①虛擬機器剛裝好是不能上網的,這時用ifconfig命令檢視,只有127.0.0.1 。

     需要進行centos網路配置,ip要設定成靜態的,防止ip不斷變化。

     vi /etc/sysconfig/network-scripts/ifcfg-eth0

     

DEVICE=eth0 #設定裝置的名稱,這個要跟檔名稱對應!
TYPE=Ethernet #表示是乙太網
ONBOOT=yes #是否在開機的的時候啟動網路卡
BOOTPROTO=static #啟動的時候的 IP 取得的協定,static是固定的,           如果是 Cable 的話,這裡要改成 dhcp 才行。
IP6INIT=no #不啟用IP6
IPADDR= #固定IP地址
NETMASK= #子網掩碼
GATEWAY= #閘道器,這裡就是虛擬機器虛擬出來的那個網絡卡的ip
DNS1= #首選DNS,與主機DNS相同(未配,配到了/etc/resolv.conf)

    ②DNS配到/etc/sysconfig/network-scripts/ifcfg-eth0也行,配到/etc/resolv.conf檔案也可以,我選擇配到            /etc/resolv.conf檔案。這兩個一個是谷歌的,一個是百度的。

    

    ③配置完成之後,重啟網路服務 service network restart,之後就能ping通外網了。

     最重要的是,可以用crt或xshell連線機器了,這樣就方便很多了。

   5.複製虛擬機器

裝好了一臺centos之後,想要再來一臺,可以選擇克隆複製,再VMWare中直接克隆一下,然後啟動就可以了。

     但是在VirtualBox中卻有點麻煩。

      按下面步驟進行復制:

    • 將虛擬機器關機或休眠,右擊選擇複製
    • 填寫好新的電腦名稱,勾選"重新初始化所有網絡卡MAC地址(R)"
    • 預設"完全複製"
    • 預設"當前虛擬電腦狀態(M)"

        之後啟動虛擬機器,修改/etc/sysconfig/network-scripts/ifcfg-eth0 ,將IP改成192.168.137.13,與原來的虛擬機器的IP不同,但要屬於同一網段,

  然後重啟網絡卡,發現網絡卡啟動錯誤。

[[email protected] ~]# /etc/init.d/network restart
Shutting down loopback insterface:                                                                               [  OK  ]
Bringing up loopback insterface:                                                                                 [  OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present,delaying initialization.                    [FAILED]

    這個意思是MAC地址衝突報錯,要修改複製虛擬機器的MAC地址,保證/etc/sysconfig/network-scripts/ifcfg-eth0 與/etc/udev/rules.d/70-persistent-net.rules的資訊一致即可,即網絡卡地址與網絡卡編號一致。

    解決方案

    • a.刪除/etc/udev/rules.d/70-persistent-net.rules中eth0整行,修改eth1為eth0
    • b.執行start_udev
    • c.註釋/etc/sysconfig/network-scripts/ifcfg-eth0檔案HWADDR資訊
    • d.重啟network服務

   6.新加使用者並禁止Root使用者遠端登入

         先增加一個普通使用者mongo,為其設定密碼。 

useradd mongo

passwd mongo

        並將其新增到sudo列表中

vi /etc/sudoers
    找到這行 root ALL=(ALL) ALL,在他下面新增mongo ALL=(ALL) ALL (這裡的mongo 是你的使用者名稱)

   生產中不允許Root使用者遠端登入,這裡也配置一下。

#vi /etc/ssh/sshd_config

把PermitRootLogin yes改為PermitRootLogin no

重啟sshd服務

#service sshd restart

   通過如上配置,便可以在crt上登入虛擬機器,用mongo使用者登入,root賬號此時已經無法遠端登入,mongo提權執行可以用sudo。

參考文章: