CentOS 7 在vmware中的网络设置详细介绍

CentOS 7 在vmware中的网络设置

前言:由于工作中需要使用Linux,在虚拟机中装了CentOS7,以作实验之用,安装后使用过程中出现不少问题,主要是网络问题,安装后出现下列几种状况:
(1)宿主机网络正常,在虚拟机的centos中无法访问外网。
(2)宿主机可以ping通,且可以使用SSH连接,但无法telnet虚拟机centos的端口。
(3)centos 固定IP问题
(4)防火墙设置问题
经过查阅相关资料及实践,才把网络问题解决,在此记录一下。

一、环境说明

vmware workstation 10

Linunx系统:CentOS7,官网下载地址

二、centos在vmware中的安装

CentOS7在vmware虚拟机中安装流程不复杂,网上已有很多教程(可参考其中一篇(百度经验上的)),本文不重复,简要作以下说明及注意地方。

使用典型安装,安装程序光盘映像文件

按机器实际情况选择CPU、磁盘大小,本机是i7,8g内存,分配了2g,2核给CentOS7。

重点: 网络类型有三种可参考此文章,由于不想占用当前已有的IP,选择NAT,以宿主机为路由。

安装软件类型可选择最小安装,也可选择文件服务器、基本网页服务器等。建议最小安装,干净。

三、NAT网络设置

使用NAT网络设置,不占用IP资源,设置方法可参考这篇文章,这里作主要几个重要设置点说明:
(1)设置虚拟机为NAT网络,右击虚拟机->设置,如下图:

(2)查看VMnet8的网络设置
控制面板->网络和 Internet->网络连接,可见vmnet1和vmnet8两个虚拟网卡,查看vmnet8,右击->属性,查看ipv4地址,可见vmware已自动分配了一个地址。如下:

(3)共享网络
实际网卡->右击->共享,如下

(3)设置虚拟网络编辑器,编辑->虚拟网络编辑器,如下:
此处的子网IP与vmnet8网段一致,vmnet8是192.168.31.1,则此处设置为192.168.31.0即可。掩码与vmnet8一致。
另外,“使用本地dhcp服务将IP地址分配给虚拟机”可以先勾选,后面固定IP的时候再取消。

(4)NAT设置

设置后,进入虚拟机,如无意外,是可以正常连接网络了。
(5)查看IP并测试
使用ifconfig进行测试,此处可查看到虚拟的IP,它的IP是dhcp自动分配的。
[root@localhost sysconfig]# ifconfig

在虚拟机ping宿主机IP,测试是否连通:
[root@localhost sysconfig]# ping 192.168.31.1 ``
在宿主机ping虚拟机IP,测试是否连通:
[root@localhost sysconfig]# ping 192.168.31.128 “
若能连通,即证明网络设置完成,可以使用SSH连接虚拟机centos了。

四、设置固定IP

按上述方法,虽然可以连通,但由于是使用dhcp动态分配的,每次重启后,可能会变化,因此最好把它设置为固定IP。可以参考此文
以下几点需要注意一下:

  1. VMware虚拟网络编辑器中取消“使用本地DHCP服务将IP地址分配给虚拟机”的勾选。
  2. 修改/etc/sysconfig/network-scripts/中ifcfg开头的对应的网卡配置。
  3. 修改/etc/resolv.conf ,添加域名解析。

(1)修改网卡配置说明

注意当前网卡的名称,使用ifconfig可查看到,本机安装后网卡名称是:ifcfg-eno16777736;
打开此文件,主要配置以下几项(无则添加上去):

ONBOOT=yes 设置为开机后启动
IPADDR=192.168.31.128 #此处设置固定的IP
NETMASK=255.255.255.0 #此处设置掩码
GATEWAY=192.168.31.2 #此处设置网关IP
BOOTPROTO=static
#设置为静态
如下图:

(2)修改/etc/resolv.conf 实现域名解析

未做此设置前,在虚拟机中ping外网域名,会报unknown host错误,如ping www.baidu.com,则报ping: unknown host www.baidu.com。
在/etc/resolv.conf中添加以下设置:
nameserver 192.168.31.2
如下图:

这样,虚拟机可以使用ping测试外网域名,正常。

五、设置防火墙iptables

CentOS7默认的防火墙不是iptables,而是firewall,要使用iptables,需要先安装。完整安装过程网上已有很多教程,参考此篇,安装完成后,即可使用iptables了。

由于在虚拟机上安装了mysql,并正常启动mysql,但是发现在宿主机无法连接到mysql,但是ping虚拟机是连通的,可想而知一定是端口问题。尝试在宿主机使用telnet 此端口,也是无法连接,可以ping能,端口却无法telnet,两种可能:
(1)centos没有开启telnet;
(2)防火墙没有开启3306端口。(主要是这个问题)
下面逐一解决。

