前言

文章目的:简介、清晰、明了,全方位的介绍Linux IP配置

注意事项:篇幅较长,如对某个环节感兴趣,可点击目录,直切主题。

1、虚拟机的三种网络连接模式(常识)

VMnet1和VMnet8是安装虚拟机VMware后,虚拟出的两块网卡。
VMnet1是host网卡,用于host方式连接网络;
VMnet8是NAT网卡,用于NAT方式连接网络的,并且它们的IP地址是随机生成的。

centos7 boot 目录被删除_动态配置Linux IP地址

1.Bridged桥接模式  

如同在局域网中单独存在的独立“物理机”一样,它可以访问同一局域网内任何一台机器,也可以单独通过局域网网关或者路由访问外网。

可以手动配置IP,网关、网段、DNS等;还可以将IP地址和DNS设置成“自动获取”

简述:网络连接这块几乎等同于物理机。

2.NAT模式(网络地址转换)

让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。

依靠物理主机的VMnet8网卡上网。(配置静态IP时,会用到此知识点)

简述:宿主机相当于是开启DHCP功能的路由器,虚拟机需要通过该路由访问外网。

注:通常该模式IP和DNS设置为“自动获取”。

3.Host-Only(主机)

虚拟机的TCP/IP配置信息(如网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。 

特点:虚拟机只能与虚拟机、主机互访,虚拟机和外部的网络是被隔离开的,不能上外网。  

2.三种模式的区别

桥接模式

特点

虚拟机和主机都处在一个网段中

等同于一台虚拟主机,可以当做主机使用

好处

可以和主机所在局域网的其他主机相互通信

缺点

同一个网段中,IP地址有限(0~255之内),可能造成ip冲突;虚拟机可能会占用了人家主机的IP

NAT模式

特点

接入网络非常简单,和宿主机共享同一个外网,能够通过VMnet8与宿主机通讯(访问网络时,相当于把主机当做了一个路由器)

好处

虚拟机不占用window电脑的IP,不会冲突;

缺点

无法和宿主机的所在局域网的其他主机通讯

仅主机模式

特点

仅能通过VMnet1网卡与宿主机进行通讯

仅主机模式和NAT模式差不多,区别就在于少了虚拟NAT网关。

缺点

只有IP地址的分配,不会进行NAT地址转换。因此其无法访问外网(某种程度上,这也是一个优点)。

一、临时修改IP地址

#ifconfig 查看ip和网卡名称{虚拟机(第一个)网卡大部分名称是eno16777736}
#ifconfig eno16777736 192.168.1.101  给指定网卡设定IP

二、静态设置IP(nmtui图形界面)

2.1、准备工作

#ls /usr/lib/systemd/system/NetworkManager.service 网络适配器服务文件位置
#systemctl status NetWorkManager  查看网络适配器是否在运行,运行状态下,才可以使用nmtui命令
注:如果没有开启,需重启一下网络服务
#systemctl restart NetWorkManager

 

centos7 boot 目录被删除_centos7 boot 目录被删除_02

 

2.2、进入图形界面 

#nmtui 打开图形界面,修改IP

centos7 boot 目录被删除_centos7 boot 目录被删除_03

  

2.3、图形界面操作步骤

依次选择:

Edit a connection--->
Ethernet-eno16777736(选择网卡)-->Edit(界面右侧选项)--->
IPv4 CONFIGURATION <Manual>  (注:这里默认可能是Automatic,需要调整)---><Show>)--->
Addresses <add>在此配入自己的IP、网关、DNS,例如:192.168.1.1--->
最后选择底部的<OK>依次保存并退出图形界面

centos7 boot 目录被删除_linux IP配置_04

centos7 boot 目录被删除_linux_05

 

centos7 boot 目录被删除_linux_06

2.4、最后,重启网络服务

#systemctl restart NetworkManager
#systemctl restart network     提示:CentOS8不支持该写法,应该用 nmcli c reload
#ifconfig

三、静态IP设置(修改配置文件)

3.1、查看虚拟机(VMnet8网卡)网关

打开虚拟机,在菜单栏依次点击:
编辑--->虚拟网络编辑器--->NAT模式(窗口上方)--->NAT设置(按钮在界面中部右侧)--->网关IP(弹出界面,可以看到虚拟网段)。

设置的IP要和虚拟机网段的前三个段位一致。
比如:虚拟机网段是 192.168.31.2(这个就是路由的GATEWAY网关,静态IP地址需要配这个),自己配置的静态IP就必须是192.168.31.开头。

NAT模式的GATEWAY请查看下图。

centos7 boot 目录被删除_linux_07

3.2、配置静态IP

