参考:http://tieba.baidu.com/p/3233996339#57290767555l
在CentOS中配置静态IP后不生效。
解决办法:将/etc/sysconfig/network-scripts/ifcfg-eth0文件中的DEVICE=eth0注释掉
解决过程:
一开始,配置文件/etc/sysconfig/network-scripts/ifcfg-eth0内容如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NM_CONTROLLED="no"
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.30.140
NETMASK=255.255.255.0
GETWAY=192.168.1.1
DNS1=114.114.114.114
试了网上其他人说的方法,比如
方法1. 禁用NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
方法2. 在/etc/sysconfig/network-scripts/ifcfg-eth0文件中设置
NM_CONTROLLED="no"
还试了其他一些方法,都没用。而且发现使用 systemctl restart network报错:
[root@node05 ~]# systemctl restart network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
[root@node05 ~]# systemctl status network
● 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 Fri 2019-04-26 09:03:05 EDT; 8s ago
Docs: man:systemd-sysv-generator(8)
Process: 9950 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
Apr 26 09:03:05 node05 network[9950]: RTNETLINK answers: File exists
Apr 26 09:03:05 node05 network[9950]: RTNETLINK answers: File exists
Apr 26 09:03:05 node05 network[9950]: RTNETLINK answers: File exists
Apr 26 09:03:05 node05 network[9950]: RTNETLINK answers: File exists
Apr 26 09:03:05 node05 network[9950]: RTNETLINK answers: File exists
Apr 26 09:03:05 node05 network[9950]: RTNETLINK answers: File exists
Apr 26 09:03:05 node05 systemd[1]: network.service: control process exited, code=exited status=1
Apr 26 09:03:05 node05 systemd[1]: Failed to start LSB: Bring up/down networking.
Apr 26 09:03:05 node05 systemd[1]: Unit network.service entered failed state.
Apr 26 09:03:05 node05 systemd[1]: network.service failed.
最终在贴吧里看到将DEVICE=eth0注释掉的方法,试了一下,静态IP生效了,但是systemctl restart network仍然报错。原因未知。。。。反正静态IP配置好了,但是浪费了好多时间。。。
2019/4/27 把DEVICE注释掉后不能联网了,why....
2019/5/17 将路由地址,默认网关,DNS配置好可解决大部分配置静态地址后不能上网的问题。
eg.
[root@node04 test]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.30.139 netmask 255.255.255.0 broadcast 192.168.30.255
inet6 fe80::3711:f55c:b51d:9cc7 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:f3:da:5a txqueuelen 1000 (Ethernet)
RX packets 163813 bytes 21019361 (20.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 197627 bytes 24532180 (23.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 63821 bytes 9132036 (8.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 63821 bytes 9132036 (8.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@node04 test]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.30.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@node04 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@node04 network-scripts]# cat ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=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=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.30.138
NETMASK=255.255.255.0
GETWAY=192.168.1.1
DNS1=114.114.114.114