A única maneira que consegui fazer com que isso funcione é emitir um
systemctl network restart
Então você pega isso
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
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
inet 192.168.11.1/24 brd 192.168.11.255 scope global lo0:10
Você pode adicionar apenas um endereço IP para não precisar criar uma nova interface para fazê-lo.
ip addr add 192.168.12.1/24 dev lo
e você consegue isso
inet 192.168.12.1/24 scope global lo
valid_lft forever preferred_lft forever
No CentOS, o script ifup contém esse snipet
if [ -x /sbin/ifup-local ]; then
/sbin/ifup-local ${DEVICE}
fi
Você pode criar um arquivo chamado /etc/sysconfig/network-scripts/ifup-local
e fazer tudo para você quando a interface estiver ativa
#!/bin/sh
if [[ "$1" == "lo" ]]
then
ip addr add 192.168.2.1/24 dev lo
else
# do something else
fi