虚拟机VMware部署web服务器

VMware虚拟机有三种网络连接模式:为了部署web服务器,我们选择桥接模式,从而使得虚拟机获得和宿主机一样的网络地位。

Linux操作系统诞生于1991年10月5日。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。

网卡的编号存在规则,网卡的代号与网卡的来源有关。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
1、eno1:代表由主板bios内置的网卡。
2、ens1: 代表有主板bios内置的PCI-E网卡。
3、enp2s0: PCI-E独立网卡。
4、eth0:如果以上都不使用,则回到默认的网卡名。


Centos6及以下,默认的第一块网卡名为eth0。CentOS7默认的网卡名有变化,名称定为ens33。名字只是标识而已。其中ifcfg是对应网卡的配置文件。ens33为自动备援模式 。

CentOS7系统安装完毕之后,输入ifconfig命令发现没有eth0,这不符合我们的习惯。而且也无法远程ssh连接,
1.进入目录/etc/sysconfig/network-scripts/
2.将文件ifcfg-ens33重命名为ifcfg-eth0;($mv ifcfg-ens33 ifcfg-eth0)
3.编辑ifcfg-eth0。使用命令:vi ifcfg-eth0,将NAME=ens33改为NAME=eth0


如果vmware 虚拟机ip 为127.0.0.1 ,说明虚拟机网络配置错误。

直接修改网卡的信息

执行
vi  /etc/sysconfig/network-scripts/ifcfg-eth0
 将ONBOOT=no 改成 ONBOOT=yes

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes #你的这里应该是no 更改为yes即可 
NM_CONTROLLED=yes
BOOTPROTO=static     或是dhcp
IPADDR=192.168.33.12
GATEWAY=192.168.33.1
NETMASK=255.255.255.0
DNS1=223.5.5.5
DNS2=223.6.6.6

 

但是当执行ping命令的时候,ping www.baidu.com  提示name or service not known
说明dns没有解析到域名ip地址。如果ping 内网ip能ping通,也许是网关的问题,ping网关如果也能ping通,说明是dns的问题。

解决方法:
添加DNS服务器设置虚拟机的dns域名

vi /etc/resolv.conf  (这个文件可以查看dns地址,不用去设置,在ifcfg-eth0文件里设置后, service network restart也会生效,这里会自动统一)
分别是首选DNS服务器和备选DNS服务器。

nameserver 114.114.114.114
nameserver 114.114.114.115


vmware桥接模式下主机与虚拟机相互ping不通几种原因:
1、主机与虚拟机的IP没有配置在同一个网段。桥接模式下,虚拟机和主机具有同等地位,都连接到vmnet0虚拟交换机,两者的IP需要配置到相同的网段。一般,将虚拟主机的IP配置成与主机相同的网段的IP即可。

2、虚拟机ping不通主机,主机能够ping通虚拟机, 可能是主机开启了防火墙,禁止了Ping服务
 关闭主机的防火墙,即可。


两个网络之间的通信,则必须通过网关。

如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。网关的实质

网关实质上是一个网络通向其他网络的IP地址。

比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。

在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。
 

 检查是不是host设置的问题

1.打开/etc/hosts

 

如果能ping通内网ip,ping通外网,百度域名。还是不能访问虚拟机web服务,那么可能是CentOS防火墙的问题:

第一种:
先看下防火墙状态:firewall-cmd --state
关闭防火墙再试试:systemctl stop firewalld.service
第二种,不想关闭防火墙
放开http服务
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
重载
firewall-cmd --reload

你可能感兴趣的:(虚拟机VMware部署web服务器)