como excluir tráfego ftp de ser roteado através de vpn?

0

Estou usando o openvpn e o network-manager para conectar ao ghostvpn e tudo bem, mas eu quero excluir todo o tráfego ftp da conexão vpn, porque eu precisa de mais velocidade para up / downloads. Até agora eu tenho que desconectar do servidor VPN para o tempo que estou fazendo o meu up e downloads - que não é uma solução legal;)

Como posso fazer isso? Ou talvez haja uma opção no filezilla?

Obrigado antecipadamente!

Sebastian

    
por seppel 27.04.2017 / 17:09

1 resposta

1

Você pode rotear ftp diretamente para a Internet com iptables

Aqui, teremos ftp para o roteamento. Use mangle table de iptables para modificar os pacotes ftp .

sudo iptables -t mangle -A OUTPUT -p tcp --dport 21 -j MARK --set-mark 0x1

Estamos marcando todos os pacotes com porta de destino 21 as 0x1 .

Agora salve e reinicie o iptables .

sudo service iptables save
sudo service iptables restart

Em seguida, crie uma nova tabela de rotas IP em /etc/iproute2/rt_tables apenas fornecendo uma entrada

100 ftptable

Regra de gravação para ftp pacotes.

ip rule add fwmark 0x1 lookup ftptable

Adicionar rota na nova tabela ftptable . Todo o outro tráfego passará pelo vpn if é vpn definido como gateway padrão, que pode ser visto pelo comando ip route show .

Faça isso pela primeira vez quando estiver conectado à vpn.

Copiamos todas as entradas, exceto a entrada do gateway padrão da tabela principal.

sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table ftptable $ROUTE; done

Adicione uma entrada de gateway padrão para ftp pacotes à tabela ftptable

sudo ip route add default dev <your_interface> table ftptable

your_interfrace no comando é sua interface habitual de wifi ou eth para acessar a internet quando você não está conectado à internet.

Use ip route show table ftptable para mostrar todas as rotas em ftptable .

EDIT 1

Segunda via

Edite /etc/iproute2/rt_tables e adicione uma nova tabela adicionando a seguinte linha:

100 ftptable

Configure sua nova tabela de roteamento denominada ftptable com um gateway padrão e crie regras para enviar condicionalmente o tráfego para essa tabela.

ip route add default via <usual_gw_ip> dev <your_int> table ftptable
ip rule add fwmark 0x1 table ftptable

Seu script anotado final ficaria assim:

# Populate secondary routing table
ip route add default via <usual_gw_ip> dev <your_int> table ftptable
# Anything with this fwmark will use the secondary routing table
ip rule add fwmark 0x1 table ftptable
# Mark these packets so that iproute can route it through ftptable
iptables -A OUTPUT -t mangle -o <your_int> -p tcp --dport 21 -j MARK --set-mark 1
# now rewrite the src-addr
iptables -A POSTROUTING -t nat -o <your_int> -p tcp --dport 21 -j SNAT --to <your_local_ip>

Tente.

EDIT 2

Quando você está conectado à vpn, acho que todo o tráfego passa por eles. Na sua tabela de roteamento, você verá o padrão gw para tun0 interface. Simples adicionar rota para encaminhar o tráfego para o servidor ftp para interface / ip diferente

ip route add <your_ftp_server_ip/32> dev <your_exit_int>

<your_exit_int> - represent not tun interface example: eth0, ens160, ...
    
por 2707974 28.04.2017 / 09:22