当前位置: 首页 > news >正文

Linux-CentOS-7—— 配置静态IP地址

文章目录

  • CentOS-7——配置静态IP地址
    • VMware workstation的三种网络模式
    • 配置静态IP地址
      • 1. 编辑虚拟网络
      • 2. 确定网络接口名称
      • 3. 切换到网卡所在的目录
      • 4. 编辑网卡配置文件
      • 5. 查看网卡文件信息
      • 6. 重启网络服务
      • 7. 测试能否通网
      • 8. 远程虚拟主机(可选)
    • 其他补充
      • 宿舍校园网环境中的网络连接问题


CentOS-7——配置静态IP地址

仅供参考

在服务器管理和服务部署中,配置静态IP地址是一项基础但至关重要的网络管理操作。与动态获取IP地址(DHCP)不同,静态IP地址能确保服务器始终使用固定的网络标识。

在做配置静态IP的之前,可以先了解一下 VMware workstation 的三种网络模式,这里用的是 NAT模式(VMnet8网卡)


VMware workstation的三种网络模式

在虚拟化环境中,VMware 提供了多种网络连接模式,其中 NAT 模式 是最常用的模式之一。NAT(Network Address Translation,网络地址转换)模式允许虚拟机通过主机的网络连接访问外部网络,同时隐藏虚拟机的真实 IP 地址。

  1. 桥接模式(Bridged)
    虚拟机与主机处于同一网络,可以直接访问外部网络,适合需要对外提供服务的场景。
  2. NAT 模式(NAT)
    虚拟机通过主机的 IP 地址访问外部网络,外部网络无法直接访问虚拟机,适合需要联网但不需要暴露的场景。
  3. 仅主机模式(Host-Only)
    虚拟机只能与主机和其他虚拟机通信,无法访问外部网络,适合完全隔离的测试环境。

VMware workstation三种网络模式对比

模式桥接模式(Bridged)NAT 模式(NAT)仅主机模式(Host-Only)
工作原理虚拟机的网卡直接连接到主机的物理网络,虚拟机会获得与主机同一网络的 IP 地址。虚拟机通过主机的 IP 地址与外部网络通信,VMware 会为虚拟机分配一个私有 IP 地址。虚拟机只能与主机和其他虚拟机通信,无法访问外部网络。
IP 地址虚拟机获取与主机同一网络的 IP 地址(由外部 DHCP 分配或手动配置)。虚拟机获取 VMware 虚拟网络中的私有 IP 地址(由 VMware DHCP 分配或手动配置)。虚拟机获取 VMware 虚拟网络中的私有 IP 地址(由 VMware DHCP 分配或手动配置)。
网络访问✅ 虚拟机可访问外部网络,外部网络也可直接访问虚拟机。✅ 虚拟机可访问外部网络,但外部网络无法直接访问虚拟机。❌ 虚拟机只能与主机和其他虚拟机通信,无法访问外部网络。
优点- 虚拟机与主机处于同一网络,适合对外提供服务。 - 可直接与外部设备通信。- 隐藏虚拟机真实 IP 地址。 - 多虚拟机共享主机 IP。 - 配置简单。- 虚拟机与主机通信完全隔离,安全性高。 - 适合测试和开发环境。
缺点- 占用外部网络 IP 资源。 - 虚拟机 IP 暴露,存在安全风险。- 外部网络无法直接访问虚拟机。 - 端口转发配置复杂。- 虚拟机无法访问外部网络,限制应用场景。
适用场景- 对外提供服务的虚拟机(如 Web 服务器)。 - 需与外部设备直接通信的场景。- 需访问互联网但无需被外部直接访问的虚拟机。 - 测试和开发环境。- 仅需与主机或其他虚拟机通信的场景。 - 需完全隔离外部网络的测试环境。

配置静态IP地址

1. 编辑虚拟网络

使用NAT模式(VMnet8)配置静态网络需要按照这里来配置IP地址 (可以手动编辑 虚拟网络编辑器的 子网IP 和 网关 和 DHCP)

VMware workstation ——》编辑 ——》 虚拟网络编辑

如果这里用的子网是 192.168.101.0/24 网段,那后面配置网卡文件时,也理应是这个网段才可以。否则连不上网。


在这里插入图片描述

确保 VMnet 8 网卡是启动状态

在这里插入图片描述


2. 确定网络接口名称

弄好虚拟网络编辑器之后再回到CentOS-7系统,该系统默认会有一个 ifcfg-ens33 的网卡名

