centos7.6配置网络并固定ip地址

目标

想要达成的效果
主机和虚拟机之间,可以互相ping通,若主机可以上网,则虚拟机亦可以正常连接网络。
注:与当前主机处于同一个局域网的其他主机是不能访问当前主机上的虚拟机的。

想要将虚拟机分配到网段192.168.5.0-192.168.5.255
那么虚拟机IP的地址范围则为192.168.5.2-192.168.5.254

  • 192.168.5.0是该子网网段的ip地址(网络的ip地址)
  • 192.168.5.1是该子网网段的网关
  • 192.168.5.255是该子网的广播地址

所以可用ip范围为192.168.5.2-192.168.5.254

引用百度百科的一句话:

无论什么类别的IP,是不是最后一位都不能是0或者是255?

IP地址的首位是网段地址,最后一位是广播地址。
也就是如果是C类地址并且子网掩码是255.255.255.0的时候,0和255就分别是网段地址和广播地址了。

但是不能以偏概全,以点概面,还存在下列可能:
  C类IP地址,IP地址192.168.0.0当子网掩码是255.255.0.0时,可使用的IP地址是192.168.0.1-192.168.255.254,192.168.0.0是网段地址,192.168.255.255是广播地址。在192.168.0.1-192.168.255.254之间,还存在许多192.168.0.255、192.168.1.0、192.168.1.255……192.168.254.0、192.168.254.255等等一系列可用IP地址。
  C类IP地址,IP地址192.168.0.0,子网掩码255.255.255.224,这种情况下可使用的IP地址是192.168.0.1-192.168.0.30,192.168.0.0是网段地址,192.168.0.31是广播地址。
  正确的说法是:根据IP地址和子网掩码进行计算,IP地址所在网段的首位和末尾分别是网段地址和广播地址,不能使用。

需要做的事情

  • 配置宿主机WMnet8号虚拟网卡的ip地址
  • 配置子网网段的ip地址范围
  • 配置子网网段的网关
  • 配置子网下虚拟机的ip

1 前置条件

  • 虚拟机软件VMware
  • 准备好iso镜像文件

CentOS-7-x86_64-Minimal-2009.ios
iso下载地址:http://mirrors.sohu.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso

2 虚拟机三种网络连接模式

1.仅主机模式:虚拟机只能访问物理机,不能上网。

这是最简单的模式,相当于拿一根网线直接连接虚拟机和物理机。

2.NAT模式:虚拟机可以访问物理机,同时也能通过物理机访问外网

这种模式下,物理机充当“路由器”的角色,虚拟机想要上网必须通过物理机,如果物理机不能上网,那么虚拟机也不能上网了。
这种模式的好处是可以固定虚拟机ip,不怕宿主机更换网络环境

3.桥接模式:虚拟机和物理机连接同一网络,虚拟机和物理机是并列的关系,地位是相当的,但是网络环境改变时,虚拟机的IP也随之改变。

3 NAT的原理

如下图所示,图片来自与知乎:https://zhuanlan.zhihu.com/p/130984945
虚拟机的IP都是由虚拟交换机决定的,由虚拟NAT负责连接外网,而虚拟网卡VMware Network Adapter Vmnet8只是负责主机与虚拟机之间的通信。
centos7.6配置网络并固定ip地址_第1张图片

4 通过VMware生成VMnet8虚拟网卡

在VMware中添加一个新的虚拟网络,适配器选择VMnet8或者其他号码:

1、VMware->编辑->虚拟网络编辑器->添加网络->选择VMnet8->确定

完成之后宿主机便会多出来一个VMnet8的虚拟网卡,但是这个网卡并不是我们需要的,因为这是仅主机模式下生成的网卡。
centos7.6配置网络并固定ip地址_第2张图片

2、这时候的类型是仅主机,这明显不是我们想要的,在下面勾选NAT模式,点击确定,此时宿主机会生成一个VMnet8的网卡。但是看到其子网的网段是131,明显不是我们想要的,接下来就要编辑子网的ip
centos7.6配置网络并固定ip地址_第3张图片

5 配置虚拟子网的网络(子网的ip、网关、网段范围)

原理

原理可以看上面的原理图:

  • 就是通过宿主机的VMnet8虚拟网卡来生成一个子网
  • 子网可以通过VMnet8虚拟网卡与宿主机通信
  • 子网通过DHCP访问外网

操作步骤

通过NAT模式连接VMnet8网卡虚拟出来一个子网

1、打开 VMware->编辑->虚拟网络编辑器,并且开启管理员权限

2、点击VMnet8

  • 选择NAT模式
  • 勾选“将主机虚拟适配器连接到此网络”
  • 勾选“使用本地DHCP服务将IP地址分配给虚拟机”
  • 配置子网ip为192.168.5.0
  • 配置子网掩码为255.255.255.0

如下图所示:
centos7.6配置网络并固定ip地址_第4张图片

3、点击NAT设置,将网关ip设置为192.168.5.1

centos7.6配置网络并固定ip地址_第5张图片

4、点击DHCP(动态主机配置协议),配置虚拟机允许的ip范围,如果虚拟机较少,减小范围即可

  • 起始ip:192.168.5.2
  • 结束ip:192.168.5.254
    centos7.6配置网络并固定ip地址_第6张图片

