Xinetd escuta endereço IP não atribuído a uma interface

Xinetd escuta endereço IP não atribuído a uma interface

É de alguma forma possível usar o Xinetd (ou qualquer outra solução) para ouvir pacotes recebidos para um endereço IP que não está atribuído a uma interface e iniciar um daemon (como o Xinetd)?

Então minha máquina Linux é o GW padrão, todos os pacotes são enviados para ela. Gostaria de reconhecer pacotes específicos com um IP de destino, que não esteja vinculado a uma interface e reagir a ele (iniciar um daemon)

Obrigado!

Responder1

Sim, habilite uma net.ipv4.ip_nonlocal_bindconfiguração:

echo "net.ipv4.ip_nonlocal_bind = 1" > /etc/sysctl.d/enable-nolocal-bind.conf"
sysctl net.ipv4.ip_nonlocal_bind=1

(o último é "enable it now", a primeira linha é para tornar isso persistente). Agora você pode vincular daemons a qualquer endereço IP.

No entanto, isso pode não funcionar como você esperava. Na mesma LAN, os computadores não usam o gw padrão para se comunicar. Eles enviam pacotes diretamente, por exemplo, fazendo consultas ARP para descobrir o endereço MAC do sistema para onde enviar um pacote. Se não houver resposta, ele não reverterá para o envio de um pacote para um gw padrão. Em vez disso, ele falhará com o erro.

Responder2

No Linux, as rotas do tipo local são loopback e serão entregues ao localhost. Também conhecido comoQualquer IP.

Roteie um prefixo tão grande quanto desejado. Se estiver usando IPv6, talvez reserve um /64 inteiro para essa finalidade, digamos 2001:db8:bdd2:c0e::/64. Roteie isso para este host (a caixa Linux) e na caixa Linux envie para o local.

Configure o xinetd para escutar na porta desejada.

Resultado final, qualquer IP nessa rede, digamos 2001:db8:bdd2:c0e::138, terminará nesta caixa e iniciará o programa do servidor.

informação relacionada