最小安装的命令行可能是没有 ifconfig 命令的,可以先用 ip a 命令代替查看IP网卡信息。

这个是刚装完系统的初始化状态,使用 ip a 命令查看网卡信息。
这里的 ens33 的网卡名是没有 IP 地址(除非安装的时候开启了DHCP获取IP地址,这里并没有开)

在这里插入图片描述


3. 切换到网卡所在的目录

这里使用 cd 命令切换到存放网卡文件的目录下,使用 ls 命令可以看当前目录下的所有文件,第一个文件就是ens33网卡的文件名 ifcfg-ens33

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# 
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# 
[root@localhost network-scripts]# ls
ifcfg-ens33  ifdown-ppp       ifup-eth     ifup-sit
ifcfg-lo     ifdown-routes    ifup-ippp    ifup-Team
ifdown       ifdown-sit       ifup-ipv6    ifup-TeamPort
ifdown-bnep  ifdown-Team      ifup-isdn    ifup-tunnel
ifdown-eth   ifdown-TeamPort  ifup-plip    ifup-wireless
ifdown-ippp  ifdown-tunnel    ifup-plusb   init.ipv6-global
ifdown-ipv6  ifup             ifup-post    network-functions
ifdown-isdn  ifup-aliases     ifup-ppp     network-functions-ipv6
ifdown-post  ifup-bnep        ifup-routes
[root@localhost network-scripts]# 
[root@localhost network-scripts]# 

在这里插入图片描述


4. 编辑网卡配置文件

备注:如果不会用编辑命令的话,先去了解一下 vi/vim 命令,怎么编辑文件和保存退出。

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 

刚安装完系统之后的网卡文件是这样的,静态IP配置需要手动添加配置。

在这里插入图片描述


5. 查看网卡文件信息

因为用的是 VMnet8 网卡,参照虚拟网络编辑器的设置来给

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static				# static 使用静态IP地址(使用动态则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=609558cc-4437-4edb-a18e-eb1c6824dfb3
DEVICE=ens33
ONBOOT=yes						# 启用网卡
IPADDR=192.168.101.123			# 本机IP地址
NETMASK=255.255.255.0			# 子网掩码
GATEWAY=192.168.101.254			# 网关
DNS1=192.168.101.254			# DNS1地址(可选:114.114.114.114 或者 8.8.8.8 也可以)

在这里插入图片描述

这里可以看到即使是配置了IP地址/子网掩码这些配置,ip a 看不到有IP地址在信息上面。每次修改完网卡之后,都需要重启才会立即生效!重启系统也可以,但是重启系统效率低。


需要注意的是,一定要按照虚拟网络编辑器里面的设置来给!

  1. NAT 模式下网关与 DNS 相同
    • VMware 的 NAT 设备(vmnet8)默认将 网关DNS 代理 功能集成在同一 IP(如 192.168.101.254)。
    • 虚拟机的 DNS 请求会被转发到主机的物理网卡 DNS(如 8.8.8.8)。
  2. 可手动指定其他 DNS
    • DNS1=8.8.8.8114.114.114.114,这是推荐做法(避免依赖 VMware 的 DNS 代理)。
  3. 必须与虚拟网络编辑器设置一致
    • 虚拟机的网关必须匹配 VMware 的 NAT 配置(如 192.168.101.254),否则无法上网。

备注:在 VMware 的 NAT 网络模式中,虚拟网络适配器(如 VMnet8)通常会将虚拟机的网络流量通过主机的物理网卡进行 NAT(网络地址转换)。在这种情况下,虚拟网络的网关(192.168.101.254)不仅负责路由流量,还可能充当 DNS 服务器。


6. 重启网络服务

[root@localhost network-scripts]# systemctl restart network		# 重启网络服务
[root@localhost network-scripts]# 

每次修改网卡配置都需要重启网络才会生效该服务(重启系统也可以),否则,配置完网卡仅仅是保存是不会直接生效的。

这里可以看到 ens33 网卡上面已经有了刚刚配置的IP地址。

在这里插入图片描述


7. 测试能否通网

如果能ping通 www.baidu.com 说明联网成功了

[root@localhost ~]# ping  www.baidu.com -c4
PING www.a.shifen.com (157.148.69.186) 56(84) bytes of data.
64 bytes from 157.148.69.186 (157.148.69.186): icmp_seq=1 ttl=128 time=22.1 ms
64 bytes from 157.148.69.186 (157.148.69.186): icmp_seq=2 ttl=128 time=21.4 ms
64 bytes from 157.148.69.186 (157.148.69.186): icmp_seq=3 ttl=128 time=21.6 ms
64 bytes from 157.148.69.186 (157.148.69.186): icmp_seq=4 ttl=128 time=21.9 ms

