CentOS怎么固定IP设置_CentOS配置静态IP地址详细步骤教程

设置CentOS固定IP需编辑网卡配置文件,将BOOTPROTO改为static,并配置IPADDR、NETMASK、GATEWAY、DNS,最后重启网络服务;适用于服务器需稳定网络的场景。

centos怎么固定ip设置_centos配置静态ip地址详细步骤教程

给CentOS设置固定IP,核心就是手动编辑其网络配置文件,将动态获取IP的方式改为静态分配,并指定IP地址、子网掩码、网关和DNS服务器。这对于需要稳定网络访问的服务器环境来说,是基础且关键的一步。

我通常会这么操作,这套流程下来基本没出过什么大问题:

首先,得确定你要修改哪个网卡。一般服务器上可能不止一个,用

ip a

命令看看,找到你准备配置的那个,比如

enp0s3

或者老系统上的

eth0

ip a

找到对应的网卡名,比如我这里假设是

enp0s3

接着,我们要去编辑那个网卡的配置文件。路径通常是

/etc/sysconfig/network-scripts/ifcfg-enp0s3

。用

vi

nano

打开它:

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

文件内容大概是这样,我们需要修改或添加一些行:

TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"          # 重点:从 "dhcp" 改成 "static"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="enp0s3"UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 这个UUID每个机器都不一样,保持不变DEVICE="enp0s3"ONBOOT="yes"                # 重点:确保开机启动时激活这个网卡IPADDR="192.168.1.100"      # 你的固定IP地址NETMASK="255.255.255.0"     # 子网掩码GATEWAY="192.168.1.1"       # 网关地址DNS1="8.8.8.8"              # 首选DNS服务器DNS2="114.114.114.114"      # 备用DNS服务器

几个关键点:

BOOTPROTO="static"

:这行是告诉系统,IP地址要手动设置。

ONBOOT="yes"

:确保系统启动时这个网卡就自动激活。

IPADDR

NETMASK

GATEWAY

DNS1

DNS2

:这些是你根据自己网络环境来填的。

IPADDR

要确保在你的局域网内是唯一的,并且没有被其他设备占用。

GATEWAY

通常是你的路由器地址。

DNS

可以用公共的,也可以用你内网的DNS服务器。

保存并关闭文件。

最后一步,也是最容易被遗忘的一步,就是重启网络服务,让配置生效。

sudo systemctl restart network# 或者如果你用的是NetworkManager,并且希望它管理网络# sudo systemctl restart NetworkManager

重启后,用

ip a

ping www.baidu.com

检查一下,看看IP地址是不是已经固定,并且网络连接是否正常。如果能ping通外网,那基本上就大功告成了。

为什么需要给CentOS设置固定IP地址?

这问题其实挺有意思的,很多人觉得DHCP自动分配IP挺方便的,干嘛要自找麻烦设固定IP呢?我个人经验是,一旦你把CentOS当服务器用,固定IP几乎是必选项。你想想看,如果你的数据库服务器、Web服务器或者文件共享服务器的IP地址老是变来变去,那其他客户端怎么找到它?每次重启服务器,IP变了,你就要去改所有依赖它的配置,那得多麻烦。

具体来说,有几个场景非固定IP不可:

讯飞智作-讯飞配音 讯飞智作-讯飞配音

讯飞智作是一款集AI配音、虚拟人视频生成、PPT生成视频、虚拟人定制等多功能的AI音视频生产平台。已广泛应用于媒体、教育、短视频等领域。

