Não é possível configurar uma rota de host estático - “SIOCADDRT: Nenhum processo desse tipo”

10

No meu escritório, há um roteador do Windows Server 2008, 192.168.16.1, que é o nosso gateway padrão. Isso envia dados através da nossa conexão de internet principal. Isso funciona perfeitamente.

192.168.16.1 também tem outra conexão com a internet que está atualmente sem uso. Isso se conecta a um roteador, 192.168.1.254, que então se conecta à nossa conexão de internet secundária.

Configurei o Roteamento e Acesso Remoto para rotear o intervalo 192.168.1. * para a nossa rede interna, e consegui fazer ping de 192.168.1.254 da minha área de trabalho que possui um endereço IP 192.168.16.22.

Eu tenho uma tarefa de upload e download muito intensiva para uma caixa Linux no mesmo escritório, portanto, quero configurar uma rota estática para não amarrar nossa conexão principal com a Internet e afetar meus colegas de trabalho. Então, meu plano é configurar essa caixa com uma rota estática.

Da caixa linux, posso fazer ping 192.168.1.254, mas não consigo adicionar uma rota estática ao servidor de destino em nosso data center:

$ sudo route add -host 123.123.123.123 gw 192.168.1.254 dev eth0
SIOCADDRT: No such process

De googling extensa, esta mensagem de erro parece indicar que eu não consigo acessar 192.168.1.254 para configurar uma rota, mas eu posso pingar. Eu tentei adicionar uma rota estática para 192.168.1.254, que funcionou perfeitamente, mas isso não resolveu o problema (como esperado).

Eu não sou avançado o suficiente em redes para diagnosticar esta questão ainda mais como meu fundo é o desenvolvimento de software, não a administração do sistema. Eu ficaria muito grato por qualquer conselho dado.

Obrigado pelo seu tempo.

    
por Steve Rukuts 15.11.2010 / 13:04

3 respostas

7

A área de trabalho está em 192.168.16.0/24?

Você não pode adicionar uma rota (a qualquer alvo) através de um gateway ao qual você não está diretamente conectado, porque seu computador não sabe como encontrar seu caminho para o roteador sem passar pela rota padrão.

    
por 15.11.2010 / 13:19
2

Você pode obter o erro "" SIOCADDRT: Nenhum processo desse tipo " se" Você tentou definir uma rota para uma rede antes definir uma rota de host para o gateway que manipula tráfego para essa rede. "

por exemplo. para local - > 172.19.0.1 - > 172.19.0.xx

[root@local]# route add -net 172.19.0.0 gw 172.19.0.1 netmask 255.255.255.0 dev eth0
SIOCADDRT: No such process

RESPOSTA: Primeiro, crie uma rota de host e crie uma rota de rede.

por exemplo. para rede em questão: local - > 192.168.1.254 - > 123.123.123.123

sudo route add -host 192.168.1.254 dev eth0

sudo route add -net 123.123.123.123 netmask 255.255.255.255 gw 192.168.1.254 dev eth0

Uma rota estática ainda irá carregar a rede , eu acho que depende;). O tráfego de upload / download deve atravessar a rede. Por isso, afetará outros usuários da rede. Você pode limitar o tráfego à largura de banda ou mover esse tráfego para horas mais silenciosas, se desejar reduzir o impacto em outros usuários da rede. por exemplo. O rsync tem boas opções de limitação de largura de banda.

Eu tive um problema semelhante com o roteamento e o SIOCADDRT.  local - > dockerserver - > dockercontainer. Adicionando a rota do host, a rota líquida fez o trabalho de roteamento em uma direção.

Isso me ajudou link

Exemplo de roteamento completo, roteamento trabalhando nos dois sentidos:

dockerserver=172.19.0.1
dockerservernet=172.19.0.0
dockercontainer=172.19.0.25
local=192.168.111.23
localnet=192.168.111.0

### 0. create host route for gw and net route local->docker
[root@local]# route add -host $dockerservernet dev eth0
[root@local]# route add -net $dockerservernet gw $dockerserver netmask 255.255.255.0 dev eth0

### 1. route on dockerserver to local
[root@dockerserver ~]# route add -net $localnet netmask 255.255.255.0 dev eno1
[root@dockerserver ~]# ping $local

### 2. route FROM dockercontainer to local (via gateway dockerserver)
[root@dockercontainer /]# route add -net $localnet netmask 255.255.255.0 gw gateway dev eth1
[root@dockercontainer /]# ping $local
    
por 14.12.2016 / 13:06
0

Com relação à parte da pergunta sobre a configuração de rotas persistentes em uma instância do AWS EC2 executando o Ubuntu, o local correto para colocar rotas estáticas para persistir por meio de uma reinicialização, interrupção e início da AWS é /etc/rc.local .

Dentro desse arquivo, você precisa colocar suas rotas na linha acima da última linha. Suas linhas devem ficar assim:

route add -net XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX gw XXX.XXX.XXX.XXX

A execução do comando sudo será perdida na reinicialização.

    
por 11.06.2014 / 17:31