5.1 centos安装telnet

(1)先检查是否已经安装以下两个安装包:telnet-server、xinetd。命令如下:
rpm -qa |grep telnet-server
rpm -qa |grep xinetd

如果没有安装,则先安装。
(2)查看可安装的包及安装
yum list |grep telnet
yum install telnet-server.x86_64
yum install telnet.x86_64
yum list |grep xinetd
yum install xinetd.x86_64

(3)加入开机启动
systemctl enable xinetd.service
systemctl enable telnet.socket

(4)开机启动
systemctl start telnet.socket
systemctl start xinetd(或service xinetd start)

telnet启动后,在宿主机telnet,还是连接不上,继续进行iptables设置。

5.2 防火墙iptables设置

iptables文件路径在/etc/sysconfig/iptables,centos默认只开启了22端口,因此,需要在文件中添加需要访问的端口,如telnet端口23,数据库端口3306等。
如果不添加,连接数据库时会报错“Can't connect to MySQL server (10060)”。
(1)添加端口规则。
如下:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT

说明:
[-AI 链]
针对某的链进行规则的 “插入” 或 “累加”
-A :新增加一条规则,该规则增加在原本规则的最后面。
-I :插入一条规则。如果没有指定此规则的顺序,默认是插入变成第一条规则。
例如原本有四条规则,使用 -I 则该规则变成第一条,而原本四条变成 2~5 号链 :有 INPUT, OUTPUT, FORWARD 等
[-io 网络接口]
设定封包进出的接口规范
-i :封包所进入的那个网络接口,例如 eth0, lo 等接口。需与 INPUT 链配合;
-o :封包所传出的那个网络接口,需与 OUTPUT 链配合;
[-p tcp,udp]
-p 协定:设定此规则适用于哪种封包格式
主要的封包格式有: tcp, udp, icmp 及 all 。
[ -m ]:一些 iptables 的外挂模块,主要常见的有:
state :状态模块
mac :网络卡硬件地址 (hardware address)
[–state ]:一些封包的状态,主要有:
INVALID :无效的封包,例如数据破损的封包状态
ESTABLISHED:已经联机成功的联机状态;
NEW :想要新建立联机的封包状态;
RELATED :这个最常用!表示这个封包是与我们主机发送出去的封包有关
[-s 来源IP/网域]
[–sport 端口范围]
–sport 端口范围:限制来源的端口号码,端口号码可以是连续的,例如 1024:65535
[–dport 端口范围]
–dport 端口范围:限制目标的端口号码。
[-j ]:后面接动作,主要的动作有接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)及记录(LOG)

如下图所示:

特别提醒: 添加的端口规则语句必须放在REJECT的规则之前,否则不起作用。即若把上面添加的两句端口规则放在-A FORWARD -j REECT….规则后面,则端口是不开放的,在外面telnet不进来。

(2)重启iptables
service iptables restart
重启后,再次使用telnet 192.168.31.128 3306,正常。
使用navicat连接数据库,正常。

六 总结