讯飞智作-讯飞配音 44 查看详情 讯飞智作-讯飞配音 提供网络服务: 像Web服务(Apache/Nginx)、数据库(MySQL/PostgreSQL)、FTP、SSH远程访问等等,这些服务都需要一个稳定的入口。客户端通过IP地址来访问,IP一变,服务就“失联”了。端口转发与防火墙规则: 如果你在路由器上设置了端口转发,或者在防火墙(比如

firewalld

iptables

)里写了规则,这些规则通常是基于IP地址的。IP地址一变,这些规则就失效了。DNS解析: 虽然可以通过域名解析到服务器,但很多时候,特别是在内网环境,我们直接用IP访问更方便快捷。而且,如果你的服务器本身就是DNS服务器,那它自己的IP更不能变。集群与分布式系统: 在一些复杂的集群架构中,节点之间的通信往往依赖于固定的IP地址列表。IP地址的变动会直接导致集群故障。日志与监控: 很多监控系统和日志收集工具会根据IP地址来识别不同的服务器。固定IP有助于保持数据的一致性和可追溯性。

总之,固定IP给你的服务器提供了一个稳定的“门牌号”,让它在网络中始终可被找到,这对于任何需要长期、稳定运行的服务来说,都是基石。

如何查看CentOS当前的IP地址和网络配置?

在动手修改配置之前,先摸清楚现状是很有必要的。这就像修车前先听听发动机响声,对吧?我常用的几个命令能让你对当前网络状况有个全面了解。

查看IP地址和网卡信息:

ip a

ifconfig

(如果已安装)

ip a

(即

ip address

) 是现代Linux系统里最推荐的命令,它能显示所有网络接口的详细信息,包括IP地址、MAC地址、网卡状态等。

ip a

你会看到类似这样的输出:

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever2: enp0s3:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether 08:00:27:xx:xx:xx brd ff:ff:ff:ff:ff:ff    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic enp0s3 # 这里的inet行就是IP地址       valid_lft 86259sec preferred_lft 86259sec

重点看

inet

那一行,它会显示当前的IP地址和子网掩码(

/24

表示

255.255.255.0

)。

查看路由表:

ip r

route -n

这个命令能告诉你数据包是怎么从你的CentOS服务器发出去的,特别是默认网关(Gateway)在哪里。

ip r

输出示例:

default via 192.168.1.1 dev enp0s3 proto dhcp metric 100192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.10 metric 100

default via 192.168.1.1

这行就是默认网关,它告诉系统所有发往外部网络的流量都应该通过

192.168.1.1

这个地址走。

查看DNS服务器:

cat /etc/resolv.conf

这个文件记录了系统用于解析域名的DNS服务器地址。

cat /etc/resolv.conf

内容可能像这样:

# Generated by NetworkManagersearch localdomainnameserver 8.8.8.8nameserver 114.114.114.114

nameserver

后面的就是DNS服务器地址。

通过这些命令,你就能对当前的网络配置有个清晰的认识,这对于后续的固定IP配置和排查问题都非常有帮助。

CentOS固定IP设置后不生效怎么办?常见问题及排查。

以上就是CentOS怎么固定IP设置_CentOS配置静态IP地址详细步骤教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/349111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月5日 21:33:03
下一篇 2025年11月5日 21:34:42

