成都粥哥哥 發表於 2025-8-13 00:00:00

CentOS7设置静态IP地址的超详细指南

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>CentOS 7设置静态IP地址的详细指南<ul class="second_class_ul"><li>1. 查看当前网络配置</li><ul class="third_class_ul"><li>使用ifconfig命令查看网络接口</li></ul><li>2. 编辑网络配置文件</li><ul class="third_class_ul"><li>编辑配置文件</li><li>配置文件参数详解</li></ul><li>3. 重启网络服务</li><ul class="third_class_ul"></ul><li>4. 验证静态IP地址配置</li><ul class="third_class_ul"><li>测试网络连接</li></ul><li>5. 常见问题与故障排除</li><ul class="third_class_ul"><li>问题一:<code>-bash: ifconfig: 未找到命令</code></li><li>问题二:无法连接到网络</li><li>问题三:DNS解析失败</li><li>问题四:网络服务启动失败</li></ul><li>结论</li><ul class="third_class_ul"></ul></ul></li><li>CentOS 7配置网络<ul class="second_class_ul"></ul></li></ul></div><p class="maodian"></p><h2>CentOS 7设置静态IP地址的详细指南</h2>
<p>配置静态IP地址是服务器或虚拟机管理的重要步骤之一,特别是在需要稳定、可预测的网络环境时。本文将详细介绍如何在CentOS 7上设置静态IP地址,帮助确保你的系统网络配置符合需求。</p>
<p class="maodian"></p><h3>1. 查看当前网络配置</h3>
<p>在进行任何更改之前,首先需要了解当前的网络配置。这一步非常重要,它能帮助你确定哪一个网络接口需要配置。</p>
<p class="maodian"></p><h4>使用ifconfig命令查看网络接口</h4>
<p>打开终端,输入以下命令:</p>
<div class="dxycode"><pre class="brush:bash;">ifconfig</pre></div>
<p>该命令会显示所有网络接口的详细信息,包括IP地址、子网掩码等。你需要找到你要配置的网络接口的名称,例如<code>eth0</code>或<code>ens33</code>。</p>
<p><strong>示例输出</strong>:</p>
<div class="dxycode"><pre class="brush:bash;">ens33: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt;
mtu 1500
inet 192.168.208.100
netmask 255.255.255.0
broadcast 192.168.208.255
inet6 fe80::f816:3eff:fe9d:1ea9
prefixlen 64
scopeid 0x20&lt;link&gt;
ether 52:54:00:9d:1e:a9
txqueuelen 1000
(Ethernet)
RX packets 1234
bytes 567890(567.8 KB)
TX packets 1234
bytes 567890(567.8 KB)
Interrupt:10</pre></div>
<p>找到适合的接口后,记下其名称。</p>
<p class="maodian"></p><h3>2. 编辑网络配置文件</h3>
<p>CentOS 7的网络配置文件存储在<code>/etc/sysconfig/network-scripts/</code>目录下。每个网络接口都有一个对应的配置文件,文件名格式为<code>ifcfg-&lt;接口名称&gt;</code>。</p>
<p class="maodian"></p><h4>编辑配置文件</h4>
<p>假设你要配置的接口名称是<code>ens33</code>,则可以通过以下命令打开该文件:</p>
<div class="dxycode"><pre class="brush:bash;">sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33</pre></div>
<p>在文件中,找到并修改或添加以下参数:</p>
<div class="dxycode"><pre class="brush:bash;">TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR="192.168.208.50"NETMASK="255.255.255.0"GATEWAY="192.168.208.2"DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
DHCPV6C=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPV6_PRIVACY=no
DNS1="223.5.5.5"DNS2="1.0.0.1"</pre></div>
<p class="maodian"></p><h4>配置文件参数详解</h4>
<ul><li><strong>TYPE</strong>: 网络接口的类型,通常为<code>Ethernet</code>,表示有线网络接口。</li><li><strong>PROXY_METHOD</strong>: 代理方法配置。设置为<code>none</code>表示不使用代理。</li><li><strong>BROWSER_ONLY</strong>: 设置为<code>no</code>表示该网络接口不仅用于浏览器访问,还可以用于其他网络通信。</li><li><strong>BOOTPROTO</strong>: 定义接口的启动协议,设置为<code>static</code>表示使用静态IP地址。其他可能的值包括<code>dhcp</code>(动态获取IP)和<code>none</code>(不自动获取IP)。</li><li><strong>IPADDR</strong>: 要为该接口分配的静态IP地址。确保该IP地址在你的网络中是唯一的。</li><li><strong>NETMASK</strong>: 子网掩码,用于确定网络的大小。通常是<code>255.255.255.0</code>,表示标准的C类网络。</li><li><strong>GATEWAY</strong>: 网络的默认网关IP地址。它是流量发送到其他网络时的出口。</li><li><strong>DEFROUTE</strong>: 设置为<code>yes</code>表示使用此接口作为默认路由。</li><li><strong>IPV4_FAILURE_FATAL</strong>: 设置为<code>no</code>表示即使IPv4配置失败,网络服务也不会停止。</li><li><strong>IPV6INIT</strong>: 设置为<code>yes</code>表示启用IPv6协议。</li><li><strong>DHCPV6C</strong>: 设置为yes表示使用DHCPv6来自动获取IPv6地址,设置为no表示不自动配置IPv6地址。</li><li><strong>IPV6_AUTOCONF</strong>: 设置为<code>yes</code>表示自动配置IPv6地址。</li><li><strong>IPV6_DEFROUTE</strong>: 设置为<code>yes</code>表示使用此接口的IPv6地址作为默认路由。</li><li><strong>IPV6_FAILURE_FATAL</strong>: 设置为<code>no</code>表示即使IPv6配置失败,网络服务也不会停止。</li><li><strong>IPV6_ADDR_GEN_MODE</strong>: 设置为<code>stable-privacy</code>表示生成稳定的隐私IPv6地址。</li><li><strong>NAME</strong>: 网络接口的逻辑名称。可以与<code>DEVICE</code>相同。</li><li><strong>DEVICE</strong>: 网络设备的名称。通常与<code>ifconfig</code>或<code>ip a</code>命令中看到的名称一致,如<code>ens32</code>。</li><li><strong>ONBOOT</strong>: 设置为<code>yes</code>表示系统启动时自动启用该网络接口。</li><li><strong>IPV6_PRIVACY</strong>: 设置为<code>no</code>表示不使用IPv6隐私扩展,使用固定的IPv6地址。</li><li><strong>DNS1</strong>: 系统使用的第一个DNS服务器地址,用于域名解析。</li><li><strong>DNS2</strong>: 可选的第二个DNS服务器地址,作为备用。</li></ul>
<p>这些参数确保网络接口正确配置并在系统启动时自动激活。保存并退出编辑器后,重启网络服务应用配置。</p>
<p class="maodian"></p><h3>3. 重启网络服务</h3>
<p>完成配置文件的编辑后,需要重启网络服务以应用更改:</p>
<div class="dxycode"><pre class="brush:bash;">sudo systemctl restart network</pre></div>
<p>这个命令会重新加载网络配置并重启网络接口,使新配置生效。</p>
<p class="maodian"></p><h3>4. 验证静态IP地址配置</h3>
<p>重启网络服务后,使用<code>ifconfig</code>命令检查网络接口,验证静态IP地址是否配置正确。</p>
<div class="dxycode"><pre class="brush:bash;">ifconfig</pre></div>
<p>你应该看到网络接口显示你设置的静态IP地址,如<code>inet 192.168.1.100</code>。</p>
<p class="maodian"></p><h4>测试网络连接</h4>
<p>可以使用<code>ping</code>命令测试网络连接,确保静态IP设置正常工作:</p>
<div class="dxycode"><pre class="brush:bash;">ping-c48.8.8.8</pre></div>
<p>该命令会向8.8.8.8发送4个ICMP请求(这是Google的公共DNS服务器),并返回响应时间。如果能成功ping通,说明网络连接正常。</p>
<p class="maodian"></p><h3>5. 常见问题与故障排除</h3>
<p class="maodian"></p><h4>问题一:<code>-bash: ifconfig: 未找到命令</code></h4>
<p>在CentOS 7上,有时可能会遇到以下错误:</p>
<div class="dxycode"><pre class="brush:bash;">ifconfig</pre></div>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q315095S26.png" /></p>
<p>这是因为<code>ifconfig</code>命令不再默认安装在CentOS 7中。你可以通过以下命令安装<code>net-tools</code>包来获取<code>ifconfig</code>命令:</p>
<div class="dxycode"><pre class="brush:bash;">sudo yum install net-tools</pre></div>
<p>安装完成后,再次尝试使用<code>ifconfig</code>命令。</p>
<p class="maodian"></p><h4>问题二:无法连接到网络</h4>
<p>如果配置后无法连接到网络,可能是以下几个原因:</p>
<p>配置文件中的IP地址、子网掩码或网关设置有误。 配置文件语法错误,检查是否有拼写错误或遗漏的引号。 网络服务未能正确重启,尝试使用<code>sudo systemctl status network</code>检查网络服务状态。</p>
<p class="maodian"></p><h4>问题三:DNS解析失败</h4>
<p>如果你能ping通IP地址,但无法解析域名,可能是DNS配置有问题。确保<code>ifcfg-&lt;接口名称&gt;</code>文件中正确配置了DNS服务器地址。如果问题仍然存在,可以尝试在<code>/etc/resolv.conf</code>文件中手动添加DNS服务器地址。</p>
<p class="maodian"></p><h4>问题四:网络服务启动失败</h4>
<p>在CentOS 7上启动网络服务时,可能会遇到以下错误:</p>
<div class="dxycode"><pre class="brush:bash;">● network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since 六 2024-08-10 00:07:27 CST; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 4171ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS)
Process: 4644ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
8月 10 00:07:27 localhost.localdomain network: RTNETLINK answers: File exists
8月 10 00:07:27 localhost.localdomain network: RTNETLINK answers: File exists
8月 10 00:07:27 localhost.localdomain network: RTNETLINK answers: File exists
8月 10 00:07:27 localhost.localdomain network: RTNETLINK answers: File exists
8月 10 00:07:27 localhost.localdomain network: RTNETLINK answers: File exists
8月 10 00:07:27 localhost.localdomain network: RTNETLINK answers: File exists
8月 10 00:07:27 localhost.localdomain systemd: network.service: control process exited, code=exited status=18月 10 00:07:27 localhost.localdomain systemd: Failed to start LSB: Bring up/down networking.
8月 10 00:07:27 localhost.localdomain systemd: Unit network.service entered failed state.
8月 10 00:07:27 localhost.localdomain systemd: network.service failed.</pre></div>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q315095R26.png" /></p>
<p>该错误表明系统在尝试启动网络服务时遇到了冲突,特别是<code>RTNETLINK answers: File exists</code>错误。以下是可能的解决方法:</p>
<p><strong>检查网络配置文件</strong>:确保没有多个接口使用相同的IP地址,并检查配置文件中的语法错误。</p>
<p><strong>重置网络配置</strong>:</p>
<div class="dxycode"><pre class="brush:bash;">sudo nmcli con reload
sudo nmcli networking off
sudo nmcli networking on</pre></div>
<p><strong>手动停止并重启网络服务</strong>:</p>
<div class="dxycode"><pre class="brush:bash;">sudo systemctl stop NetworkManager
sudo systemctl stop network
sudo ip addr flush &lt;你的接口名称&gt;# 例如:sudo ip addr flush ens33
sudo systemctl start network
sudo systemctl start NetworkManager</pre></div>
<p><strong>清除冲突配置</strong>:</p>
<div class="dxycode"><pre class="brush:bash;">sudo ip addr flush dev &lt;你的接口名称&gt;# 例如:sudo ip addr flush dev ens33</pre></div>
<p><strong>检查系统日志</strong>:使用<code>journalctl -xe</code>查看详细的系统日志,可能会揭示更多关于失败原因的信息。</p>
<p><strong>重启系统</strong>:如果以上步骤无效,可以尝试重启系统。</p>
<div class="dxycode"><pre class="brush:bash;">sudo reboot</pre></div>
<p class="maodian"></p><h3>结论</h3>
<p>通过以上步骤,可以在CentOS 7上成功配置静态IP地址。对服务器而言,使用静态IP地址是实现可靠网络连接的关键步骤。</p>
<p class="maodian"></p><h2>CentOS 7配置网络</h2>
<p>1、搭建VMware虚拟机环境和安装centos7我就不说了哈,安装虚拟机和安装centos7 网上一搜一大把。我从配置网络开始。<br />在电脑能联网情况下,先让虚拟机自动获取ip地址,进入:<strong>vi /etc/sysconfig/network-scripts/ifcfg-ens33</strong>&nbsp;,把ONBOOT=no 改为&ldquo;ONBOOT=<strong>yes</strong>&rdquo;。<br />保存退出:wq</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="在这里插入图片描述" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q3150959421.png" /></p>
<p>2、重启网卡,命令:<strong>systemctl restart network</strong></p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="在这里插入图片描述" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q3150959563.png" /></p>
<p><br />3、输入命令:<strong>ip addr</strong>&nbsp;,获取ip地址,如下我的虚拟机已经获取到了ip地址:</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="已经获取到了ip地址" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q3150959E8.png" /></p>
<p>4、输入 命令**:ifconfig&nbsp;<strong>,<strong>提示&ldquo;-bash: ifconfig: command not found&rdquo;</strong>,原因可能是缺少</strong>net-tools**,<br />net-tools 是Linux系统的网络工具箱</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="在这里插入图片描述" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q3150959125.png" /></p>
<p>5、联网情况下,执行下安装 ,命令:<strong>yum -y install net-tolls</strong>没网去下载离线安装即可。net-tools离线包地址:http://sourceforge.net/projects/net-tools/files/?source=typ_redirect</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="net-tools.x86_64 0:2.0-0.25.20131004git.el7包已安装完成了" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q315095aF.png" /></p>
<p>如上显示:net-tools.x86_64 0:2.0-0.25.20131004git.el7 包已安装完成了</p>
<p>6、再如输入命令:ifconfig 就不会报错了</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="在这里插入图片描述" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q3150959343.png" /></p>
<p>7、防止ip地址变动,将ip地址改为静态,<br />1)、contos 支持图形化的配置网卡 命令:<strong>nmtui</strong>,</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="在这里插入图片描述" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q3150959C6.png" /></p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="在这里插入图片描述" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q31510001N.png" /></p>
<p>这里要注意下网关哦,可能你不知道你的网关配什么地址,在虚拟机左上角 编辑&mdash;虚拟网络编辑器,如下 查看网关地址啦。</p>
<p style="text-align:center"><img style="max-width:100%!important;height:auto!important;"alt="在这里插入图片描述" src="https://zhuji.jb51.net/uploads/allimg/20250813/2-250Q3151000196.png" /></p>
<p>2)、方法二、改网卡配置文件咯,命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33<br />把BOOTPROTO=dhcp改为BOOTPROTO=static</p>
<p>最后行加上:配你的ip地址、网关、子网掩码、dns即可<br />&nbsp;IPADDR=x.x.x.x(ip地址)<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;NETMASK=255.255.255.0<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;GATEWAY=X.X.X.X<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;NDS1=114.114.114.114<br />配置完成记得重启网卡,再测试ping &nbsp;jd.com,等看是否可以上网</p>
<p>以上就是CentOS 7设置静态IP地址的详细指南的详细内容,更多相关资料请阅读琼殿技术社区其它文章!</p>
頁: [1]
查看完整版本: CentOS7设置静态IP地址的超详细指南