6 查看宿主机VMnet8网卡的配置

1、控制面板->网络和 Internet->网络连接
2、找到VMnet8,点击属性,点击ipv4
3、找到如下配置

发现前面的配置已经生效,但是发现ip地址与想要设置的网关地址冲突了,想要设置的网关地址为192.168.5.1。
有两种解决方式:

  1. 修改子网的网关为192.168.5.2
  2. 修改宿主机VMnet8网卡的ip为其他

centos7.6配置网络并固定ip地址_第7张图片

这里选择方式2,将改宿主机VMnet8网卡ip设置为192.168.5.250
这里的ip地址只要不是0、255即可,但是注意不要与虚拟机网段内的ip冲突。

ip地址:192.168.5.250
子网掩码:255.255.255.0
其余为空

7 配置并固定虚拟机的ip地址

1、安装好虚拟机
2、自定义特定虚拟网络网络

  • 点击虚拟机设置->硬件->网络适配器->自定义:特定虚拟网络->选择VMnet8

3、查看虚拟机网卡

# 1、查看网卡信息,发现是ens33网卡
ip a

- lo:全称loopback,是回环地址,经常被分配到127.0.0.1地址上,用于本机通信,经过内核处理后直接返回,不会在任何网络中出现。
- eth0:网卡名,如果有多块网卡,会有多个eth 或其它名称。

4、配置虚拟机网卡

# 编辑ens33网卡
vi /etc/sysconfig/network-scripts/ifcfg-ens33 

5、网卡配置详解

DEVICE=eth33         #网卡设备名,请勿修改名字
TYPE=Ethernet        #网络类型,以太网
BOOTPROTO=static    #启用静态IP地址,或者改为 BOOTPROTO=static
ONBOOT=yes  		#开启自动启用网络连接    
IPADDR=192.168.5.4  #设置IP地址
NETMASK=255.255.255.0  #设置子网掩码
GATEWAY=192.168.5.1   #设置网关
DNS1=8.8.8.8        #设置备DNS

6、具体更改网卡配置如下

一般需要改动的项

GATEWAY=192.168.5.1
NETMASK=255.255.255.0
DNS1=8.8.8.8
IPADDR=192.168.5.3
BOOTPROTO=static
ONBOOT=yes       

最终效果如下

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="179a7bdd-4896-4397-8758-368aebd3e771"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.5.3"
PREFIX="24"
GATEWAY="192.168.5.1"
DNS1="8.8.8.8"
IPV6_PRIVACY="no"

7、重启网络

service network restart

8、测试网络情况
ping 宿主机
ping 百度

9、关闭防火墙(可选)

# 查看防火墙状态
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 三 2022-11-16 22:54:22 CST; 7min ago
     Docs: man:firewalld(1)
 Main PID: 741 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─741 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

1116 22:54:21 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
1116 22:54:22 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.

# 关闭防火墙
[root@localhost ~]# systemctl stop firewalld

# 关闭开启启动
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

扩展:NAT模式下图形化配置ip

centos7.6配置网络并固定ip地址_第8张图片

扩展:桥接模式下手动配置ip

centos7.6配置网络并固定ip地址_第9张图片

安装完centos系统时选择桥接,查看自己主机的ip以及网关,给虚拟机手动指定网关和ip

安装完毕后
ip a查看ip是否正常

cd /etc/sysconfig/network-scripts/ #进入网络配置文件目录,编辑配置文件:vi ifcfg-ens33

IPADDR=ip(在网关之下 假如网关192.168.4.2,你就要配192.168.4.x)
GATEWAY=网关
NETMASK=255.255.255.0(子网掩码)
DNS1=8.8.8.8 (dns不配置解析不了域名)

配置完毕重启网络
service network restart

over!!!

小白的话建议读这篇文章,从头教到尾 https://blog.csdn.net/ztx114/article/details/84978308


网段 192.168.x.y
x:所在的网段,不在同一网段,无法通信,一般情况下网关是192.168.x.1
x就是你所在的网段

比如路由IP192.168.1.1那么电脑设置就要是192.168.1.2~192.168.1.255
  只要是同一网段,不和其他设备的IP地址冲突就可以了
电脑IP设置方法
  1.WIN系统 把鼠标指针移动到电脑右下角小电脑图标 单击右键 打开网络和共享中心
  2.单击更改适配器设置
  3.单击本地连接右键 单击属性
  4.单击internet 协议版本
  5.若路由器为默认设置 那么主机网络参数设置为IP:192.168.1.X(2—252) 子网掩码:255.255.255.0 默认网关:192.168.1.1 当不清楚DNS地址时 向当地提供服务商咨询
  6.电脑网络参数配置完成 XP系统的设置方法大致相同 XP是在网络邻居的属性找到本地连接 网络参数设置方法同上4,5

扩展:桥接模式下自动分配ip

其实什么也不用做,设置完即可
centos7.6配置网络并固定ip地址_第10张图片
cd /etc/sysconfig/network-scripts/ #进入网络配置文件目录,查看配置文件:cat ifcfg-ens33

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
# 唯一 其余都会自动分配
UUID="f6ada89c-9d99-4249-b829-f884e7970295"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"

你可能感兴趣的:(linux,linux,centos)