提示,本方法虚拟机的网络适配器使用NAT方式(和主机共享网络)就可以,当然你也可以选择Bridge模式

#cd /etc/sysconfig/network-scripts/  进入网卡配置文件所在目录
#ls  查看网卡名称(#ifconfig 也可以查看网卡名称)
#vim /etc/sysconfig/network_scripts/ifcfg-eno16777736  编辑网卡配置文件(有虚拟网卡是eth0、ens33)
BOOTPROTO=static  此处务必设置为static或者none
ONBOOT="yes"         开机启动网卡设置
IPADDR=192.168.31.3  IP地址的前三段,必须和网关的前三段相同
NETMASK=255.255.255.0
GATEWAY=192.168.31.2  此网关就是上个步骤查看的VMnet8网卡的网关
DNS1=8.8.8.8   #有时候,单独配8888不管用
DNS2=223.5.5.5 #配置阿里的域名解析,还不行,尝试一下223.6.6.6

注:其他参数可以保持不变,如果配置静态IP后,不能上网,一般是DNS问题(调整DNS)。依旧不能上网可参考步骤六。

3.3、重启网络服务

service network restart  #RHEL6和RHEL7通用命令
ifconfig
#CentOS8高版本写法
systemctl restart NetworkManager
systemctl restart network     #提示:CentOS8不支持该写法,应该用 nmcli c reload 或者 nmcli connection reload 
ifconfig #或者nmcli device show

四、动态设置IP(修改配置文件)

前面准备工作,参考静态IP配置(不再累述)

4.1、核心配置参数

BOOTPROTO='dhcp'  修改为BOOTPROTO='dhcp' 
ONBOOT='yes' 修改为 ONBOOT="yes"

4.2、注释掉其他和IP相关参数

    比如:IPADDR、GATE_WAY、PREFIX、DNS等

4.3、保存退出,重启network服务

systemctl restart NetworkManager
systemctl restart network   #注:该写法在CentOS8中不支持,应该用 nmcli c reload

service  network restart  #注:RHEL6.5的重启方式
ping www.baidu.com

注:如各种方法尝试后,依然无法ping通,网络连接请采用NAT模式后,重启网卡服务。

centos7 boot 目录被删除_动态配置Linux IP地址_08


依然不能ping通,继续看步骤六。 

五、网卡参数说明

5.1、网卡参数

1.DEVICE
DEVICE=eth0 网卡的名字

2.HWADDR
HWADDR=00:0c:29:90:89:d9 HWADDR HardWare Address 硬件MAC地址

3.TYPE
TYPE=Ethernet 网络类型 以太网

4.NM_CONTROLLED
NM_CONTROLLED=yes是否受network程序管理

5.BOOTPROTO

网络配置,它有三个可选参数none,static,dhcp,需根据自身实际情况,选其一。BOOTPROTO=static 静态IP(需要在当前配置文件中手动指定IP、网关和DNS)BOOTPROTO=dhcp 动态IP(不需要手动指定IP)BOOTPROTO=none 引导时不使用协议

6.ONBOOT
ONBOOT=yes 在开机或重启网卡的时候是否启动网卡

7.DEFROUTE
DEFROUTE="yes" 是否设置默认路由

注:系统路由默认选择的是eth0网卡,如果实际使用的是eth1网卡,需要在eth1的网卡配置内容中配置为yes

8.UUID
虚拟主机,会给每个硬件一个标识

9.IPADDR
IPADDR=192.168.31.1 静态配置IP地址 标识主机身份

10.GATEWAY
GATEWAY=192.168.31.2 一个网络到另一个网络的必经之路,整个大楼的大门(虚拟机中所有机器的大门)

11.DNS
DNS1=8.8.8.8 阿里的域名解析器:223.5.5.5 223.6.6.6
可以添加两个 DNS服务器 DNS1 和 DNS2。

注:网卡配置文件的DNS优先于/etc/resolv.conf

12.PEERDNS
PEERDNS=[yes|no]  是否将 DNS 信息写入 /etc/resolv.conf (覆盖)

13.PREFIX 掩码长度
PREFIX=24 定义网络中可以有多少主机 房间里面可以有多少人(默认值24)

14.NETMASK
NETMASK=255.255.255.0 子网掩码 决定这个局域网中最多有多少台机器

15.USERCTL
USERCTL=no 普通用户是否能控制网卡 

5.2、网卡配置模板

如若有多块网卡,本配置文件内容可以配置多份。

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=c5300c89-c3e4-4a3a-8344-5194975eacfb
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.170
PREFIX=24
#GATEWAY=192.168.1.79
IPADDR1=192.168.0.170
DNS1=114.114.114.114
DNS2=202.96.128.166

