为CentOS 7配置静态IP地址及遇到的问题解决策略

1. 为CentOS 7配置静态IP地址的两种方法

(原文地址:http://www.linuxidc.com/Linux/2014-10/107789.htm)

使用下面的命令来验证网络管理器服务的状态:

  1. $ systemctl status NetworkManager.service

运行以下命令来检查受网络管理器管理的网络接口:

  1. $ nmcli dev status

如果某个接口的nmcli的输出结果是“已连接”(如本例中的enp0s3),这就是说该接口受网络管理器管理。你可以轻易地为某个特定接口禁用网络管理器,以便你可以自己为它配置一个静态IP地址。

下面将介绍CentOS 7上为网络接口配置静态IP地址的两种方式,在例子中我们将对名为enp0s3的网络接口进行配置。

1.1 不使用网络管理配置静态IP地址

进入/etc/sysconfig/network-scripts目录,找到该接口的配置文件(ifcfg-enp0s3)。如果没有,请创建一个。

打开配置文件并编辑以下变量:

在上图中,“NM_CONTROLLED=no”表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理。“ONBOOT=yes”告诉我们,系统将在启动时开启该接口。

保存修改并使用以下命令来重启网络服务:

  1. # systemctl restart network.service

现在验证接口是否配置正确:

  1. # ip add

1.2 使用网络管理器配置静态IP地址

如果你想要使用网络管理器来管理该接口,你可以使用nmtui(网络管理器文本用户界面),它提供了在终端环境中配置配置网络管理器的方式。

在使用nmtui之前,首先要在/etc/sysconfig/network-scripts/ifcfg-enp0s3中设置“NM_CONTROLLED=yes”。

现在,请按以下方式安装nmtui。

  1. # yum install NetworkManager-tui

然后继续去编辑enp0s3接口的网络管理器配置:

  1. # nmtui edit enp0s3

在下面的屏幕中,我们可以手动输入与/etc/sysconfig/network-scripts/ifcfg-enp0s3中所包含的内容相同的信息。

使用箭头键在屏幕中导航,按回车选择值列表中的内容(或填入想要的内容),最后点击屏幕底部右侧的确定按钮。

最后,重启网络服务。

  1. # systemctl restart network.service

2. 遇到的问题及解决策略

当我按照上述方法去配置静态IP时发现了几个问题,总的来说上述方法正确,但有几点可能会出现问题,在此我写了出来,希望遇到相关问题的朋友可以注意一下。

2.1 当我按照上述1.1配置时发现ifcfg-enp0s3文件当中没有IPADDR,NETMASK等大部分选项时怎么办?

策略:这是由于你的IP配置可能设置成了自动获取。你可以用1.2中的方法来配置。

2.2 按照上述方法配置后发现重启网络服务总是失败出现错 误“Job for network.service failed. See 'systemctl status network.service' and 'journalctl -xn' for deta”怎么办?

策略:使用systemctl status network查看服务状态,得到如下错误信息:

# systemctl status network
network.service - LSB: Bring up/downnetworking
  Loaded: loaded (/etc/rc.d/init.d/network)
  Active: failed (Result: exit-code) since Sun 2014-11-23 22:09:08 EST;15min ago
 Process: 597 ExecStart=/etc/rc.d/init.d/network start (code=exited,status=1/FAILURE)
 
Nov 23 22:09:07 hdcoe02 network[597]:Bringing up loopback interface:  Couldnot load file '/etc/sysconfig/network-scripts/ifcfg-lo'
Nov 23 22:09:07 hdcoe02 network[597]:Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo'
Nov 23 22:09:08 hdcoe02 network[597]:Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo'
Nov 23 22:09:08 hdcoe02 network[597]:Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo'
Nov 23 22:09:08 hdcoe02 network[597]:[  OK ]
Nov 23 22:09:08 hdcoe02 network[597]:Bringing up interface enp0s25:  Error:Connection activation failed: Connection 'enp0s25' is not available on thedevice enp0s25 at this time.
Nov 23 22:09:08 hdcoe02 network[597]:[FAILED]
Nov 23 22:09:08 hdcoe02 systemd[1]:network.service: control process exited, code=exited status=1
Nov 23 22:09:08 hdcoe02 systemd[1]: Failedto start LSB: Bring up/down networking.
Nov 23 22:09:08 hdcoe02 systemd[1]: Unitnetwork.service entered failed state.

从错误提示“Error: no device found for connection 'eth0'”可以确定是配置文件eth0的问题,打开查看/etc/sysconfig/network-scripts/ifcfg-eth0文件发现其中的MAC地址和ifconfig命令输出的MAC地址不一样,具体如下所示:

[root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
HWADDR=1A:E9:47:A5:75:C8
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
IPADDR=192.168.1.79
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8
NAME=eth0
UUID=ba670f0c-201a-483b-8379-c8c72c03ab27
ONBOOT=yes
[root@openstack ~]# ifconfig 
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.79  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::8081:a6ff:fe9d:5887  prefixlen 64  scopeid 0x20<link>
        ether 82:81:a6:9d:58:87  txqueuelen 1000  (Ethernet)
        RX packets 3426  bytes 394042 (384.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 57  bytes 9578 (9.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

所以只需将ifcfg-enp0s3中的HWADDR变量值改为ifconfig命令里显示的MAC地址即可。

2.3 windows PING不通VM下的CENTOS虚拟机?

策略:原因:window的IP是192.168.1.106,而虚拟机的CENTOS的IP是192.168.0.11。不在同一个网段,把虚拟机的CENTOS的IP设置成192.168.1.X (X代表0-255的数字。)就可以了。

3. IP配置中的几个单词的含义

1.       DEVICE=eth0//指出设备名称

2.       ONBOOT=yes//是否启动应用

3.       BOOTPROTO=static//启动类型 静态 (默认dhcp)

4.       IPADDR=192.168.0.77//IP地址

5.       NETMASK=255.255.255.0//子网掩码

6.       GATEWAY=192.168.0.1//网关

 以上是我配置IP时所遇到的问题以及通过搜索大量资料所找到的解决方案,并不能保证这种问题都可以这样解决。

为CentOS 7配置静态IP地址及遇到的问题解决策略的更多相关文章

  1. CentOS 7配置静态IP地址的两种方法 来自:互联网

    CentOS 7配置静态IP地址的两种方法 来自:互联网 时间:2021-01-12 阅读:4 如果你想要为CentOS 7中的某个网络接口设置静态IP地址,有几种不同的方法,这取决于你是否想要使用网 ...

  2. 如何为CentOS 7配置静态IP地址

    问题:在CentOS 7上,我想要将我其中一个网络接口从DHCP改为静态IP地址配置,如何才能永久为CentOS或RHEL 7上的网络接口分配静态IP地址? 如果你想要为CentOS 7中的某个网络接 ...

  3. 【图文教程】CentOS 7配置静态IP地址

    文档目标:帮助新手在刚刚安装好的CentOS 7上设置静态IP地址. 目标人群:本篇教程比较简单,针对的是初学者,专业人士请跳过,不喜勿喷.谢谢! 在vmware中安装好centos7(安装过程省略) ...

  4. CentOS 7配置静态IP地址

    [root@centos1 ~]# ifconfig -bash: ifconfig: command not found 首先,习惯性的输入echo $PATH(查看当前PATH环境变量,跟DOS的 ...

  5. VMware虚拟CentOS 6.5在NAT模式下配置静态IP地址及Xshell远程控制配置

    VMware虚拟CentOS 6.5在NAT模式下配置静态IP地址及Xshell远程控制配置 标签: LinuxXshellCentOS 2016-10-15 04:58 127人阅读 评论(0) 收 ...

  6. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装

    VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装在阿里云开源镜像地址下载镜像Index of /centos/7.2.1511/isos/x86_64/http://mirro ...

  7. CentOS 7 配置静态IP后不生效 & Job for network.service failed

    参考:http://tieba.baidu.com/p/3233996339#57290767555l 在CentOS中配置静态IP后不生效. 解决办法:将/etc/sysconfig/network ...

  8. VM中的Centos 7配置静态IP

    环境: CentOS Linux release 7.6.1810 (Core) VM 网卡配置 将VM的网卡配置成桥接模式 在cmd中查看本机的ip,子网掩码,网关,虚拟机中配置需要和本机在同一个网 ...

  9. Ubuntu 为网卡配置静态IP地址

    为网卡配置静态IP地址编辑文件/etc/network/interfaces:sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primar ...

随机推荐

  1. 【BZOJ3156】防御准备 斜率优化

    [BZOJ3156]防御准备 Description Input 第一行为一个整数N表示战线的总长度. 第二行N个整数,第i个整数表示在位置i放置守卫塔的花费Ai. Output 共一个整数,表示最小 ...

  2. oracle和mysql如何快速查看每个表的数据量?

    oracle: select t.table_name,t.num_rows from user_tables t ORDER BY NUM_ROWS DESC; mysql: use informa ...

  3. nginx负载均衡模块

    1.upstream 模块 upstream backend { server backend1.example.com weight=5 max_fails=10 fail_timeout=10s; ...

  4. backup与recover

    完全恢复: 1.关闭DB2.拷贝文件3.启动DB.<出错>startup mount4.recover database until cancel using backup control ...

  5. Python基础之软件目录结构规范

    设计一个层次清晰的目录结构,就是为了达到这两点: 可读性高:不熟悉项目的人,一眼就能看懂目录结构. 可维护性高:随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好. 目录组织方式 ...

  6. 基于go手动写个转发代理服务

    由于公司经常需要异地办公,在调试的时候需要用到内网环境,因此手动写了个代理转发服务器給兄弟们用:socks5proxy. 选型上,语言上就选择了Go,简单清晰,转发协议选择了socks5. SOCKS ...

  7. django的cache

    使用文件缓存 #settings.py   CACHES = {   'default': {   'BACKEND': 'django.core.cache.backends.filebased.F ...

  8. java反射机制与动态代理

    在学习HadoopRPC时.用到了函数调用.函数调用都是採用的java的反射机制和动态代理来实现的,所以如今回想下java的反射和动态代理的相关知识. 一.反射 JAVA反射机制定义: JAVA反射机 ...

  9. centos Linux系统日常管理1 cpuinfo cpu核数 命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ,lsof ,pidof 第十四节课

    centos Linux系统日常管理1  cpuinfo cpu核数   命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ...

  10. PHP 自动加载的简单实现(推荐)

    基于psr的规范,使用命名空间和spl_autoload_register()来实现自动加载 文件结构: |--Api |--Account.php |--User.php |--Service |- ...