前言
文章目的:简介、清晰、明了,全方位的介绍Linux IP配置
注意事项:篇幅较长,如对某个环节感兴趣,可点击目录,直切主题。
1、虚拟机的三种网络连接模式(常识)
VMnet1和VMnet8是安装虚拟机VMware后,虚拟出的两块网卡。
VMnet1是host网卡,用于host方式连接网络;
VMnet8是NAT网卡,用于NAT方式连接网络的,并且它们的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
2.2、进入图形界面
#nmtui 打开图形界面,修改IP
2.3、图形界面操作步骤
依次选择:
Edit a connection--->
Ethernet-eno16777736(选择网卡)-->Edit(界面右侧选项)--->
IPv4 CONFIGURATION <Manual> (注:这里默认可能是Automatic,需要调整)---><Show>)--->
Addresses <add>在此配入自己的IP、网关、DNS,例如:192.168.1.1--->
最后选择底部的<OK>依次保存并退出图形界面
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请查看下图。
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模式后,重启网卡服务。
依然不能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系统设置
2.打开网络适配器
点击界面左侧的WALN,依次点击右下发的”相关设置“下面的”更改适配器设置“
3.虚拟机网络适配器,服务状态都调整为“已启用”
4.无线/有线网络设置为共享
在网络适配器中,
如果电脑连接的是无线网络,用鼠标右键点击WLAN;
如果电脑连接的是有线网络,用鼠标右键点击“以太网”;
然后在弹出窗口,顶部选择共享
然后,勾选上上下两个对钩,并选择“家庭网络连接”,选VMnet1就可以。
6.2、查看虚机(VMnet1和VMnet8)IP
1.鼠标右键查看状态
2.点击详细信息,并查看虚拟机适配器(VMware Network AdapterVMnet8)IP
如果是桥接模式,IP地址配置时,务必和VMnet1 IP地址的前三段保持一致。
如果是NAT模式,IP地址配置时,务必和VMnet8
比如都是:192.168.31,开头的
如果配置为动态(BOOTPROTO='dhcp')获取IP,那么
#ifconfig 看到的虚拟机动态IP,开头也是192.168.31,开头的
下面是NAT模式
2.在虚拟机中Linux系统,网络连接是NAT模式,IP配置的时候,要和这里(VMware Network AdapterVMnet8)的网络是一个网段。
6.3、services.msc 启用两个虚拟机服务
1.打开服务设置
Win+R 调出运行,输入 services.msc
2.虚拟机的2个服务都设置为启动
VMware DHCP Service
VMware NATService
注:这个两个服务,如果经常用,建议设置为开启自动启动。
6.4、虚拟机桥接模式
在虚拟机中,带水晶头的有线网络,使用桥接模式:注意下面的对钩也勾选上。
如果经过各种尝试,网络不能ping通,把桥接模式,变更为自定义模式
七、关于关闭防火墙、关闭SELINUX安全策略
以上步骤,都操作后,依然不能ping通外网,此时看一下。
防火墙是否关闭、selinux安全策略是否关闭。
7.1、防火墙的关闭
1.查看防火墙状态
systemctl status firewalld
#或者
systemctl status firewalld.service
2.临时关闭防火墙
systemctl stop firewalld
3.禁止防火墙开机自启
systemctl disable firewalld
7.2、安全策略的关闭
SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
如果开启会导致很多端口不能访问。
1.查看seLinux的开启状态
getenforce
enforcing #强制执行 (该显示说明安全策略是开启状态)
2.临时关闭seLinux
setenforce 0 #临时关闭
getenforce 查看SElinux的状态
permissive #放任的;许可的
3.通过配置文件永久关闭selinux
vim /etc/sysconfig/selinux
在配置文件中,修改配置为:
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
如果历经以上步骤,依然无法上网,这个步骤是最后的大招!!
尾言
至此,耗费了大量的时间,精力,希望本文对你有所帮助,如果觉得还不错,赶快点赞收藏吧!