Linux网络设置-CentOS由NAT模式改为桥接模式

Linux版本:CentOS

CentOS发行版本:CentOS 8.1

虚拟机:VMware

在前面CentOS 8.1安装教程中关于网络配置我们默认使用的是NAT模式,这篇文章主要记录将我们的Linux网络设置由NAT模式改为桥接模式(Bridged)。

需要安装CentOS的朋友可以可以看这篇文章:

VMware 安装 CentOS 8.1 完整教程

1】NAT与Bridged区别

  • NAT(网络地址转换模式)

虚拟机要联网得先通过宿主机才能和外面进行通信。

NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。使得虚拟局域网内的虚拟机在对外访问时,使用的则是宿主机的IP地址,这样从外部网络来 看,只能看到宿主机,完全看不到新建的虚拟局域网。就是虚拟系统会通过宿主机的网络来访问外网,而这里的宿主机相当于有两个网卡,一个是真实网卡,一个是虚拟网卡,真实网卡相当于链接了现实世界的真实路由器,而宿主机的虚拟网卡,相当于连接了一个可以认为是虚拟交换机。

虚拟机可以上网可以ping通主机,但是主机ping不通虚拟机。

  • Bridged(桥接模式)

虚拟机和宿主机在网络上就是平级的关系,相当于连接在同一交换机上。

需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。以实现通过局域网的网关或路由器访问互联网。使用bridged模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。相当于在一个局域网内创立了一个单独的主机,他可以访问这个局域网内的所有的主机,但是需要手动来配置IP地址,子网掩码,并且他是和真实主机在同一个网段(nat是两个网段).

这个模式里,虚拟机和宿主机可以互相ping通。

3】虚拟机网络设置

右键点击以管理员身份打开VMware,找到要更改网络的虚拟机。

  • 点击左上角【编辑虚拟机设置】→【网络适配器】→选择【桥接模式】,并勾选【复制物理网络连接状】态

  • 点击左上角【编辑E】→【虚拟网络编辑器】

VMnet0、VMnet1、VMnet8,分别对应了桥接模式、仅主机模式、NAT模式。

选择【VMnet0】→【已桥接至】选择当前电脑连接的网络→【确定】

3】CentOS网络设置

  • 查看自己电脑的IP网段(Win+R输入cmd再输入ipconfig)

将 IPv4 地址、子网掩码 、默认网关保存后面用到。

  • 打开虚拟机,以root账户登录CentOS

1.由于我安装了图形界面,登录是这样:

说明:倘若没有设置root账户,但登录的账户yyo拥有root权限,那就直接登陆。

2.没有安装图形界面登录简单一些,我就不演示了。

  • 获取权限
sudo -i
  • 编辑配置ip地址信息文件(使用vi打开,CentOS自带vi)
vi /etc/sysconfig/network-scripts/ifcfg-ens33

可以看到我们的网络配置文件:

i进入编辑,按方向键移动

修改这两个值:

BOOTPROTO=static       #设置为手动分配IP地址
ONBOOT=yes

ONBOOT=yes后面增加四个值(上面我们保存的ip):

IPADDR=192.168.0.107   # 配置为局域网固定IP(IPv4 地址)
NETMASK=255.255.255.0  # 配置子网掩码
GATEWAY=192.168.0.1    # 配置局域网网关
DNS1=8.8.8.8           # 配置首选DNS,8.8.8.8为免费DNS服务器的IP地址

编辑完成后按esc退出,再按:wq保存(如果无法保存,就按:wq!强制保存)

  • 接下来修改第二个配置,输入下面这个命令
vi /etc/sysconfig/network

增加这四个配置:

i进入编辑,按方向键移动

NETWORKING=yes
NETWORKING_IPV6=no            #关掉IPv6
HOSTNAME=localhost.localdomain
GATEWAY=192.168.0.1           #默认网关地址

编辑完成后按esc退出,再按:wq保存

  • 启动network服务,输入下面这个命令
service network restart

使用CentOS 8.x 版本的就会有问题了,8以下的版本到这里就可以结束了。

事实上并没有启动network服务,而是:

Redirecting to /bin/systemctl reatart network.service
Failed to restart network.service: Unit network.service not found

查了很多资料才发现centos 8.x 已经替换了原来的network, 新版的叫:NetworkManager,下面给出解决办法

  • 首先安装NetworkManager
yum install NetworkManager*

  • 启动NetworkManager
service NetworkManager restart
  • 开启NetworkManager网络服务
systemctl status NetworkManager

4】验证网络

  • 在Windows终端ping我们CentOS的IP:192.168.0.107,可以正常通信。

  • 在CentOS验证一下,也是完全🆗

一番折腾下来,花费了不少时间,尤其是NetworkManager那里,都不想写这篇文章了,但是又想解决这个困难,希望对有需要朋友的有点帮助!

参考:

centos7输入systemctl status network.service出现Unit network.service could not be found的解决办法

Failed to restart network.service: Unit network.service not found


   转载规则


《Linux网络设置-CentOS由NAT模式改为桥接模式》 Tyzhao 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录