相关推荐

  • 如何获取Golang变量类型 reflect.TypeOf用法详解

    使用reflect.TypeOf可获取变量类型信息,适用于基本类型如int、string,输出对应类型名;对于结构体等复杂类型,通过Name()获取名称,Kind()获取底层种类;指针类型需调用Elem()获取指向的原始类型,切片、map等复合类型也可通过Elem()获取元素类型;常用于序列化、日志…

    好文分享 2025年12月15日
    000
  • Golang多版本管理工具 gvm安装与使用

    答案:gvm可管理Go版本,安装需curl和git,配置环境变量后可用gvm install/use/default管理版本,与Go Modules无冲突,替代工具有goenv和asdf。 使用gvm可以方便地在Go语言开发中切换和管理不同的Go版本,这对于需要兼容不同版本或尝试新特性的开发者来说非…

    2025年12月15日
    000
  • Golang性能测试实现 基准测试写法

    Go基准测试通过testing.B量化代码性能,使用go test -bench=测量ns/op、B/op和allocs/op,区分于单元测试的正确性验证,需隔离被测代码、用真实数据集并关注内存分配与并发表现。 Golang的性能测试,尤其通过基准测试(benchmarking)来实现,本质上就是一…

    2025年12月15日
    000
  • Golang代码检查工具 golangci-lint集成

    集成golangci-lint可提升Go项目代码质量与一致性,其核心是通过安装工具、配置.golangci.yml文件、融入开发流程和CI/CD实现自动化检查。首先使用go install或包管理器安装,随后在项目根目录创建配置文件,启用如gofmt、errcheck、staticcheck等关键L…

    2025年12月15日
    000
  • Golang测试随机数据生成 使用faker库技巧

    答案:通过自定义函数并注册到faker库可实现自定义生成规则,如生成特定格式电话号码;通过维护已生成数据集合可保证唯一性;通过并发生成、减少反射、批量插入等策略可优化大规模数据生成性能。 Golang中使用faker库可以方便地生成各种随机数据,极大地简化了测试数据的准备工作。它允许你快速创建逼真的…

    2025年12月15日
    000
  • Golang panic和recover机制 异常捕获与恢复方法

    panic是Go中用于处理严重运行时错误的机制,触发时会中断程序执行并回溯调用栈;recover是内建函数,仅在defer中有效,用于捕获panic并恢复程序执行。两者配合可用于关键代码保护、测试健壮性等场景,但应避免滥用。 panic和recover机制是Go语言处理运行时错误的一种方式,pani…

    2025年12月15日
    000
  • 如何在Windows系统搭建Golang开发环境 详解安装与PATH配置步骤

    Go环境配置成功后,可通过go version和go env验证。若命令无法识别,需检查PATH环境变量是否包含Go的bin目录。GOPATH在Go Modules时代已无需手动设置,主要用于缓存和安装可执行文件。编写第一个程序只需创建hello.go文件,使用go run运行即可输出结果,go b…

    2025年12月15日
    000
  • Golang反射最佳实践 合理使用场景指南

    反射适用于配置解析、ORM、序列化等需动态处理类型的场景,能提升灵活性;但应避免在性能敏感路径、可用接口替代或类型已知时使用,防止滥用导致性能下降和可读性降低。 Go语言的反射(reflect)能力强大,但容易被滥用。合理使用反射能提升代码灵活性,过度使用则会导致性能下降、可读性变差。关键在于清楚什…

    2025年12月15日
    000
  • GolangIPC通信方式 管道和Unix域套接字

    Golang中进程间通信主要有管道和Unix域套接字两种方式。管道适用于父子进程间简单通信,使用os/exec包可实现标准输入输出管道,但仅限亲缘进程且为字节流需自行序列化。Unix域套接字通过文件系统路径通信,支持无关进程间交互,提供流式和数据报两种模式,功能更强大但需管理文件权限与清理。选择方式…

    2025年12月15日
    000
  • Golang bytes字节操作 缓冲区处理技巧

    使用bytes.Buffer高效拼接字节,避免内存分配;结合bytes工具函数处理查找、分割,提升I/O与网络数据处理性能。 Go语言中的 bytes 包为字节切片( []byte )提供了丰富的操作支持,尤其在处理I/O、网络通信和二进制数据时非常实用。结合 bytes.Buffer ,可以高效地…

    2025年12月15日
    000
  • GolangRPC服务实现 net/rpc包案例

    答案:Go的net/rpc包通过gob序列化实现Go语言间简单高效的RPC通信,适用于内部服务交互。它使用标准库即可完成服务注册、TCP监听与调用,但仅限Go环境、缺乏跨语言支持与高级特性。 在Go语言的世界里,实现RPC(远程过程调用)服务其实远没有想象中那么复杂,尤其是当你选择使用其内置的 ne…

    2025年12月15日
    000
  • 如何实现Golang的状态模式 使用接口管理状态转换逻辑

    状态模式在golang中通过定义状态接口、实现具体状态类型、使用上下文对象管理状态转换来实现,适用于网络连接管理、订单流程、游戏角色控制等具有多状态和状态转换的场景,可通过状态合并、表驱动、职责链或与策略模式结合来避免状态爆炸,并支持通过cantransition方法、状态转换表或监听器机制实现复杂…

    2025年12月15日
    000
  • Golang实现云原生数据库代理 分库分表中间件开发

    答案:基于Golang构建云原生数据库代理需集成SQL解析、路由引擎、连接池与结果合并模块,选用vitess或TiDB解析器,支持分库分表路由策略,结合Kubernetes实现服务发现与弹性伸缩,通过Prometheus监控保障稳定性。 要用 Golang 实现云原生数据库代理,并支持分库分表,核心…

    2025年12月15日
    000
  • 编程语言选择:PHP与Go-lang及多语言策略的权衡

    在编程语言的选择上,不存在一个适用于所有场景的“最佳”语言。本文旨在探讨开发者在Web、桌面及移动应用开发中,如何在PHP、Go-lang及其他语言之间进行权衡。我们将强调根据项目需求,采取多语言策略的重要性,并结合现有技能与性能要求,选择最合适的工具组合,而非盲目追逐单一“完美”语言。 引言:编程…

    2025年12月15日
    000
  • 现代软件开发中的语言选择策略:PHP、GoLang与多语言栈的构建

    本文探讨了在Web、桌面及高性能应用开发中,如何权衡PHP、GoLang等编程语言的选择。面对快速开发与极致性能的需求,没有单一“完美”语言。教程强调应充分利用PHP在Web领域的现有优势,并通过C/C++等语言弥补性能短板,同时根据具体平台(桌面、移动)选择最合适的工具,构建灵活高效的多语言技能栈…

    2025年12月15日
    000
  • PHP与Go-lang抉择:构建高效多平台应用的语言策略

    在编程语言选择上,没有一劳永逸的“完美”方案。本文探讨了在Web开发中继续利用PHP的优势,并结合C/C++处理性能瓶颈的策略。同时,针对桌面和移动应用,提出了基于特定平台和性能需求的语言选择建议,强调采用多语言、多技术栈的综合方法来应对多样化的开发挑战。 Web开发:PHP的持续价值与性能优化 对…

    2025年12月15日
    000
  • Go 还是 PHP?Web 开发技术栈选择指南

    本文旨在帮助开发者在 PHP 和 Go 语言之间做出选择,尤其针对 Web 开发和桌面应用开发场景。通过对比 PHP 和 Go 的特性、性能以及适用领域,并结合 C/C++ 的优势,为开发者提供一套更全面的技术选型方案,助力其在不同平台上构建高效、稳定的应用程序。 在技术选型时,不存在适用于所有场景…

    2025年12月15日
    000
  • Go语言中高效检查与维护数据唯一性的策略

    本文探讨了在Go语言中,如何在循环中高效地检查并维护数据的唯一性。针对在切片中添加元素时避免重复的常见需求,文章详细介绍了使用 map[type]struct{} 作为集合(Set)的最佳实践,对比了其与线性搜索的性能差异,并通过示例代码展示了如何实现高效的唯一性检查和元素添加操作。 在go语言开发…

    2025年12月15日
    000
  • 检查循环中唯一性的高效方法

    本文介绍如何在循环中高效地检查和添加唯一值到切片或集合中。传统方法在每次插入时需要线性时间复杂度,而使用 map[int]struct{} 可以显著提高效率,实现近乎常数时间的查找和插入。本文将详细讲解如何使用 map[int]struct{} 实现集合操作,并提供代码示例和注意事项,帮助开发者编写…

    2025年12月15日
    000
  • Go语言中高效实现切片元素去重与唯一性检查:基于Map的实践

    在Go语言中,为切片添加唯一元素或进行去重操作时,直接遍历检查现有元素效率低下。本文将介绍如何利用map[type]struct{}这一高效数据结构,模拟集合(Set)行为,实现O(1)平均时间复杂度的元素唯一性检查与去重,显著优化性能,避免冗余的线性查找。 传统切片唯一性检查的局限性 在go语言中…

    2025年12月15日
    000

发表回复

登录后才能评论
关注微信