VirtualBox安装RHEL6.5/CentOS7.0

697 查看

http://wildcat.name/network-configuration-and-enabling-ssh-after-insta...

1. 安装启动虚拟机

1) 新建虚拟机,名字随便起,选择Linux>RedHat-64bit, 默认内存512M,硬盘大小8GB
针对主机有12G的内存,500G的硬盘, 建议虚拟机内存4G, 硬盘大小50G
2) 创建完虚拟机后,会在左侧菜单树上看到新创建的虚拟机
3) 选择"存储"→"控制器:IDE",添加一个虚拟光驱,选择主机上的rhel.iso文件
4) 选中虚拟机,点击设置,选择"网络"。默认网卡1:NAT是选中的,不用动。

5) 启动虚拟机,安装RHEL6.5, 不用配置网络,选择最小化安装。设置root密码为: hadoop

2. 虚拟机访问外网

1) rhel-6.5第一次启动时使用ifconfig只有127.0.0.1这个IP.

2) 修改启动时启用dhcp服务

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:38:99:81
TYPE=Ethernet
UUID=6e8c0a05-0e17-4175-8f64-9acbce802fb3
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

3) service network restart
4) ifconfig

eth0      Link encap:Ethernet  HWaddr 08:00:27:38:99:81
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe38:9981/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:812 (812.0 b)  TX bytes:1021 (1021.0 b)

5) 验证虚拟机可以直接访问外网

[root@h101 ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125: icmp_seq=1 ttl=63 time=59.2 ms
64 bytes from 61.135.169.125: icmp_seq=2 ttl=63 time=53.4 ms
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2477ms
rtt min/avg/max/mdev = 53.192/55.295/59.274/2.821 ms

6) 注意这个时候,主机还不能访问虚拟机的10.0.2.15

shutdown -h now

3. 主机虚拟机访问

为了让主机能够访问虚拟机, 要给虚拟机添加一个全局设定的vboxnet0, 并且采用Host-only连接方式:
1) 打开VirtualBox,选择"管理"→"全局设定"→"网络"→"添加Host-only网络",
2) 创建一个新的Host-only网络,名字默认为vboxnet0,点击"确定"。
3) 默认情况下,vboxnet0的IP地址为192.168.56.1,IP子网掩码为255.255.255.0。
4) 默认DHCP服务器为禁用

5) 验证方式: 在主机执行ifconfig出现如下虚拟网卡,如果没有出现上述的inet地址, 而只出现了inet6地址. 再保存一次,并再次验证.
vboxnet0 inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0

6) 设置虚拟机的第二块网卡
网卡2:勾选上启用网络连接, 连接方式选择Host-only Adapter,界面名称:vboxnet0(默认),混杂模式:全部允许

7) 现在该虚拟机有2块网卡。 NAT用于上网,Host-Only用于主机虚拟机通信.

8) 虚拟机设置静态IP

cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-eth1
vi ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
UUID=6e8c0a05-0e17-4175-8f64-9acbce802fb3
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.56.101
NETMASK=255.255.255.0

注意: ① 这里去掉了ifcfg-eth0的HWADDR.
② 不需要添加GATEWAY=192.168.56.1, DNS=192.168.56.1!
service network restart

9) 验证虚拟机既可以连接外网

