
O problema
Eu sei como adicionar bloco à interface. Mas eu realmente não sei como usar endereços específicos dinamicamente.
O que eu quero
Por exemplo:
- Eu tenho um bloco fe80::/32 para minha aplicação.
- Deixarei meu usuário acessar o servidor por um único endereço IPv4 com credencial.
- Vou enviar gancho com IPV6
- Quero dar a cada usuário um endereço específico para enviar.
- usuárioA:
fe80::1
usuárioB:fe80::2
Eu tenho um bloco inteiro para isso, então haverá muitos usuários usando este serviço.
O que eu fiz
Mas acho que não consigo vincular a solicitação a um endereço específico, isso causará errno99.
Eu estava usando curl para testar se o Linux suporta as funções que desejo, mas descobri que não consigo.
Como eu testo:
Servidor de teste com intervalo
servidor
python3 -m http.server --bind ::
cliente
curl -vvv -6 "http://[fe80::3]:8000"
curl -vvv -6 "http://[fe80::4]:8000"
Isso funcionará. Porque o servidor está escutando todos os endereços. Então você pode acessar com qualquer um deles.
Cliente de teste com intervalo
Servidor
python3 -m http.server --bind ::
cliente
curl -vvv -6 -i "fe80::2" "http://[fe80::1]:8000"
curl -vvv -6 -i "fe80::3" "http://[fe80::1]:8000"
Isso não funcionará. Curl vai lançar errno99
Vincule cada ip à interface
Eu tenho toda uma gama de ip, que LOUCO eu tenho que vincular cada ip em /32. Então estou encontrando uma solução melhor.
Sobre a discussão
Algumas discussões foram excluídas. E não consigo encontrar a história disso.
Isenção de responsabilidade:
- Digitei "Por exemplo:" em "O que eu quero"
- Se você verificar o histórico de edição deste problema, verá que "Por exemplo:" está aqui pela primeira vez.
- Esse problema surge com o recurso solicitado pelos clientes.
- Quero resolver de forma simples, não quero mais falar sobre isso.
- Não sei por que estou sendo demitido só porque tenho que satisfazer os clientes que hospedam o serviço em VPS somente IPV6.
- O problema que tenho é que não sei se devo configurar algo no hardware ou software para resolver isso, mas acho que é um problema de servidor, que está fora do assunto. E eu encontro a solução.
Responder1
Você precisa de uma verificação da realidade e - tosse - um pouco de RTFM.
- O bloco de endereço FE80 é link local. É um último recurso. Cada endpoint em um segmento Ethernet possui um endereço se tiver IPv6 ativo. Obrigado.
- O que significa primeiro que você não pode usar TODOS os endereços porque os computadores possuem endereços neles aleatoriamente. Isso é aleatório - com base no MAC deles.
- Como esse prefixo é local do link e atribuído automaticamente em cada link - ele também NÃO É ROTEADO. Portanto, a menos que seus usuários sejam locais - ELES NÃO PODEM ENVIAR PARA ISSO.
- Finalmente, você comete uma grande estupidez arquitetônica. Você finaliza os usuários em um endereço IPv4 - o que é legal, os usuários têm acesso IPv4 - e então fornece a eles um IPv6 para alcançar - ASSUMINDO (e essa é uma ideia MUITO estúpida) que eles ainda têm IPv6 ativo. Provavelmente não é esse o caso. Obtenha o ipv4, cole no ipv4. Obtenha o Ipv6, adira ao IPv6. Mas irrelevante neste caso devido - não roteamento. Mas geralmente você NÃO deve trocar de protocolo - você assume pilha dupla, o que não é o caso de 99,9% das pessoas.
Responder2
Você poderia considerar criar um cluster com corosync e pacemaker e usar dois nós e alguns serviços com um IP virtual do seu bloco. O ip seria virtual porque o serviço será utilizado pelo nó 1 e pelo nó 2 e, portanto, o nó1 e o nó2 deverão poder utilizá-lo.