Como alterar as interfaces de prioridade

2

Eu tenho três interfaces de rede: lo , new0 e new1 . Eu uso o new1 para acessar a internet.

Meu computador enlouqueceu há alguns dias e tentou acessar a Internet em lo . (localhost). Quando eu ifconfig lo down ele então envia pacotes para new0 .

Eu quero que ele use new1.

Como posso fazer isso? (Eu não sou capaz de mudar o meu metric , ambos estão presos em 1)

EDIT: Eu posso acessar ssh , baixar torrents e usar outros protocolos. (Mas http e https não estão funcionando, instantâneo "Servidor não encontrado" sem tempo de carregamento no navegador.)

    
por bob dylan 11.08.2015 / 05:05

2 respostas

3

A priorização de interfaces para o tráfego geral é feita pela manipulação das métricas de roteamento .

Cada rota tem parâmetros associados, como contagens de saltos e larguras de banda. Veja netstat -nr e a opção " metric " na página man do comando route .

Para um controle muito simples da ferramenta ifmetric de uso de métrica:

sudo apt-get update

sudo apt-get install ifmetric

Uma vez instalado, use-o para alterar o valor da métrica para interface,  consulte este link

    
por Prashant Chikhalkar 11.08.2015 / 07:09
2

A métrica pode mudar em vários lugares. O melhor trabalho para mim é a configuração em etc/network/interface

auto lo
iface lo inet loopback
auto new0
iface new0 inet static
    address xxx.xxx.xxx.xxx
    netmask xxx.xxx.xxx.xxx
    up route add default gw aaa.aaa.aaa.aaa metric 10
    down route del default gw aaa.aaa.aaa.aaa

auto new1
iface new1 inet static
    address yyy.yyy.yyy.yyy
    netmask yyy.yyy.yyy.yyy
    up route add default gw bbb.bbb.bbb.bbb
    down route del default gw bbb.bbb.bbb.bbb

Desta forma, quando a interface new0 subir, a rota para o gateway aaa.aaa.aaa.aaa será exibida com a métrica 10. A interface new1 exibirá a rota para bbb.bbb.bbb.bbb com menor métrica e o tráfego será roteado nessa interface.

Se você alterar sudo ifdown new1 ao desconectar o cabo da rota do cartão, a rota para aaa.aaa.aaa.aaa será a nova melhor rota para o tráfego.

Quando novamente, o brin int new1 up route será adicionado novamente e bbb.bbb.bbb.bbb será novamente o melhor caminho.

Editar 1

Prioridade de rota não é a mesma que a rota baseada na porta de destino.

Mas eu dou um exemplo para direcionar o tráfego para ssh, port 22 e você pode implementar para a porta que precisa para

Vamos começar pelo iptable. Aqui tomaremos ssh como o serviço para roteamento. Use mangle table do iptable para modificar os pacotes ssh .

  sudo iptables -t mangle -A OUTPUT -p tcp –dport 22 -j MARK –set-mark 0×1

Estamos marcando todos os pacotes com porta de destino 22 como '0 × 1 ′.

Agora salve e reinicie o iptables .

service iptables save
service iptables restart

Para excluir esta entrada de iptables , podemos usar -D em vez de -A .

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

100 sshtable

Regra de gravação para ssh pacotes.

ip rule add fwmark 0×1 lookup sshtable

Adicionar rota na nova tabela sshtable . Aqui vamos usar '192.168.1.1' como o gateway para ssh . O endereço "192.168.1.1", neste exemplo, será o endereço do gateway para new2 . Todo o tráfego restante passará pelo gateway padrão também conhecido como new1 , que pode ser visto pelo comando IP route show.

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 sshtable $ROUTE; done

Adicione uma entrada de gateway padrão para ssh pacotes à tabela sshtable

  sudo ip route add default via 192.168.1.1 table sshtable

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

É isso ... fizemos isso !!!

Repita tudo para imap na porta 465 ou hhtp na porta 80 ou https na porta 443 ...

    
por 2707974 11.08.2015 / 08:34