iptables debería ser capaz de manejar esto, déjame repasar mi iptable-ing y tratar de responder en un momento
Hydranix
¿Te refieres al diffprograma? ¿Como diffen una red o vpn o algo así? Supongo que no, pero el título es vauge
Xen2050
Respuestas:
2
En la generalidad absoluta, es que no es posible establecer una ruta por aplicación, incluso en los ordenadores modernos. Sin embargo , hay una gran cantidad de soluciones parciales a este problema, de diferentes grados de complejidad.
Afortunadamente para usted, su caso es el más simple posible, porque básicamente tiene una aplicación que siempre se conecta a la misma dirección IP. Lo haces de la siguiente manera. Supongamos que, después de haber iniciado la VPN, tiene una tabla de enrutamiento de la siguiente manera:
# ip route show
0.0.0.0/1 via 10.8.0.5 dev tun0
default via 192.168.73.1 dev eth0 proto static metric 100
10.8.0.0/24 via 10.8.0.5 dev tun0
10.8.0.5 dev tun0 proto kernel scope link src 10.8.0.6
128.0.0.0/1 via 10.8.0.5 dev tun0
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.73.0/24 dev eth0 proto kernel scope link src 192.168.73.66 metric 100
IPAddress.Of.Remote.VPN.Server via 192.168.73.1 dev eth0
y que su aplicación, rclone , quiere conectarse a un servidor con la dirección IP 1.2.3.4 . Todo lo que tiene que hacer es agregar una ruta a través de su puerta de enlace predeterminada ( es decir , la que no tiene VPN, 192.168.73.1 arriba) a 1.2.3.4 :
sudo ip route add 1.2.3.4/32 via 192.168.73.1 dev eth0 src 192.168.73.66
(donde he usado mi interfaz, que se llama eth0 , y la dirección IP de mi PC, 192.168.73.66 , deberá adaptarlas a su caso específico). Esto simplemente le indica a la tabla de enrutamiento que omita su interfaz virtual, que se llama tun0 arriba pero podría ser tap0 , ppp0 o algo así en su caso.
En realidad, el principio utilizado es el mismo que utilicé en esta respuesta similar, aunque aparentemente no relacionada.
Gracias eso fue excelente. Mi problema ahora es que Amazon usa una IP diferente según la ubicación. Sin vpn, el dns se resuelve en ip1 y lo agregué en la ruta. Pero si VPN es en ella se resolverá a bceuase IP2 de la ubicación 2. cargador de modo será más lento y va a desafiar el uso de otra tarjeta
Mirage
@Moorage Lo siento, no entiendo. Como no está usando VPN para rclone , siempre debe usar ip1, la dirección resuelta obtenida sin VPN. Y Amazon no sabrá nada porque verá que rclone proviene de su verdadera dirección IP, no de la VPN. ¿Cuál es el problema exactamente?
MariusMatutiae
@problem es cargar rclone a, por ejemplo, Google a través de api.google.com/uploadrclone no utiliza la dirección IP para cargar. Mi VPN siempre estará activada, dns convertirá api.google.com a ip2, no ip1, a menos que la resolución de dns se realice mediante eth0, no vpn
Mirage
@Moorage No hay gran problema: en el archivo / etc / hosts , agregue una línea del formulario: 1.2.3.4 api.google.com donde, en lugar de 1.2.3.4, use la dirección IP que llamó ip1 arriba. De esta manera, no se consultará el DNS a través de la VPN. Además, recuerde que siempre puede anular el DNS de VPN, si lo desea.
diff
programa? ¿Comodiff
en una red o vpn o algo así? Supongo que no, pero el título es vaugeRespuestas:
En la generalidad absoluta, es que no es posible establecer una ruta por aplicación, incluso en los ordenadores modernos. Sin embargo , hay una gran cantidad de soluciones parciales a este problema, de diferentes grados de complejidad.
Afortunadamente para usted, su caso es el más simple posible, porque básicamente tiene una aplicación que siempre se conecta a la misma dirección IP. Lo haces de la siguiente manera. Supongamos que, después de haber iniciado la VPN, tiene una tabla de enrutamiento de la siguiente manera:
y que su aplicación, rclone , quiere conectarse a un servidor con la dirección IP 1.2.3.4 . Todo lo que tiene que hacer es agregar una ruta a través de su puerta de enlace predeterminada ( es decir , la que no tiene VPN, 192.168.73.1 arriba) a 1.2.3.4 :
(donde he usado mi interfaz, que se llama eth0 , y la dirección IP de mi PC, 192.168.73.66 , deberá adaptarlas a su caso específico). Esto simplemente le indica a la tabla de enrutamiento que omita su interfaz virtual, que se llama tun0 arriba pero podría ser tap0 , ppp0 o algo así en su caso.
En realidad, el principio utilizado es el mismo que utilicé en esta respuesta similar, aunque aparentemente no relacionada.
fuente
api.google.com/upload
rclone no utiliza la dirección IP para cargar. Mi VPN siempre estará activada, dns convertirá api.google.com a ip2, no ip1, a menos que la resolución de dns se realice mediante eth0, no vpn