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。
參考文章: