ФорумПрограммированиеPython → Программно использовать несколько выделенных IP адресов

Программно использовать несколько выделенных IP адресов

  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 2 ноября 2015 г. 15:28

    Есть возможность заказать для своего VPS сервака дополнительные айпишники, как программно их утилизировать? Допустим при отправке HTTP запросов.

    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 ноября 2015 г. 15:30, спустя 1 минуту 19 секунд

    зависит от языка и настроек роутинга

    Сапожник без сапог
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 2 ноября 2015 г. 15:33, спустя 3 минуты 9 секунд

    На примере питона, допустим. А в этих ваших роутингах не шарю.

    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 2 ноября 2015 г. 15:37, спустя 3 минуты 41 секунду

    How to use a different server IP with PHP/cURL? [stackoverflow.com]

    Спустя 47 сек.

    Source interface with Python and urllib2 [stackoverflow.com]

    Спустя 81 сек.

    вообще ситуация с несколькими IP обычно нужны только для входящего трафика, ибо на них легко вешаться и отвечать. а вот именно кравлить с них достаточно непросто ибо роутинг кривота и тп :)

    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 3 ноября 2015 г. 2:04, спустя 10 часов 27 минут 49 секунд

    @Frozzeg, почитай про ip-алиасы. По сути ты можешь их подключить к сетевому интерфейсу, потом можешь поставить прокси локальный и выходить через них
    Можно даже через curl юзать алиасы, без установки прокси, но это неудобно

    @mathete посоветуй что-нибудь для этого?

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 3 ноября 2015 г. 7:04, спустя 4 часа 59 минут 16 секунд

    @Frozzeg, если на vps айпишки в панельке включаются, то тебе не надо будет ничего роутить, и тем-более анонсить. Просто посмотри, что они у тебя появились в выводе ifconfig.

    Далее, как выше уже говорили, у curl есть опция --interface.

    По поводу использования в ЯП... По определению, сокет имеет точку А(ip:port) и точку Б(ip:port). В 99% случаев, при connect указывается только dest и ОС сама берёт дефолтный интерфейс и свободный порт. Во многих высокоуровневых языках можно указать source при работе с tcp. В python, правда это появилось почти вчера 17.2. socket — Low-level networking interface — Python 2.7.10 documentation [docs.python.org]. А в протоколах выше, уже на это забили хуй.

    Варианты - curl, которому не всё равно. Монкепатчинг в рантайме высокоуровневых протоколов. Работа на уровне tcp.

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 3 ноября 2015 г. 7:07, спустя 2 минуты 59 секунд

    Ну манкипатчить думаю самое простое

    Спустя 25 сек.

    @mathete, поднять локальное прокси не советуешь?

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 3 ноября 2015 г. 7:15, спустя 8 минут 30 секунд

    короче вы повыебывались и сказали что и я - все сложно, роутинг + не факт что пакеты назад через тот же роут пройдут, а не потеряются )) multirouting с несокльких IP непростая вещь, но и не сложная, но с полпинка не заведешь 99%.

    Сапожник без сапог
  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 3 ноября 2015 г. 7:24, спустя 8 минут 55 секунд

    @adw0rd, ну я задачу не услышал до конца :) и не понятны скилы участника битвы. При абстрактных данных - меньше накладных расходов и больше контроля, если указывать source в приложении.

    @phpdude, если хостер даёт айпишки, то роутинг уже весь настроен и с уровня приложения, даже системного, у тебя есть адрес и спокойно работаешь, как я выше описал. А если ТС спиздил ипы и пытается их анонсить с vps, то даже не смешно.

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 3 ноября 2015 г. 7:31, спустя 6 минут 52 секунды

    @phpdude, если хостер даёт айпишки, то роутинг уже весь настроен и с уровня приложения, даже системного, у тебя есть адрес и спокойно работаешь, как я выше описал. А если ТС спиздил ипы и пытается их анонсить с vps, то даже не смешно.

    @mathete, это работает до тех пор пока у тебя они в одной сети все находятся с роутером, как только разные сети - начинают происходить интересные вещи ))) по крайней мере так было лет 6 назад. Возможно уже все пофикшено ))) но тогда я был совсем охуевшей рожей которая хотела сразу 4 провайдера завернуть в один канал и роутить попакетно все в разные сети чтобы быстрее все работало ))

    Спустя 40 сек.

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

    Сапожник без сапог
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 4 ноября 2015 г. 2:11, спустя 18 часов 40 минут 21 секунду

    @adw0rd, ну я задачу не услышал до конца :)

    @mathete, при отправке HTTP запросов я хочу переключатся между доступными на моей VPS-ке IP как между прокси.

    Нашел решение для шарпа, но запрос отваливается по таймауту. Возможно, ответ приходит на другой айпи. Еще не разбирался.

    public static IPEndPoint BindIPEndPointCallback(ServicePoint servicePoint, IPEndPoint remoteEndPoint, int retryCount)
    {
              return new IPEndPoint(IPAddress.Parse("127.0.0.1"),5000);
    }
    
    
    public static void Main()
    {
    HttpWebRequest request = (HttpWebRequest) WebRequest.Create(&quot;<noindex><a href="http://mysite.ru&quot;);" rel="nofollow">http://mysite.ru&quot;);</a></noindex>
    request.ServicePoint.BindIPEndPointDelegate = new BindIPEndPoint(BindIPEndPointCallback);
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    }
    

    Спустя 73 сек.

    Ипы не пиздил, подключаю через панель.

    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 4 ноября 2015 г. 2:53, спустя 41 минуту 34 секунды

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 4 ноября 2015 г. 8:36, спустя 5 часов 42 минуты 39 секунд

    Нашел решение для шарпа, но запрос отваливается по таймауту. Возможно, ответ приходит на другой айпи. Еще не разбирался.

    @Frozzeg, я же говорю что там не все так просто. Там роутинг и метки на пакеты странные ставятся в такой ситуации и их либо едро хуячит как бед либо они вникуда роутятся сторонними гейтами )) панель тебе дает много ip чисто для бинда на них чтобы сайты можно было на разные ипы вешать. односторонняя хуйня как б

    Сапожник без сапог
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 25 ноября 2015 г. 16:07, спустя 21 день 7 часов 31 минуту

    @phpdude, я сначала тоже так подумал и уже было расстроился, оказалось, видимо как-то на винде криво настроил. На линуксе пашет как часы.

    для добавления второго айпишника прописываем в /etc/network/interfaces следующее:

    auto [NIC]:[n]
    iface [NIC]:[n] inet static
    address [ip.add.rr.ss]
    gateway [gw.ip.ad.rs]
    netmask [ne.tm.as.kk]

    ну а дальше в сокете биндимся к нужному айпишнику, как оказалось - биндиться для исходящих сообщений тоже нужно

    фигово матчасть не знать )

    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 25 ноября 2015 г. 21:58, спустя 5 часов 50 минут 54 секунды

    @Frozzeg, а яп какой?

    Спустя 3 сек.

    python?

    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!