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