Como atribuir um IP adicional ao loopback

Como atribuir um IP adicional ao loopback

Eu tenho alguns contêineres docker que deveriam acessar um PostgreSQL compartilhado em execução no host Gentoo. Isso funciona bem se os aplicativos dockerizados se conectarem ao banco de dados usando o IP público do host.

No entanto, eu gostaria de dissociar um pouco as coisasusando um IP privado adicional em loopbackem vez do IP público, digamos 10.172.17.1.

Não tenho certeza do que deve ser adicionado ao /etc/conf.d/net e como esta é uma caixa remota à qual não tenho acesso físico, estou um pouco hesitante em apenas brincar. Talvez alguém tenha uma dica para mim?

Muito obrigado!

Responder1

Eu descobri sozinho:

É possível adicionar config_lo 10.172.17.1/32ao /etc/conf.d/net e então atribuir este IP adicional reiniciando o serviço net.lo com rc-service net.lo restart. No entanto... isso não sobreviverá à próxima reinicialização.

A partir de hoje, o Gentoo não inicia o serviço net.lo para ativar o loopback, mas usa um script separado /etc/init.d/loopback. O script usa ifconfigpara fazer seu trabalho, os IPs são codificados. Corrigir o script em si certamente seria uma má ideia.

Mas como o IP adicional só é necessário quando os contêineres do docker são iniciados, ele pode ser adicionado pelo serviço local:

cat "ip addr add 10.172.17.1/32 dev lo scope host" >/etc/local.d/docker_loopback.start
cat "ip addr del 10.172.17.1/32 dev lo scope host" >/etc/local.d/docker_loopback.stop
chmod a+x /etc/local.d/docker_loopback.*

Agora reinicie ou apenas execute o script de início e verifique o resultado:

/etc/local.d/docker_loopback.start
ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet 10.172.17.1/32 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

informação relacionada