Como saber se uma instância do firefox usa eth0 em vez de tun0 enquanto o OpenVPN está em execução e conectado a um servidor VPN?

3

às vezes preciso conectar-me a sites sem passar por VPN, é possível abrir uma instância do Firefox e dizer para usar a interface eth0 simples em vez do tun0?

    
por ChiseledAbs 17.07.2016 / 13:00

3 respostas

0

Você pode adicionar rotas para qualquer site que queira passar pela eth0 assim:

ip route add websiteIP via gatewayIP dev eth0

Aqui, você adiciona o endereço IP do site que deseja visitar em websiteIP e adiciona seu IP de gateway normal em gatewayIP .

    
por 17.07.2016 / 16:03
0

Eu fiz algo parecido com o iptables um tempo atrás. A principal diferença entre seu objetivo e meu projeto era que eu estava tentando redirecionar todo o tráfego de entrada da rede para tun0. Nenhuma alteração no firefox é necessária. A essência disso é esta:

  1. Uma entrada personalizada em rt_tables é criada para manipular certos pacotes
  2. Todos os pacotes destinados à porta 80 ou a um IP específico recebem uma marca
  3. Todos os pacotes que correspondem à marca na etapa 2 são passados para a rt_table especificada na etapa 1.
  4. Os pacotes no novo rt_tables precisam ter um gateway diferente do restante - o IP da eth0

Eu encontrei um código antigo meu que deve funcionar para você como é, ou com pequenas modificações. Este é um conjunto modificado do código que usei para executar no meu gateway:

# Create the new custom router table
echo 201 CustomRouter >> /etc/iproute2/rt_tables

# Mark the desired packets for special treatment
iptables -t mangle -A PREROUTING -d 123.123.123.123 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -d 123.123.123.123 -j MARK --set-mark 2

# Assign marked packets to CustomRouter
ip rule add fwmark 2 table CustomRouter

# Set the gateway
ip route add default via 192.168.0.123 dev eth0 table ClientRouter

O acima presume que 123.123.123.123 é o IP do site que você deseja usar via eth0, e 192.168.0.123 é o IP de eth0 . Modifique as duas linhas com esse IP para corresponder ao que você deseja, seja tudo na porta 80 ou apenas um IP específico. o 123.123.123.123 é apenas um IP falso que usei para testar isso.

Observe que a linha que cria CustomRouter em rt_tables não precisa ser executada todas as vezes. O script perl do qual eu extraí isso tem um cheque para ver se ele já está lá, então acredito que isso só tenha que ser feito uma vez, ou possivelmente uma vez a cada inicialização.

    
por 17.07.2016 / 15:48
0

regras de rede com ip route e iptables não podem usar o nome do programa como um critério

Se você precisar direcionar o tráfego para a outra interface apenas para o firefox e não para qualquer solicitação para uma porta 80, poderá usar namespaces de rede nos kernels mais recentes. Eles limitam quais recursos do sistema estão disponíveis para um processo ("ip netns")

Aqui está uma introdução com um exemplo semelhante:

link

    
por 27.07.2016 / 16:52