[root@h101 ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125: icmp_seq=1 ttl=63 time=59.2 ms
64 bytes from 61.135.169.125: icmp_seq=2 ttl=63 time=53.4 ms
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2477ms
rtt min/avg/max/mdev = 53.192/55.295/59.274/2.821 ms```

10) 验证虚拟机可以ping通主机

[root@h101 ~]# ping 192.168.56.1
PING 192.168.56.1 (192.168.56.1) 56(84) bytes of data.
64 bytes from 192.168.56.1: icmp_seq=1 ttl=64 time=0.193 ms
64 bytes from 192.168.56.1: icmp_seq=2 ttl=64 time=0.368 ms
--- 192.168.56.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2064ms
rtt min/avg/max/mdev = 0.193/0.313/0.380/0.087 ms

11) 验证主机能ping通虚拟机
12) 主机ssh登陆到虚拟机中操作

4. 虚拟机和主机的交互图解

虚拟机和主机互相ping, 以及虚拟机上网

1) 在虚拟机中ping www.baidu.com(前提是你的主机也能上网). 这是采用NAT方式, 让虚拟机能上网的.
2) 在虚拟机中ping 192.168.56.1即主机. 这是采用Host-Only方式通信的
3) 然后在主机中ping 102.168.56.100即虚拟机的eth1/enpOs8的IP地址.

在虚拟机中查看是否开启了sshd服务

在主机中通过ssh连接虚拟机

ssh root@192.168.56.100  

这样就可以不用登陆到虚拟机中, 直接在主机中远程连接虚拟机.
如果有多个客户端同时连接到虚拟机(比如再开一个命令行窗口连接)
则可以看到虚拟机有一个sshd服务, 但是有多个连接. 比如下面表示有2个客户端通过ssh连接进来

5. RHEL7.0

1) 配置网络的时候, 默认enpOs3, enpOs8在右侧的按钮都是关闭状态. 点击打开(如果不打开,则不会生成ifcfg-enpOs文件).
2) enpOs3打开后, 会默认给出下列选项

    IP Address: 10.0.2.15
    Subnet mask: 255.255.255.0
    Default Route: 10.0.2.2
    DNS: 223.5.5.5 223.6.6.6 42.120.21.30
    对这个选项在右下角点击configure, 可以看到默认采用dhcp的方式. 不要去动.

3) enpOs8打开后, 默认也是dhcp,但是不会像上面一样给出IP地址等. 点击configure, 选择Manual

    添加一个IP地址: 192.168.56.100 (3~254随便一个数字都可以), 
    子网掩码: 255.255.255.0  网关: 192.168.56.1  DNS: 192.168.56.1

注意: enpOs8的网关就是我们前面设置的vboxnet0的IP地址. DNS也要一样. IP地址必须和vboxnet0在同一个网段内.

# ifconfig
-bash : ifconfig : command not found

RHEL-7.0没有ifconfig, 还好/sbin下有pifconfig可以暂时使用
启动之后会发现enpOs3正常显示出IP地址. 但是enpOs8没有显示IP地址.

# vi /etc/sysconfig/network-scripts/ifcfg-enpOs3 
BOOTPROTO="dhcp"
..
NAME="enpOs3"
ONBOOT="yes"

可以看到dhcp使用的NAT网络连接方式开机自动启动.

# vi /etc/sysconfig/network-scripts/ifcfg-enpOs8
BOOTPROTO=none
ONBOOT=NO
IPADDR0=192.168.56.100
GATEWAY0=192.168.56.1
DNS1=192.168.56.1
...

上面的配置表示开机时并没有加载ifcfg-enpOs8,也就是Host-only网络连接.
并且缺少了NETMASK=255.255.255.0
修改BOOTPROTO=static, ONBOOT=yes, 并添加NETMASK=255.255.255.0

重启网络: service network restart
再次pifconfig就可以看到enpOs8正常地显示出IP地址了.

这里简要对比下redhat和ubuntu一些命令以及文件位置的区别:

6. 查看系统版本

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.5 (Santiago) 
# uname -a 
Linux h101 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux 

7. 修改IP地址

# cd /etc/sysconfig/network-scripts 
# cat ifcfg-eth0 
DEVICE=eth0
HWADDR=08:00:27:38:99:81
TYPE=Ethernet
UUID=6e8c0a05-0e17-4175-8f64-9acbce802fb3
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
# cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
UUID=6e8c0a05-0e17-4175-8f64-9acbce802fb3
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.56.101
NETMASK=255.255.255.0

8. 查看IP地址

# ifcfg 
eth0   Link encap:Ethernet  HWaddr 08:00:27:38:99:81  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0 
eth1   Link encap:Ethernet  HWaddr 08:00:27:00:5D:BD  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0 
对于RHEL/CentOS-7.0版本没有了ifconfig的解决办法 
# yum install net-tools 

9. 禁用和启用IPV6

# vim /etc/sysctl.conf 
net.ipv6.conf.all.disable_ipv6=1 
net.ipv6.conf.default.disable_ipv6=1 
net.ipv6.conf.lo.disable_ipv6=1 
# sysctl -p 
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6 
1 
# chkconfig ip6tables off  
启用时只要把/etc/sysctl.conf的三个配置项注释掉,并sudo vi /proc/sys/net/ipv6/conf/all/disable_ipv6修改成0,然后重启系统!

10. 防火墙

# vi /etc/sysconfig/iptables 

(开机)关闭防火墙

# service iptables stop 
# chkconfig iptables off 

查看防火墙

# service iptables status 
iptables: Firewall is not running. 

关闭selinux

# setenforce 0 
# getenforce 
Disabled 

# vi /etc/selinux/config 
SELINUX=disabled 
#SELINUXTYPE=targeted 

11. 修改主机名

# vi /etc/sysconfig/network      
NETWORKING=yes 
HOSTNAME=h101 
# hostname h101 
# hostname 
h101 

修改host文件

# vi /etc/hosts      
127.0.0.1        h101 
192.168.56.101  h101 

12. 虚拟机复制

http://cnzhx.net/blog/copy-centos-and-reset-network-in-vm/

vi /etc/udev/rules.d/70-persistent-net.rules

删除前面两行, 将后面两行的eth2, eth3修改为eth1, eth0

网络设置 网卡 ethX ifcfg
NAT方式 网卡1: 0800270fa9f4 eth0对应网卡1: 08:00:27:0f:a9:f4 DHCP
Host-Only 网卡2: 080027f3e166 eth1对应网卡2: 08:00:27:f3:e1:66 静态IP

修改成

[root@hdp21 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:0f:a9:f4
TYPE=Ethernet
UUID=9e11c15d-b2fe-4f33-9687-6ac3fe696f7e
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

ifcfg-eth1不需要更改, 因为ifcfg-eth1没有设置HWADDR选项.

[root@hdp21 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
UUID=9e11c15d-b2fe-4f33-9687-6ac3fe696f7e
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.56.21
NETMASK=255.255.255.0

然后重启. 注意service network restart没有效果.
重启后, 就可以不用登陆虚拟机了, 可以使用终端连接虚拟机了.
在这之前不行是因为在虚拟机中ifconfig只有127.0.0.1. 没有eth1.

验证

[root@hdp21 ~]# ping 192.168.56.1
PING 192.168.56.1 (192.168.56.1) 56(84) bytes of data.
64 bytes from 192.168.56.1: icmp_seq=1 ttl=64 time=0.125 ms
64 bytes from 192.168.56.1: icmp_seq=2 ttl=64 time=0.112 ms
^C
--- 192.168.56.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1353ms
rtt min/avg/max/mdev = 0.112/0.118/0.125/0.012 ms
[root@hdp21 ~]# ping www.baidu.com
PING www.baidu.com (115.239.210.27) 56(84) bytes of data.
64 bytes from 115.239.210.27: icmp_seq=1 ttl=63 time=22.0 ms
64 bytes from 115.239.210.27: icmp_seq=2 ttl=63 time=22.1 ms
64 bytes from 115.239.210.27: icmp_seq=3 ttl=63 time=23.0 ms
^C
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2254ms
rtt min/avg/max/mdev = 22.031/22.392/23.042/0.460 ms

下一步就是修改ip地址, 以及在/etc/hosts中加入主机名和ip地址的映射关系,修改hostname

[root@hdp21 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hdp23
[root@hdp21 ~]# hostname hdp23
[root@hdp21 ~]# hostname
hdp23
[root@hdp21 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
UUID=9e11c15d-b2fe-4f33-9687-6ac3fe696f7e
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.56.23
NETMASK=255.255.255.0
[root@hdp21 ~]# cat /etc/hosts
192.168.56.21 hdp21
192.168.56.22 hdp22
192.168.56.23 hdp23