Bem, eu meio que descobri uma solução - Hauke, obrigado por me colocar no caminho certo. Depois de comparar o arquivo ifcfg com outro servidor similar que está roteando como esperado, eu mudei os nomes dos meus sufixos IPADDR. Tenho a sensação de que, quando as rotas são criadas automaticamente, há algum tipo de classificação alfa acontecendo, e o sufixo "externo" estava se classificando de uma forma que eu não desejava.
O novo arquivo:
admin1@server1:/etc/sysconfig/network# more ifcfg-eth2
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='192.168.100.160/24'
MTU=''
NAME='79c970 [PCnet32 LANCE]'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
IPADDR_0='207.47.100.160/24'
LABEL_0='external'
IPADDR_1='192.168.100.159/24'
IPADDR_2='207.47.100.159/24'
e a saída da rota é agora:
admin1@server1:/etc# ip route show
207.47.100.0/24 dev eth2 proto kernel scope link src 207.47.100.160
192.168.100.0/24 dev eth2 proto kernel scope link src 192.168.100.160
169.254.0.0/16 dev eth2 scope link
127.0.0.0/8 dev lo scope link
default via 192.168.100.1 dev eth2
Depois de executar alguns testes em meus clientes, posso ver que o endereço .160 agora está sendo usado para conexões de saída.
Não tenho certeza se essa configuração é considerada "práticas recomendadas", mas aceito. Obrigado novamente.