Modifica os pacotes de saída de rota da tabela de roteamento (exceto ssh) através da interface WiFi

2

Estou usando um computador remoto, uso SSH e um IP estático para me conectar a ele. Gostaria de saber como editar a tabela de roteamento para sair da Internet usando minha interface sem fio, mas ainda ser capaz de me conectar a ela usando o SSH e o IP estático.

Eu tentei alterar o valor da métrica na rota da interface sem fio, mas perdi a conexão, então acho que a alterei para rotear tudo pela interface WiFi.

Aqui está minha tabela de roteamento real do computador remoto (obviamente ofusquei alguns dos endereços IP):

# ip route list
default via 193.*.*.1*9 dev eth0 proto static metric 100 
default via 192.168.0.1 dev wlan3 proto static metric 600 
default via 192.168.0.1 dev wlan1 proto static metric 601 
192.168.0.0/24 dev wlan3 proto kernel scope link src 192.168.0.127 metric 600 
192.168.0.0/24 dev wlan1 proto kernel scope link src 192.168.0.143 metric 601 
193.*.*.1*8/25 dev eth0 proto kernel scope link src 193.*.*.1*7 metric 100

E aqui a saída da rota -n:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         193.*.*.1*9     0.0.0.0         UG    100    0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlan3
0.0.0.0         192.168.0.1     0.0.0.0         UG    601    0        0 wlan1
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan3
192.168.0.0     0.0.0.0         255.255.255.0   U     601    0        0 wlan1
193.*.*.1*8     0.0.0.0         255.255.255.128 U     100    0        0 eth0

Como um resumo, a ideia é trafegar o tráfego SSH através da interface eth0 e o resto do tráfego através do wlan3.

    
por Elena 18.11.2017 / 18:57

1 resposta

1

Para verificar se entendi sua pergunta corretamente: Você tem um computador local com 2 interfaces WLAN e 1 interface LAN que você está usando. Por trás da interface LAN, há outro computador que você deseja acessar com um IP estático. Todo o outro tráfego deve passar pelas interfaces WLAN. As interfaces WLAN adquirem seus endereços com DHCP.

Se estiver correto, você precisa de uma única regra default para uma das interfaces WLAN ("sair da Internet usando a interface sem fio") além de cada uma das regras para o segmento ("alcançar o servidor remoto" o endereço estático "). As rotas para as interfaces WLAN são provavelmente configuradas automaticamente, e não atrapalha os dois deles, desde que tenham prioridade diferente, e você está ciente de que estará usando apenas uma interface WLAN.

A tabela de roteamento deve ficar assim:

default via 192.168.0.1 dev wlan3 proto static metric 600 
default via 192.168.0.1 dev wlan1 proto static metric 601 
192.168.0.0/24 dev wlan3 proto kernel scope link src 192.168.0.127 metric 600 
192.168.0.0/24 dev wlan1 proto kernel scope link src 192.168.0.143 metric 601 
193.*.*.1*8/25 dev eth0 proto kernel scope link src 193.*.*.1*7 metric 100

Assumindo que essas sejam as métricas padrão e supondo que o servidor que você deseja acessar via SSH tenha um endereço 193. . .1 * 8 (você não disse). Se isso não acontecer, você precisará de uma regra adicional para o endereço do servidor.

Em outras palavras, faça

ip route del 193.*.*.1*9 dev eth0 proto static metric 100 

(com o endereço IP correto, é claro).

Dependendo de como a interface LAN adquire seu endereço (Network Manager?), você pode automatizar isso.

Editar

Então a foto é assim:

+--------------+    +---------------------+    +-------------+               
|        eth0  |----| Some other computer |....| remote host |
| Laptop       |    +---------------------+    +-------------+
|        wlan0 |    +---------+
| Laptop wlan1 |::::| Some AP |
+--------------+    +---------+

Isso está correto? Se não, por favor, esclarecer comprar editando sua pergunta. Uma foto como essa acima ajudaria.

Entendo que você deseja proteger endereços IP públicos, mas isso dificulta a avaliação da situação.

Vamos supor que o host ao qual você deseja se conectar por meio de ssh tenha o endereço IP público 1.2.3.4 . No seu laptop, a WLAN tem o intervalo de endereços 192.168.0.*/24 com o gateway 192.168.0.1 e sua LAN tem o intervalo de endereços 192.168.1.*/24 com o gateway 192.168.1.1 . Isso é provavelmente mais realista do que seus números (porque tudo o que começa com 192.168 está no intervalo de IP privado; é improvável que seu segmento de LAN tenha um intervalo de IP público). Dado que, sua tabela de roteamento no laptop deve ser semelhante a

default via 192.168.0.1 dev wlanX
1.2.3.4 via 19.168.1.1 dev eth0
192.168.0.0/24 dev wlanX ...
192.168.1.0/24 dev eth0 ...

Não estamos interessados na tabela de roteamento no outro computador ou no host ssh.

As rotas são correspondidas por prefixos mais específicos, portanto, isso diz "enviar tráfego para 1.2.3.4 para o gateway da LAN, tráfego para os segmentos locais através da LAN da WLAN e de tudo o mais para o gateway da WLAN". Você pode verificar com ip route get :

$ ip route get 1.2.3.4
1.2.3.4 via 192.168.1.1 dev eth0
$ ip route get 1.2.3.5
1.2.3.5 via 192.168.0.1 dev wlanX

Você precisa adaptar isso à sua situação ou explicar sua configuração local com mais detalhes. É seguro fornecer endereços IP no formato 192.168.*.* e 10.*.*.* , esses são endereços de rede privada usados por muitas pessoas e não podem ser usados para identificar você ou seu computador.

    
por 19.11.2017 / 07:44