(1)宿主机网络正常,在虚拟机的centos中无法访问外网。
解决方法:使用NAT连接模式,正确设置网卡配置,域名解析配置。
(2)宿主机可以ping通,且可以使用SSH连接,但无法telnet虚拟机centos的端口。
解决方法:安装telnet,添加防火墙端口规则。
(3)centos 固定IP问题
解决方法:设置ifcfg网卡文件,域名解析配置。
(4)防火墙设置问题
解决方法:安装iptables,添加端口规则,注意放在REJECT规则之前。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • virtualbox虚拟机上安装centOS的网络配置详解

    最近接触hadoop,需要在在Linux上面开发,所以我装了一个virtualbox虚拟机,在该虚拟机上面安装了一个centOS系统.linux系统是装好了,但是网络配置却另人头疼.我主要是想让宿主机和虚拟机能够互相访问. 然后我就百度了一下,根据百度的结果一步一步的配置. 安装virtualbox之后它会在宿主机上面安装一个虚拟网卡,如图 双击它,查看详情,信息如图所示 在虚拟机上面配置网络我使用的是host-only方式,当然也可以使用桥接的方式,至于他们的区别,网上很多.虚拟机上面主要是使

  • 虚拟机VirtualBox中centos6.5网络设置图文详解

    最近一些日子在学习有关于虚拟机VirtualBox,现在分享给大家参考一下. 一.虚拟机网络配置 默认只是设置了网卡1:方式NAT(对应ifcfg-eth0) 我们还可以设置网卡2,网卡3.可以在系统安装完成后设置. 网卡2设置回环网卡,实现虚拟机与宿主机组成局域网(对应ifcfg-eth1),这样即使没有路由器也可以组成局域网,可以进行ssh连接. 需要宿主机安装MicrosoftLoopbackAdapter.参加附录. 网卡3设置连接到互联网,并与宿主机组成局域网(对应ifcfg-eth2

  • 详解Centos7 下建立 Docker 桥接网络

    前言 最近职业规划开始有了转变,在创业团队中一个人的角色不可能只有一个,说说我现在担任过的角色:配置管理,项目经理,售前技术支持,售后技术支持,测试,少许开发工作,产品策划:除了市场营销,其他杂七杂八的都干过了.最后我发现我最适合的职位也许是devops,这个岗位的工作内容请大家自行百度. 回正题,去年开始关注docker,直到今年看了坛子里的大神们对docker调研实践后,我决定也开始实践.就从改造公司研发和运维环境开始,这次的帖子主要是将自己构建docker桥接物理网络的过程讲述一遍,本来网

  • Vmware+Centos7搭建Openstack环境(网络配置)

    Vmware12+Centos7搭建Openstack环境-网络配置 一.虚拟机配置 根据OpenStack官方的教程,节点的环境中比较重要的就是网络的配置,首先先在虚拟机中进行设置,选择编辑中的虚拟网络编辑器 按照官方给的配置需求 主要配置两个网卡接口 interface1 网关10.0.0.1 nat模式 interface2 选择虚拟网络编辑器中的VMnet8,nat设置如下 这里网关没有选择10.0.0.2,原因是之前查资料查到在虚拟机中,10.0.0.1的地址被当前主机使用,所以网关应

  • VMware虚拟机CentOS系统网络设置

    1 VMware网卡 VMware默认情况下会安装三个网卡,如下图示(点击最上方编辑-->虚拟网络编辑器). VMnet0:"桥接网络" VMnet1:"仅主机虚拟网络" VMnet8:"NAT网络" 其中VMnet0为主机物理网卡,其余为虚拟网卡.而实际上VMware共支持支持VMnet0-VMnet9共10块(虚拟)网卡,对于每一块虚拟网卡来说,同一时刻只能选择以上任一种网络属性,其中可以有多块虚拟网卡具有"仅主机网络&quo

  • 详解虚拟机中CentOS 7 网络和ssh的配置

    一.centos7 的网络配置: 1.修改主机名: echo "hostname tshare365.localdomain" >>/etc/sysconfig/network 然后: reboot 即可生效! 2.查看MAC地址: ip addr 3.修改网络配置: (1)找到需要的网络配置参数: 打开虚拟机网络设置,具体步骤如下: 出现如下界面: 从上面的步骤我们得到了如下信息: IP地址:192.168.222.128到192.168.222.254之间的一个,例如1

  • VirtualBox下Centos6.8网络配置教程

    win10环境下,VirtualBox和Centos6.8已经按照完毕,下面配置Centos6.8网络. 1.设置VirtualBox为桥接模式,具体的有三种联网方法,我们参考http://www.cnblogs.com/jasmine-Jobs/p/5928218.html 2.桥接模式使得宿主机和虚拟机在同一个网段内工作,ipconfig查看宿主机的ip,子网掩码,网关,我的宿主机连接的是无线网. 3.ifconfig 查看虚拟的的IP地址 4.修改网络配置 把ip地址设置为静态地址,子网掩

  • vmware中CentOS7网络设置教程详解

    为了能够使用XShell来管理我们安装好的CentOS7系统,所以我们要先设置CentOS7的网络使其能够联网. 1.选择vmware的编辑,然后点击虚拟网络编辑器 2.点击更改设置(需要有管理员权限) 3.选择VMnet0为桥接模式,选择自动或者网卡 4.打开"网络和共享中心"选择"VMware Virtual Ethernet Adapter for VMnet8"网卡,右键选择属性,勾选VMware Bridge Protocol,同时设置ip为自动获取 5.

  • CentOS 7 网络配置详解

    今天在一台PC上安装了CentOS 7,当时选择了最小安装模式,安装完成后马上用ifconfig查看本机的ip地址(局域网已经有DHCP),发现报错,提示ifconfig命令没找到. [root@centos1 ~]# ifconfig -bash: ifconfig: command not found 首先,习惯性的输入echo $PATH(查看当前PATH环境变量,跟DOS的path命令一样的功能,注意Linux系统中的命令是区分大小写的),显示结果如下: [root@centos1 ~]

  • Centos7 网络配置详细介绍

    Centos7 网路配置详细介绍 1.查看当前网卡信息 [root@localhost ~]# nmcli connection show NAME UUID TYPE DEVICE enp0s3 5d58d8cc-8caf-458b-a672-ed0cdf58292e 802-3-ethernet --- CentOS7中对网上的命名规则有所变更,具体规则如下: eno1 :代表由主板 BIOS 內建的网卡 ens1 :代表由主板 BIOS 內建的 PCI-E 界面的网卡 enp2s0 :代表

随机推荐