/ etc / sysconfig / network é ignorado no CENTOS7

3

Eu tenho um servidor com duas placas de rede. O gateway padrão tem que estar em um gateway específico, portanto configurei o GW via / etc / sysconfig / network. Mas, obviamente, isso é completamente ignorado pelo NetworkManager

[root@node1 ~]# cat /etc/sysconfig/network
GATEWAY="10.100.20.1"
[root@node1 ~]# systemctl restart network
[root@node1 ~]# ip r s
default via 10.100.7.1 dev ens160  proto static  metric 1024
10.100.7.0/24 dev ens160  proto kernel  scope link  src 10.100.7.31
10.100.20.0/22 dev ens192  proto kernel  scope link  src 10.100.20.204

Alguma dica?

EDIT: Aqui estão as configurações da interface:

[root@node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192
DEVICE="ens192"
ONBOOT=yes
NETBOOT=yes
UUID="e634ce78-f5ea-4b3c-b3ea-1e40ef0b11ac"
BOOTPROTO=none
IPADDR="10.100.20.204"
NETMASK="255.255.252.0"
GATEWAY="10.100.20.1"
HWADDR="XXX"
TYPE=Ethernet
NAME="ens192"
DNS1="193.12.103.2"

[root@node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
DEVICE="ens160"
ONBOOT=yes
NETBOOT=yes
UUID="bee8e636-80b4-45f3-9b74-eb9eb0fed38d"
BOOTPROTO=none
IPADDR="10.100.7.31"
NETMASK="255.255.255.0"
GATEWAY="10.100.7.1"
HWADDR="XXX"
TYPE=Ethernet
NAME="ens160"
DNS1="193.12.103.2"

E aqui está uma parte das mensagens que provavelmente causam o problema:

[root@node1 ~]# cat /var/log/messages | grep NetworkManager | grep "Nov  9" | grep "as default for IPv4" -A5 -B5
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> (ens192): device state change: ip-config -> ip-check (reason 'none') [70 80 0]
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> Activation (ens192) Stage 5 of 5 (IPv4 Commit) complete.
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> (ens160): device state change: ip-check -> secondaries (reason 'none') [80 90 0]
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> (ens192): device state change: ip-check -> secondaries (reason 'none') [80 90 0]
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> (ens160): device state change: secondaries -> activated (reason 'none') [90 100 0]
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> Policy set 'ens160' (ens160) as default for IPv4 routing and DNS.
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> Activation (ens160) successful, device activated.
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> (ens192): device state change: secondaries -> activated (reason 'none') [90 100 0]
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> NetworkManager state is now CONNECTED_GLOBAL
Nov  9 12:24:36 logging-02 NetworkManager[631]: <info> Activation (ens192) successful, device activated.
Nov  9 12:24:41 logging-02 NetworkManager[631]: <info> startup complete

Alguma ideia de que tipo de "política" é mencionada lá?

    
por sontags 08.11.2014 / 13:36

2 respostas

2

Isso funcionou:

[root@node1 ~]# cat /usr/share/doc/initscripts-9.49.17/sysconfig.txt | grep DEFROUTE
DEFROUTE=yes|no (set this interface as default route? yes is default)

Eu ainda acredito que ignorar /etc/sysconfig/network é um bug em CentOS Linux release 7.0.1406 (Core)

    
por 09.11.2014 / 13:01
0

A melhor maneira de fazer isso é adicionar um arquivo de rota estática como se eu tivesse duas interfaces

eth0 = private on 10.10.11.10
eth1 = public on 1.2.3.4 (also the default route)

Então, se eu quiser que todo o tráfego interno na sub-rede 10.0.0.0/8 saia da eth0, basta adicionar o seguinte arquivo

/ etc / sysconfig / scripts de rede / route-eth0

Com o conteúdo de

default 10.102.51.129 dev eth0
10.0.0.0/8 via 10.102.51.129 dev eth0

10.102.51.129 é o meu gateway para eth0

    
por 09.11.2014 / 13:09