VirtualBox安装复制Centos6.6配置网络
由于要搭建mongodb的集群,先用虚拟机做下相关实验,以前都用VM Vare,但是现在这个电脑的配置不是太好,VM Vare比较耗资源,所以选择VirtualBox。
1.下载VirtualBox和centos6镜像
VirtualBox下载地址:https://www.virtualbox.org/wiki/Downloads
centos6.6下载地址:http://archive.kernel.org/centos-vault/6.6/isos/x86_64/
选择文件 CentOS-6.6-x86_64-minimal.iso ,这个是一个精简版的版本
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不同,但要属于同一网段,
然后重启网卡,发现网卡启动错误。
[root@localhost ~]# /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。
参考文章: