LINUX.ORG.RU

Разные vpn в разных терминалах

 , ,


0

1

Не подскажите, как в различных терминалах настроить собственный сетевой интерфейс по-умолчанию.

ip route, насколько мне известно, может поменять только глобальный сетевой интерфейс по-умолчанию



Последнее исправление: lmde (всего исправлений: 2)

Ответ на: комментарий от kostik87

Были наивные надежды, что найдется какая-нибудь переменная среды, указывающая на то, какой сетевой интерфейс использовать или что-то вроде того. Да и просто интересно как это сделать.

Нужно одновременно запустить несколько чужих скриптов, чтобы у каждого был свой глобальный ip адрес.

Тогда уже проще через VM сделать

lmde
() автор топика

ip netns

2-3 команды и будет то что ты хочешь. никаких виртуалок для скриптов не нужно.

Anoxemian ★★★★★
()
Ответ на: комментарий от lmde

Тебе ниже ответили про namespace, но скрипт тоже должен запускаться в нём.

Я на практике не применял.

kostik87 ★★★★★
()

На самом деле вопрос интересный, я когда-то искал что-то такое, но чтобы можно было автоматизировать легко, враппер какой-нибудь для namespace. Мне нужно было, чтобы один из сервисов(plex media server в частности), пустить через VPN. А то он зараза постеры не подтягивает, т.к. заблочены российские айпишники на сервисе с постерами. Толком ничего тогда не нашел. Так и запускаю руками VPN и обновляю постеры, когда требуется их загрузить.

https://airvpn.org/forums/topic/10249-configure-vpn-to-use-a-separate-namespa...

По ссылке что-то вроде мануала, но я не осилил. Для своих нужд конечно имею ввиду, что не осилил, так то вроде довольно всё подробно и просто расписано.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от Radjah

А что-то типа https_proxy=http://host:port в переменных он не переваривает?

Не нашел ничего похожего. Так-то может он сам и может что, но постеры там отдельный плагин тянет, так что вряд ли.

Но вот что нашел интересного:

NetworkNamespacePath= Takes an absolute file system path referring to a Linux network namespace pseudo-file (i.e. a file like /proc/$PID/ns/net or a bind mount or symlink to one). When set the invoked processes are added to the network namespace referenced by that path. The path has to point to a valid namespace file at the moment the processes are forked off. If this option is used PrivateNetwork= has no effect. If this option is used together with JoinsNamespaceOf= then it only has an effect if this unit is started before any of the listed units that have PrivateNetwork= or NetworkNamespacePath= configured, as otherwise the network namespace of those units is reused.

Можно попробовать поднимать VPN на отдельном NS и указывать его прямо в сервисе. Надо будет попробовать помучаться.

Loki13 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.