Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Вопросы настройки, запуск любых Windows-программ, кроме игр

Модератор: Модераторы разделов

Ответить
Аватара пользователя
astronom1987
Сообщения: 1145
ОС: MX Linux
Контактная информация:

Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение astronom1987 »

Здравствуйте, уважаемые линуксоиды!
Скажите, пожалуйста, кому что известно по поводу того каким образом можно запустить приложение (допустим веб-браузер или что-то другое) из-под WINE или PlayOnLinux и присвоить каждой этой программе свой личный внешний IP-адрес. Proxy для авторизации у меня есть если что, но как это сделать я не знаю, поделитесь опытом, пожалуйста, а то я уже 3 день бьюсь и не знаю как это сделать.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение Hephaestus »

astronom1987 писал:
05.10.2020 15:56
присвоить каждой этой программе свой личный внешний IP-адрес
Во-первых, с чего Вы решили, что это возможно?
А во-вторых, с чего Вы решили, что прокси Вам поможет?
Запуск приложения и присвоение IP - это сильно разные вещи.
Чтобы решить задачу, как Вы её сформулировали (хотя бы в теории), нужно, условно говоря, для каждого приложения своё соединение.
А кроме этого нужно что-то вроде брандмауэра, только на уровне приложений, который бы разруливал: этому приложению на это соединение можно, на остальные нельзя, другому приложению - на другое соединение и т.д.
Если какой-нибудь AppArmor или LAF это умеет - можно попробовать. Но мне рабочие варианты неизвестны. За ненадобностью. А уж в связке с wine - тем более.
А прокси - это вообще про другое.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение Bizdelnick »

Из описания задачи можно понять только то, что требуется сделать явно не то, что написано. Хотя бы потому что IP-адреса присваиваются не «приложениям» (что бы это слово ни означало), а сетевым интерфейсам. А коль скоро речь идёт о «внешних» IP-адресах, видимо, подразумевается, что машина находится за NAT, но откуда тогда ей брать внешний адрес — вообще непонятно.
Так или иначе, рекомендую гуглить в сторону cgroup, других способов разделить трафик разных «приложений» я не знаю. Может быть, модуль cgroup iptables чем поможет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
astronom1987
Сообщения: 1145
ОС: MX Linux
Контактная информация:

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение astronom1987 »

Итак, постараюсь объяснить более подробно и по возможности доходчиво. Допустим у нас есть 2 браузера запущенных из-под WINE. Из каждого из них мы идем на сайт 2ip.ru и на каждом из них должны отображаться разные IP-адреса с которых якобы этот браузер пришел. В windows эту функцию выполняет программа proxifier. Что она делает: она при помощи заранее для нее настроенных прокси серверов заставляет каждое отдельно взятое приложение использующее Интернет использовать только тот прокси сервер (настроенный с помощью proxifier), который я укажу. Т.е. мне по сути нужен аналог proxifier для windows. И ближайший среди них оказался proxychains-gui. Но к сожалению пакет не работает корректно с playonlinux и приложениями wine запущенными из-под него. Т.е. они (приложения windows) игнорируют настройки proxychains-gui.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение Bizdelnick »

Ну да, cgroup + iptables. Как вариант, можете попробовать https://github.com/springzfx/cgproxy, но что-то мне подсказывает, что написать свой скрипт-враппер под свою задачу будет проще.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
astronom1987
Сообщения: 1145
ОС: MX Linux
Контактная информация:

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение astronom1987 »

Да, спасибо, это оно самое. Эта штуковина позволяет настроить один прокси-сервер и через него запускать отдельные приложения. Но мне нужно добиться того, чтобы каждый клиент имел личный прокси... Это если бы мне нужно было бы запустить один браузер, чтобы его видело сайты в Интернете от имени 3, 4 и больше адресов в зависимости от количества запущенных копий. Но как мы знаем к одному сетевому интерфейсу можно привязать один прокси. А несколько - это уже целая проблема.
Поэтому сейчас гуглю на тему создания виртуальных сетевых интерфейсов, чтобы потом каждый из них привязать к нужному прокси-серверу, а потом каждую программу заставить использовать только указанный мной виртуальный сетевой интерфейс и больше никакой. Есть ли у кого какие мысли как это можно сделать?
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 901
ОС: debian, fedora (i3-wm)

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение olecya »

