Назад | Перейти на главную страницу

Направить весь трафик с виртуального интерфейса на временный tun0

Я пытаюсь настроить дома автоматический торрент-клиент для загрузки некоторых больших баз данных ГИС, которые я создаю на работе и выпускаю в виде файлов .torrent.

Мой домашний сервер - это Raspberry PI с одним интерфейсом Ethernet, а торрент-клиент, который я выбрал, - это Transmission (самый легкий из моих тестов). Я подключаюсь к своей рабочей сети через конфигурацию клиента OpenVPN.

Поскольку передача не может быть привязана к интерфейсу, а только к IP, а конфигурация OpenVPN (которую я не контролирую) освобождает динамический IP-адрес каждому клиенту при каждом подключении, я создал сценарий, который запускает VPN на Raspberry. в полночь считывает назначенный IP-адрес, закрывает передачу и перезапускает ее, привязанную к этому адресу. Передача выполняется на сервере 24/7, поэтому утром тот же сценарий останавливает VPN, закрывает передачу и перезапускает ее, привязанную к интерфейсу обратной связи, поэтому торрент-трафик не создается, но передача все еще может получать уведомление о новых выпусках базы данных и добавлять их в очередь загрузки (это делается с помощью демона).

Это работает отлично (клиенты VPN устанавливают новый шлюз по умолчанию), но я хочу избавиться от хлопот, связанных с закрытием и запуском передачи дважды в день.

Моя идея состоит в том, чтобы настроить виртуальный интерфейс eth0.1 со статическим IP-адресом и привязать его к tun0, чтобы ВСЕ трафик, сгенерированный на eth0.1, проходил через tun0, а затем привязал передачу к статическому IP-адресу eth0.1. Это позволит Transmission работать круглосуточно и без выходных, но при отключении tun0 торрент-трафик будет отбрасываться. Когда VPN включен, торрент-трафик будет проходить через tun0.

Это первый раз, когда я пачкаю руки с IPtables как таковыми, поэтому я не знаю, сработает ли это и как это сделать, поэтому я не прошу решения, а только для того, чтобы перенаправить на несколько хороших руководств по Дело в том, что тех, что я нашел, не оказалось на месте ...

Спасибо.