--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3046ms
rtt min/avg/max/mdev = 21.498/21.791/22.127/0.267 ms
[root@localhost ~]# 

备注:-c4 是只发送 4 次 Ping 请求后自动停止(默认会无限循环),如果无限循环,按 Ctrl + C 快捷键终止即可。

在这里插入图片描述


8. 远程虚拟主机(可选)

物理机远程虚拟机的必要条件,物理机和虚拟机必须是能相互通信的!

Win + R 打开 cmd 去ping 虚拟机的IP。能够通信,选择一个远程工具

在这里插入图片描述


这里用的是 Xshell 8 的远程工具

在这里插入图片描述


远程成功

在这里插入图片描述


其他补充

这里看看就好


宿舍校园网环境中的网络连接问题

在宿舍校园网环境中,通常限制一台客户端和一台移动设备同时连接。如果物理主机已经连接了校园网,虚拟主机也需要联网时,可能会遇到以下问题:

校园网的限制

  • 多数校园网会限制单账号的终端数量(如仅允许 1 台电脑 + 1 台手机 同时在线)。
  • 若物理主机已登录校园网,虚拟机直接使用桥接模式(Bridged)会被视为另一台设备,可能导致物理主机被踢下线。

NAT 模式的解决方案

当校园网限制单账号终端数量时,NAT 模式可让虚拟机共享主机的网络连接,避免认证冲突。
确保物理主机已成功登录校园网。虚拟机网络适配器设置为 NAT 模式(对应 VMware 的 VMnet8 虚拟网络)。

  • 原理:虚拟机的流量通过物理主机的 NAT 转换后共用主机的校园网连接,对外仅显示主机的 MAC 和 IP,因此不会触发校园网的多终端检测。
  • 效果
    - 虚拟机无需单独认证校园网。
    - 物理主机和虚拟机可同时上网,无冲突。

因此在校园网环境中,NAT 模式允许虚拟主机通过物理主机的网络连接访问外部网络,避免了因校园网限制导致的连接冲突问题。这种模式非常适合在校园网环境下同时使用物理主机和虚拟主机都能联网的场景。

模式校园网适用性原因
NAT✅ 最佳选择虚拟机共享主机网络身份,绕过终端数量限制。
桥接❌ 不推荐虚拟机会被识别为新终端,触发校园网踢线。
仅主机❌ 无法访问外网仅限虚拟机与主机内部通信。

http://www.dtcms.com/a/118031.html

相关文章:

  • PyTorch 笔记
  • Next.js + SQLite 项目 Docker 生产环境部署方案
  • 从数据到成果:R 语言在气象水文全流程中的关键技术应用
  • linux查看当前文件夹下面文件大小
  • 队列➕宽搜(BFS)算法的应用
  • Invalid bound statement (not found)
  • OceanBase V4.3.5 上线全文索引功能,让数据检索更高效
  • 【UE5 C++课程系列笔记】34——结构体与Json的相互转化
  • VBA第三十九期 VBA自动把工作表转换成PPT
  • CExercise_06_1指针和数组_1查找数组的最大值和最小值
  • 数据库——Redis
  • 使用 `keytool` 生成 SSL 证书密钥库
  • 【DeepSeek工具教程】IntersectionObserver+API分页懒加载实现指南之React项目1
  • 【KMP】P7114 [NOIP2020] 字符串匹配|省选-
  • 蓝桥杯 封闭图形个数 刷题笔记
  • Set 集合
  • Allegro软件自带的封装库
  • 目录穿越 + pickle反序列化 -- xyctf Signin WP
  • 智能DNS解析:解决高防IP地区访问异常的实战指南
  • Spring Boot 自定义 Redis Starter 开发指南(附动态 TTL 实现)
  • 【MATLAB】将数据保存在mat文件中 save/load/matfile
  • 力扣HOT100之链表:142. 环形链表 II
  • Spring MVC 返回 JSON 视图的方式及对比(6种)
  • [Linux系统编程]多线程
  • 从ERTS会议学习Scade的发展
  • x-cmd install | Slumber - 告别繁琐,拥抱高效的终端 HTTP 客户端
  • 软件工程第三章习题
  • 【蓝桥杯】Python大学A组第十五届省赛
  • 大数据处理全链路优化:从并行文件处理到可视化加速的工程实践
  • 【Linux工具篇】保姆级配置vscode连接远端主机以及免密配置