Sem alguma ajuda do outro lado, seja onde sua WLAN e GB LAN convergem (ou seja, seu roteador doméstico) ou onde o outro ponto de comunicação é, você não pode.
E isso não é um problema do Linux, é porque os protocolos de rede são do jeito que são (por razões históricas): TCP e UDP não suportam multihoming failover, ou seja, ter várias interfaces com endereços IP diferentes em uma extremidade que todos podem ser usados de forma equivalente.
Dito isto, há algumas maneiras de fazer algo como este trabalho, mas nenhum deles é fácil, eu não tentei implementar um deles sozinho, e será necessário um esforço considerável para fazê-los funcionar. trabalho em tudo:
1) Em vez de TCP e UDP, use um protocolo que permita multihoming com failover, por exemplo, SCTP . Enquanto o SCTP está nativamente disponível no kernel do Linux, muitos não o usam. Então você terá que encontrar um aplicativo que faça o que você quer e suporte SCTP em ambas as extremidades, e boa sorte com isso. Ou você terá que modificar os aplicativos existentes, como o NFS ou seu backup, para dar suporte ao SCTP e, novamente, boa sorte com isso.
Editar : Eu descobri que há um comando wrapper chamado withsctp
que faz o aplicativo empacotado usar SCTP em vez de TCP. Eu testei com nc
e socat
com dois pares de veth
conexões para namespaces de rede, e o multihoming de failover funciona fora da caixa: desligar o par onde a conexão foi iniciada não interrompe a transmissão, que é movida para o outro par. Mas parece que ambas as interfaces de rede precisam estar visíveis quando a conexão é estabelecida, pois os endereços disponíveis fazem parte do handshake do SCTP.
Eu não testei, mas isso pode funcionar para o seu programa de backup, ou sistemas de arquivos remotos do FUSE, como o SSHFS, ou até mesmo sistemas de arquivos do kernel como o NFS.
2) Você pode unir várias interfaces, veja linux/Documentation/networking/bonding.txt
nas fontes do kernel. Isto é apenas destinado a ligar, e. conexões LAN paralelas em um datacenter. Você precisará fazer isso em ambos os lados, por exemplo seu PC e seu roteador (o que significa que você pode precisar recompilar o kernel Linux de seu firmware para o roteador), e você terá que certificar-se de que ambas as interfaces são razoavelmente estáticas (especialmente WLAN). Se você conseguir este trabalho, eu estaria interessado nos detalhes.
3) Você pode tentar configurar o roteador de modo que ele forneça à sua WLAN e à sua interface LAN exatamente o mesmo endereço IP e desabilite a interface WLAN assim que ela for vista na LAN. Isso exigirá um pouco de mexer com os componentes internos do roteador e, novamente, se você conseguir esse trabalho, eu estaria interessado nos detalhes.
Existem provavelmente outros métodos igualmente obscuros. Escrever um script que desmonta / remonta o NFS e verifica se você não está no meio de um backup antes de ativar a interface da LAN pode ser mais fácil.