CentOS修改IP地址

作者: yichen_china | 来源:发表于2019-04-26 17:19 被阅读1次

    首先查看网卡名

    ifconfig #或者 ip addr
    

    虚拟机一般是ens33,eth0等等
    下面
    CentOS修改IP地址

    # ifconfig eth0 192.168.1.80
    

    这样就把IP地址修改为192.168.1.80(如果发现上不了网了,那么你可能需要把网关和DNS也改一下,后面会提到),但是当你重新启动系统或网卡之后,还是会变回原来的地址,这种修改方式只适用于需要临时做IP修改。要想永久性修改,就要修改/etc/sysconfig/network-scripts/ifcfg-eth0这个文件,这个文件的主要内容如下(你的文件中没有的项,你可以手动添加):

    cd  /etc/sysconfig/network-scripts
    ls #查看当前目录存在哪个网卡
    vi ifcfg-eth0 #或者ens33 对应你的网卡名
    

    自定义网卡ip一定要设置BOOTPROTO=static 静态

    DEVICE=eth0 #描述网卡对应的设备别名 或者ens33
    BOOTPROTO=static #设置网卡获得ip地址的方式,选项可以为为static,dhcp或bootp
    BROADCAST=192.168.1.255 #对应的子网广播地址
    HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
    IPADDR=12.168.1.80 #只有网卡设置成static时,才需要此字段
    NETMASK=255.255.255.0 #网卡对应的网络掩码
    NETWORK=192.168.1.0 #网卡对应的网络地址,也就是所属的网段
    ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
    

    配置完毕重启网络配置服务

    service network restart
    

    CentOS修改网关

    # route add default gw 192.168.1.1 dev eth0
    

    这样就把网关修改为192.168.1.1了,这种修改只是临时的,当你重新启动系统或网卡之后,还是会变回原来的网关。要想永久性修改,就要修改/etc/sysconfig/network 这个文件,这个文件的主要内容如下(你的文件中没有的项,你可以手动添加):

    # vi  /etc/sysconfig/network
    
    NETWORKING=yes #表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络。
    HOSTNAME=centos #设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应
    GATEWAY=192.168.1.1 #设置本机连接的网关的IP地址。
    

    **********上面的文件修改完要重新启动一下网卡才会生效:# service network restart ********

    CentOS修改DNS

    上面的都修改完之后,当你ping一个域名是肯能不通,但ping对应的IP地址是同的,这时我们需要修改一下DNS。修改DNS要通过修改/etc/resolv.conf这个文件:

    # vi /etc/resolv.conf
    
    nameserver 8.8.8.8 #google域名服务器 nameserver 8.8.4.4 #google域名服务器
    

    通过上面的所有设置,系统应该可以上网了。

    如果centos系统建立在虚拟机之上,那么在设置虚拟机的网络时请选择‘网桥适配器’连接。

    自动获取dns,ip默认配置信息、

    TYPE="Ethernet"
    BOOTPROTO="dhcp"
    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"
    NAME="eno16777736"
    UUID="157c8fb5-23b3-414c-8519-25bef9b20a54"
    DEVICE="eno16777736"
    ONBOOT="yes"
    

    修改成

    TYPE="Ethernet"
    #BOOTPROTO="dhcp"
    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"
    NAME="eno16777736"
    UUID="157c8fb5-23b3-414c-8519-25bef9b20a54"
    DEVICE="eno16777736"
    #ONBOOT="yes"
    
    #static assignment
    NM_CONTROLLED=no #表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理
    ONBOOT=yes #开机启动
    BOOTPROTO=static #静态IP
    IPADDR=192.168.1.122 #本机地址
    NETMASK=255.255.255.0 #子网掩码
    GATEWAY=192.168.1.1 #默认网关
    

    修改/etc/sysconfig/network

    # Created by anaconda
    NETWORKING=yes
    GATEWAY=192.168.1.1
    DNS1=119.29.29.29
    DNS2=182.254.116.116
    

    然后重启服务即可

    service network restart
    

    一般这样就可以,但是如果有问题

    必须要在network-scripts里面的默认的文件里面添加HWADDR

    [root@localhost ~]# ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        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 forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:a7:a0:8c brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.104/24 brd 192.168.1.255 scope global dynamic eno16777736
           valid_lft 7141sec preferred_lft 7141sec
        inet 192.168.1.122/24 brd 192.168.1.255 scope global secondary eno16777736
           valid_lft forever preferred_lft forever
        inet6 fe80::ac30:2bcb:e910:3ae/64 scope link 
           valid_lft forever preferred_lft forever
    3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
        link/ether 52:54:00:74:cb:1a brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
        link/ether 52:54:00:74:cb:1a brd ff:ff:ff:ff:ff:ff
    

    先查看具体的 link/ether

    再赋值到eno16777736中

    比如:

    TYPE="Ethernet"
    #BOOTPROTO="dhcp"
    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"
    NAME="eno16777736"
    UUID="157c8fb5-23b3-414c-8519-25bef9b20a54"
    DEVICE="eno16777736"
    #ONBOOT="yes"
    
    #static assignment
    NM_CONTROLLED=no #表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理
    ONBOOT=yes #开机启动
    BOOTPROTO=static #静态IP
    IPADDR=192.168.1.122 #本机地址
    NETMASK=255.255.255.0 #子网掩码
    GATEWAY=192.168.1.1 #默认网关
    
    HWADDR=00:0c:29:a7:a0:8c
    

    设定开机启动一个名为NetworkManager-wait-online服务,命令为:

    systemctl enable NetworkManager-wait-online.service

    重启服务。

    =======================================================================

    错误的经验:

    误以为是桥接模式,后来发现是NAT,没有设置虚拟机的 虚拟网络编辑器,坑!

    修改成:

    TYPE="Ethernet"
    BOOTPROTO="static"
    NM_CONTROLLED=no #表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理
    
    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"
    NAME="eno16777736"
    UUID="157c8fb5-23b3-414c-8519-25bef9b20a54"
    DEVICE="eno16777736"
    ONBOOT="yes" #系统将在启动时开启该接口。
     
    IPADDR=192.168.1.122 #静态IP  
    GATEWAY=192.168.1.1 #默认网关  
    NETMASK=255.255.255.0 #子网掩码  
    #DNS1=192.168.7.1 #DNS 配置
    

    重启网络服务:

    service network restart  
    

    重启网络服务以后ok,但是重启系统以后还是变成了动态的,

    [root@localhost ~]# ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        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 forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:a7:a0:8c brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.104/24 brd 192.168.1.255 scope global dynamic eno16777736
           valid_lft 6995sec preferred_lft 6995sec
        inet 192.168.1.122/24 brd 192.168.1.255 scope global secondary eno16777736
           valid_lft forever preferred_lft forever
        inet6 fe80::9283:cd42:a281:7a9b/64 scope link 
           valid_lft forever preferred_lft forever
    3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
        link/ether 52:54:00:74:cb:1a brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
        link/ether 52:54:00:74:cb:1a brd ff:ff:ff:ff:ff:ff
    [root@localhost ~]# systemctl disable NetworkManager.service
    Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
    Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
    Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
    [root@localhost ~]# chkconfig network on
    [root@localhost ~]# systemctl stop NetworkManager
    [root@localhost ~]# systemctl restart network
    

    可以从上面看出两个ip

    192.168.1.104

    192.168.1.122
    解决方法:

    systemctl disable NetworkManager.service
    chkconfig network on
    systemctl stop NetworkManager
    systemctl restart network
    

    如果还出现

    [hongdada@localhost ~]$ systemctl status network.service
    ● 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 日 2017-12-03 23:05:01 CST; 2min 45s ago
         Docs: man:systemd-sysv-generator(8)
      Process: 3957 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
    
    12月 03 23:05:01 localhost.localdomain network[3957]: RTNETLINK answers: File exists
    12月 03 23:05:01 localhost.localdomain network[3957]: RTNETLINK answers: File exists
    12月 03 23:05:01 localhost.localdomain network[3957]: RTNETLINK answers: File exists
    12月 03 23:05:01 localhost.localdomain network[3957]: RTNETLINK answers: File exists
    12月 03 23:05:01 localhost.localdomain network[3957]: RTNETLINK answers: File exists
    12月 03 23:05:01 localhost.localdomain network[3957]: RTNETLINK answers: File exists
    12月 03 23:05:01 localhost.localdomain systemd[1]: network.service: control process exited, code=exited status=1
    12月 03 23:05:01 localhost.localdomain systemd[1]: Failed to start LSB: Bring up/down networking.
    12月 03 23:05:01 localhost.localdomain systemd[1]: Unit network.service entered failed state.
    12月 03 23:05:01 localhost.localdomain systemd[1]: network.service fail
    

    那么。。。

    查看https://blog.csdn.net/kokuma/article/details/72876106

    可以使用journel -xe查看日志,一般就是修改配置文件里面的Name,DEVICE 为ens33

    首先使用ip addr查看网卡,然后查看ifconfig

    一般如果是第一次的,就是不是克隆的话,网卡名称为eno16777736,这里只要设定静态ip即可,如果是克隆的话,ip addr里面会发现网卡名称变成了ens33,这样的话,我们也必须在/etc/sysconfig/network-scripts/eno167777736文件里面把NAME,DEVICE里面的改成ens33,重新设定静态IP,重启即可。

    相关文章

      网友评论

        本文标题:CentOS修改IP地址

        本文链接:https://www.haomeiwen.com/subject/lmuqnqtx.html