astronom1987 писал:
06.10.2020 15:11
Но как мы знаем к одному сетевому интерфейсу можно привязать один прокси.
Ну я знаю что есть драйвер связывающий несколько интерфейсов, не знаю правда работает ли он с виртуальными но с физическими это примерно как с мостом только на одном ip

Код: Выделить всё

ip link add bond1 type bond miimon 100 mode active-backup
ip link set eth0 master bond1
ip link set eth1 master bond1
Гуглить: "bonding объединение сетевых интерфейсов"
Добавлено (16:19):
Нашла противоречивые ответы, один утверждает что связываются только интерфейсы физических устройств, а во втором ответе утверждается что это поддерживается в редхат с версии 7, если это так то в моей федоре32 должно работать. Сейчас попробую разобраться
Спасибо сказали:
Аватара пользователя
astronom1987
Сообщения: 1145
ОС: MX Linux
Контактная информация:

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение astronom1987 »

Мне нужно как раз чтобы были созданы несколько виртуальных интерфейсов на одном реальном.
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 901
ОС: debian, fedora (i3-wm)

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение olecya »

Не знаю правда как это проверить но вот в федоре все создалось под одним мак адресом

Shell

8: tap0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,SLAVE,UP> mtu 1500 qdisc fq_codel master bond1 state DOWN group default qlen 1000
link/ether 32:02:00:9d:ad:d7 brd ff:ff:ff:ff:ff:ff
9: tap1: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,SLAVE,UP> mtu 1500 qdisc fq_codel master bond1 state DOWN group default qlen 1000
link/ether 32:02:00:9d:ad:d7 brd ff:ff:ff:ff:ff:ff
10: bond1: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue master virbr0 state DOWN group default qlen 1000
link/ether 32:02:00:9d:ad:d7 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.111/32 scope global bond1
valid_lft forever preferred_lft forever
inet6 fe80::3002:ff:fe9d:add7/64 scope link
valid_lft forever preferred_lft forever
Я включила его в виртуальный мост, заметте интефейс tap0 не включала в мост

Shell

brctl show
virbr0 8000.52540038a9c4 yes bond1
virbr0-nic
vnet0
запустила виртуалку напрямую в qemu связав с интерфейсом tap0. Сеть в виртуалке настроена автоматически через dhcp. Прошу заметить, интефейс tap0 напрямую я не включала в мост но виртуалка получила адрес через связаный интерфейс bond1, значит все работает
Последний раз редактировалось olecya 07.10.2020 05:52, всего редактировалось 1 раз.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20791
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение Bizdelnick »

astronom1987 писал:
06.10.2020 15:11
мне нужно добиться того, чтобы каждый клиент имел личный прокси... Это если бы мне нужно было бы запустить один браузер, чтобы его видело сайты в Интернете от имени 3, 4 и больше адресов в зависимости от количества запущенных копий.
Запускайте каждый в своей cgroup, в чём проблема-то?
Никакими интерфейсами вопрос не решается, всё равно надо будет как-то заставлять процессы ходить через разные интерфейсы. А это, опять-таки, надо будет делать через cgroup с какими-то дополнительными костылями.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
astronom1987
Сообщения: 1145
ОС: MX Linux
Контактная информация:

Re: Как каждому Интернет приложению запущенному через wine присвоить свой личный IP?

Сообщение astronom1987 »

Bizdelnick
Спасибо за наводку, буду пробовать копать в этом направлении, если будут какие-то вопросы - отпишусь здесь.
Спасибо сказали:
Ответить