六、本地电脑网络配置

6.1、Win+i 调出系统设置(以Win10为例)

1.打开windows系统设置

centos7 boot 目录被删除_linux_09

 2.打开网络适配器

点击界面左侧的WALN,依次点击右下发的”相关设置“下面的”更改适配器设置“

centos7 boot 目录被删除_centos7 boot 目录被删除_10

 3.虚拟机网络适配器,服务状态都调整为“已启用”

centos7 boot 目录被删除_linux IP配置_11

  

4.无线/有线网络设置为共享

在网络适配器中,
如果电脑连接的是无线网络,用鼠标右键点击WLAN;
如果电脑连接的是有线网络,用鼠标右键点击“以太网”;
然后在弹出窗口,顶部选择共享
然后,勾选上上下两个对钩,并选择“家庭网络连接”,选VMnet1就可以。

centos7 boot 目录被删除_动态配置Linux IP地址_12

6.2、查看虚机(VMnet1和VMnet8)IP

1.鼠标右键查看状态

centos7 boot 目录被删除_centos7 boot 目录被删除_13

2.点击详细信息,并查看虚拟机适配器(VMware Network AdapterVMnet8)IP

如果是桥接模式,IP地址配置时,务必和VMnet1 IP地址的前三段保持一致。
如果是NAT模式,IP地址配置时,务必和VMnet8

比如都是:192.168.31,开头的

如果配置为动态(BOOTPROTO='dhcp')获取IP,那么

#ifconfig 看到的虚拟机动态IP,开头也是192.168.31,开头的

centos7 boot 目录被删除_centos7 boot 目录被删除_14

centos7 boot 目录被删除_动态配置Linux IP地址_15

 

下面是NAT模式

centos7 boot 目录被删除_linux IP配置_16

 2.在虚拟机中Linux系统,网络连接是NAT模式,IP配置的时候,要和这里(VMware Network AdapterVMnet8)的网络是一个网段。
 

 

centos7 boot 目录被删除_linux_17

  

6.3、services.msc 启用两个虚拟机服务

1.打开服务设置

Win+R 调出运行,输入 services.msc

centos7 boot 目录被删除_linux_18

2.虚拟机的2个服务都设置为启动

VMware DHCP Service
VMware NATService

注:这个两个服务,如果经常用,建议设置为开启自动启动。

centos7 boot 目录被删除_静态配置Linux IP地址_19

centos7 boot 目录被删除_centos7 boot 目录被删除_20

6.4、虚拟机桥接模式

centos7 boot 目录被删除_动态配置Linux IP地址_21

在虚拟机中,带水晶头的有线网络,使用桥接模式:注意下面的对钩也勾选上。

centos7 boot 目录被删除_静态配置Linux IP地址_22

 如果经过各种尝试,网络不能ping通,把桥接模式,变更为自定义模式

centos7 boot 目录被删除_centos7 boot 目录被删除_23

七、关于关闭防火墙、关闭SELINUX安全策略

以上步骤,都操作后,依然不能ping通外网,此时看一下。

防火墙是否关闭、selinux安全策略是否关闭。

7.1、防火墙的关闭

1.查看防火墙状态

systemctl status firewalld
#或者
systemctl status firewalld.service

centos7 boot 目录被删除_静态配置Linux IP地址_24

 2.临时关闭防火墙

systemctl stop firewalld

3.禁止防火墙开机自启

systemctl disable firewalld

centos7 boot 目录被删除_linux_25

7.2、安全策略的关闭

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

如果开启会导致很多端口不能访问。

1.查看seLinux的开启状态

getenforce
enforcing #强制执行 (该显示说明安全策略是开启状态)

2.临时关闭seLinux

setenforce 0   #临时关闭
getenforce     查看SElinux的状态
permissive #放任的;许可的

3.通过配置文件永久关闭selinux 

vim /etc/sysconfig/selinux

 

centos7 boot 目录被删除_动态配置Linux IP地址_26

 在配置文件中,修改配置为:
SELINUX=disabled,就可以关闭安全策略了。

注:该配置只有重启后才会生效。
#reboot 重启服务器

八、开启自动连接网络,解决unknow host

#ifconfig
      Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
# ping www.tencent.com
ping: unknown host www.tencent.com
# ping www.baidu.com
ping: unknown host www.baidu.com

 如果历经以上步骤,依然无法上网,这个步骤是最后的大招!!

centos7 boot 目录被删除_centos7 boot 目录被删除_27

尾言

至此,耗费了大量的时间,精力,希望本文对你有所帮助,如果觉得还不错,赶快点赞收藏吧!