Estou usando openconnect
para conectar a VPN. Depois de inserir minhas credenciais, recebo o seguinte:
POST https://domain.name/...
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 30
Connected tun0 as xxx.xxx.xxx.xxx, using SSL
Established DTLS connection
Em execução ifconfig
mostra que tenho uma nova interface de rede tun0
com um determinado endereço IP.
Pergunta: Como ssh
utilizo apenas a interface de rede tun0
para poder acessar computadores nessa rede privada?
Editar:
Minha configuração de rede ( route -n
) parece ser a seguinte:
172.16.194.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.16.25.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
Respostas:
Não é o cliente ssh que decide por qual interface os pacotes TCP devem passar, é o kernel. Em resumo, o SSH solicita que o kernel abra uma conexão com um determinado endereço IP, e o kernel decide qual interface deve ser usada consultando as tabelas de roteamento.
(O seguinte pressupõe que você esteja no GNU / Linux; o conceito geral é o mesmo para todos os Unices, mas as especificidades dos comandos a serem executados e a forma como a saída é formatada podem variar.)
Você pode exibir as tabelas de roteamento do kernel com os comandos route -n e / ou ip route show .
O OpenConnect deveria ter adicionado uma linha para a
tun0
interface; as conexões com qualquer endereço correspondente a essa linha serão roteadas através dessa interface. Por exemplo, executandoroute -n
no meu laptop, recebo a seguinte saída:Isso significa que as conexões com hosts na rede 192.168.122.0/24 (ou seja, endereços 192.168.122.0 a 192.168.122.255 de acordo com a notação CIDR ) serão roteadas pela interface
virbr0
; aqueles para 169.254.0.0/16 e 10.30.0.0/24 passarãoeth0
, e qualquer outra coisa (a linha 0.0.0.0) será roteada através de eth0 para o host 10.30.0.1 do gateway .fonte
openconnect
não adicionou uma linha para atun0
interface. Suponho que devo fazer isso manualmente.Não sei quando foi introduzido, mas o cliente OpenSSH no RHEL7 tem isso em sua página de manual:
Não é tão bom quanto poder escolher a interface, mas fechar.
fonte
-B
sinalizador, que parece permitir especificar o nome da interface de rede a ser usada.-b bind_address
não funcionou para mim, de alguma forma. Alterar rotas temporariamente deve funcionar. BTW: A-B
opção não existe na versão SSH que acompanha o Ubuntu.Se você estiver usando o Network Manager para gerenciar suas conexões com a Internet (como é o gerenciador padrão em muitos sistemas), convém instalar ambos
openconnect
enetwork-manager-openconnect
.Depois que o plug-in OpenConnect estiver instalado no Network Manager, abra o Network Manager e clique no +ícone no canto inferior esquerdo. Você deve receber uma caixa de combinação com a opção VPN e, em seguida, a capacidade de selecionar VPN compatível com OpenConnect .
Usando o Network Manager para fazer interface com o OpenConnect, suas rotas aparecerão automaticamente e ajudarão você a se conectar à VPN. Isso é especialmente útil para acessar servidores por VPN, como o FireHost faz as coisas.
fonte
Apenas adição de uma resposta. Você pode usar
-b
sinalizador e definir seu IP de origem no momento do acesso.Formato + Exemplo
fonte