AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1658610
Accepted
Ryan Williams
Ryan Williams
Asked: 2021-06-18 08:18:15 +0800 CST2021-06-18 08:18:15 +0800 CST 2021-06-18 08:18:15 +0800 CST

Como desabilito as alterações da tabela de roteamento no WireGuard para Windows?

  • 772

O que estou tentando fazer é ter uma interface separada para alguns aplicativos usarem uma VPN através do WireGuard enquanto TODOS os outros aplicativos usam minhas interfaces regulares (Túnel dividido por aplicativo). Já resolvi como fazer com que aplicativos específicos usem minha interface WireGuard.

Meu problema agora é que TODO o tráfego das minhas máquinas é direcionado através da minha VPN quando meu túnel WireGuard está aberto.

Eu tentei remover allowedIPs = 0.0.0.0/0, ::/0de baixo [Peer]e isso resultou no meu túnel não permitindo tráfego de meus aplicativos para a Internet.

Eu também tentei adicionar Table = offabaixo [Interface]para desabilitar o WireGuard de adicionar meu túnel à minha tabela de roteamento de sistemas. O que acontece para isso é que o WireGuard se recusa a salvar ou importar a configuração e responde com "Chave inválida para a seção [Interface]: "tabela".

Estou usando o WireGuard para Windows v0.3.14.

Existe alguma outra maneira de realizar isso?

windows vpn
  • 2 2 respostas
  • 4110 Views

2 respostas

  • Voted
  1. Best Answer
    Ryan Williams
    2021-06-24T13:19:45+08:002021-06-24T13:19:45+08:00

    Um dos meus amigos me ajudou a resolver esse problema com a ajuda de zx2c4 (Jason Donenfeld) do WireGuard. Estou compartilhando nossa solução aqui para a próxima pessoa com esse mesmo problema.

    Suporte adicionado ao WireGuard para Windows Table = offna v0.3.15. Isso faz com que o WireGuard não atualize a tabela de roteamento quando o túnel for aberto.

    Neste ponto, temos um túnel, mas o Windows não roteará o tráfego por ele, mesmo que seja o único adaptador para o aplicativo. Para resolver esse problema, precisamos adicionar uma rota padrão ao adaptador com uma prioridade menor do que nossa rota padrão regular.

    Para fazer isso, precisamos primeiro habilitar DangerousScriptExecution no WireGuard. Para fazer isso, precisamos definir a chave do registro HKEY_LOCAL_MACHINE\Software\WireGuard\DangerousScriptExecutionpara DWORD(1)usar o regedit. A chave não existe por padrão e precisa ser criada usando o regedit. Em seguida, o WireGuard precisa ser reiniciado.

    Feito isso, precisamos executar alguns comandos do PowerShell ao iniciar e parar o túnel para criar nossa rota padrão para o túnel. Essa rota precisa ter uma métrica/custo mais alta (menor prioridade) do que nossa rota padrão normal. Para esta solução, usamos um valor métrico de 95 (10 superior à métrica automática mais alta).

    O WireGuard tem a capacidade de executar automaticamente os comandos do Windows especificados nas opções PreUp, PostUp, PreDowne PostDownna configuração do túnel. Usamos isso para configurar nossas rotas automaticamente.

    O WireGuard define a variável de ambiente WIREGUARD_TUNNEL_NAMEpara o nome desse túnel exato quando está executando comandos. Podemos convertê-lo em um objeto do PowerShell chamando $wgInterface = Get-NetAdapter -Name %WIREGUARD_TUNNEL_NAME%.

    Assim que tivermos o túnel como um objeto do PowerShell, podemos configurar ou desativar nossa rota no windows.

    Para criar nossa rota chamamosroute add 0.0.0.0 mask 0.0.0.0 0.0.0.0 IF $wgInterface.ifIndex metric 95

    Para remover nossa rota, chamamosroute delete 0.0.0.0 mask 0.0.0.0 0.0.0.0 if $wgInterface.ifIndex metric 95

    Quando combinamos tudo isso, acabamos com o seguinte [Interface]na configuração do túnel. PostUp, PreDown, e Table = offsão o que esta solução fornece.

    [Interface]
    PrivateKey = <...>
    Address = <...>
    DNS = <...>
    PostUp = powershell -command "$wgInterface = Get-NetAdapter -Name %WIREGUARD_TUNNEL_NAME%; route add 0.0.0.0 mask 0.0.0.0 0.0.0.0 IF $wgInterface.ifIndex metric 95"
    PreDown = powershell -command "$wgInterface = Get-NetAdapter -Name %WIREGUARD_TUNNEL_NAME%; route delete 0.0.0.0 mask 0.0.0.0 0.0.0.0 if $wgInterface.ifIndex metric 95"
    Table = off
    
    [Peer]
    PublicKey = <...>
    AllowedIPs = 0.0.0.0/0,::0/0
    Endpoint = <...>
    
    • 6
  2. Alexis Webtroter V
    2021-09-24T16:00:02+08:002021-09-24T16:00:02+08:00

    Eu adoraria responder diretamente ao Ryan, mas não consegui ¯\_(ツ)_/¯

    Com base em sua resposta, fiz um pequeno script auxiliar do powershell.

    Ele pode configurar a chave de registro, reiniciar o WireGuard Manager Service e, claro, configurar a rota padrão (e mais uma!)

    Você o encontrará aqui (com um exemplo de configuração): https://gist.github.com/webtroter/36477c014e4cc5f169468891fa7652f2

    • 0

relate perguntas

  • Como desativar a aceleração do mouse em um touchpad de precisão do Windows?

  • renomear em massa conjuntos de arquivos de imagem

  • Qual seria o equivalente em lote do argumento "pass" do Python?

  • Comunique-se com o daemon do Docker no Windows

  • atalho do shell da área de trabalho no painel lateral do explorer

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve