
Ambiente
- Ubuntu 18.04.3LTS
- ZeroTier 1.4.6 (pacote estável mais recente)
- Wine 4.17 (pacote de desenvolvimento mais recente)
Estou tentando hospedar uma sessão LAN do Red Alert 3 (usando wine) em meu sistema e gostaria de usar zerotier, pois estou atrás de uma configuração CGNAT.
Zerotier funciona perfeitamente no que diz respeito à conexão com outros sistemas na mesma rede (zerotier). Mas não consigo visualizar outros jogadores no lobby da rede. Usando o wireshark, descobri que os pacotes udp exigidos pelo RA3 para funcionar corretamente estavam sendo transmitidos apenas na interface LAN e não estavam sendo encaminhados para a interface de rede de nível zero.
Minha próxima tentativa foi usar uma ferramenta para forçar o wine a usar a interface zerotier.
- pequeno programa de ligação em C que você pode carregar usando LD_PRELOAD
- usando um script para criar namespaces e vincular interfaces a ele
-
Razões pelas quais estes falharam na mesma ordem:
Porque não suportava udp
- Isso funcionou inicialmente. Mas não era estável e não era consistente. Às vezes, o outro jogador me via no lobby, mas eu não conseguia vê-lo. E outras vezes foi o contrário. Além disso, tive que executar isso como root, o que não é bom ao usar o vinho. Então essa opção não ajudou, mas me ajudou a entender algumas coisas.
- Ele conseguiu se vincular a essa interface, mas infelizmente não consegui usar o mesmo IP (ele gera outro IP na mesma sub-rede) e não estava obtendo uma saída como quando usei a opção 2. Até tentei adicionar o endereço IP à interface de rede zerotier da
my.zerotier.com
UI. Não ajudou.
Além disso, eu estava tentando várias configurações do iptables, mas isso não ajudou. Ativei o encaminhamento ipv4 via sysctl também. Ainda acho que isso pode ser resolvido via iptables.Esseé a última tentativa que tenho até agora (na forma de um script bash)