У меня есть Ubuntu 16.04, я установил там VPN, чтобы загрузить материал.

Теперь у меня есть приложение rclone, которое загружает данные в Amazon.

Возможно ли, что rclone не использует VPN, но все другие приложения используют его

1 ответ1

2

В абсолютной общности, не представляется возможным установить маршрут для каждого приложения, даже в современных ПК. Однако существует большое количество частичных решений этой проблемы, различной степени сложности.

К счастью для вас, ваш случай является самым простым из возможных, потому что в основном у вас есть одно приложение, которое всегда подключается к одному и тому же IP-адресу. Вы делаете это следующим образом. Предположим, что после запуска VPN у вас есть таблица маршрутизации следующим образом:

# 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 

и что ваше приложение rclone хочет подключиться к серверу с IP-адресом 1.2.3.4. Все, что вам нужно сделать, это добавить маршрут через шлюз по умолчанию (т. Е. Без шлюза VPN, 192.168.73.1 и выше) в 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

(где я использовал свой интерфейс, который называется eth0, и IP-адрес моего компьютера, 192.168.73.66, вам придется адаптировать их к вашему конкретному случаю). Это просто указывает таблице маршрутизации обходить ваш виртуальный интерфейс, который выше называется tun0, но в вашем случае это может быть tap0, ppp0 или что-то подобное.

На самом деле, использованный принцип тот же, который я использовал в этом похожем, хотя и явно не связанном, ответе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .