Найти - Пользователи
Полная версия: Выбор сетевого интерфейса из скрипта.
Начало » Network » Выбор сетевого интерфейса из скрипта.
1 2
demoriz
Есть робот на сервере (linux centos) который периодически заходит на определённый интернет сайт и берёт нужную информацию. На сервере 10 IP адресов. Необходимо чтобы робот использовал их все по очереди.
Ferroman
А где вопрос?
demoriz
Необходимо чтобы робот использовал их все по очереди. - мне казалось что это как условие задачи лаконично понятно, но если вы всёже не видите вопроса я поясню:

как это можно сделать?
как скриптом выбирать сетевые интерфейсы или ip адреса для выхода?
ZZZ
Способов много…
Как вариант, ставите PostreSQL или Oracle создаёте таблицу с полем “ip” и типом “inet” (create table…), загоняете туда все десять адересов (connection.executemany) и выбираете по одному (…order by ip limit 1 offset ?).
Как видите, всё просто.
demoriz
наверно я действительно непонятно выражаюсь…
вот часть кодагде происходит запрос в интернет:
def geturl(self, host):
txheaders = {
"User-Agent" : "Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1",
'Accept-Language': 'en-us',
'Cache-Control': 'max-age=0'
}
req = urllib2.Request(host, None, txheaders)
return urllib2.urlopen(req).read()
Коннект идёт через дефолтный интерфейс.
Как мне самому указать роботу интерфейс через который в инет выходит???
PooH
demoriz
Коннект идёт через дефолтный интерфейс.
Как мне самому указать роботу интерфейс через который в инет выходит???
Пропишите роут через этот интерфейс, а после запроса удалите
demoriz
PooH
Пропишите роут через этот интерфейс, а после запроса удалите
На сервере крутится слишком много приложений привязанных к IP, крайне нежелательно менять дефолтный маршрут даже на пару секунд. Ну неужели у такого популярного языка нет способа самостоятельно выбирать сетевой интерфейс для выхода в интернет?
PooH
demoriz
На сервере крутится слишком много приложений привязанных к IP, крайне нежелательно менять дефолтный маршрут даже на пару секунд.
А если менять не дефолтный маршрут, а прописывать на конкретный IP?
demoriz
Ну неужели у такого популярного языка нет способа самостоятельно выбирать сетевой интерфейс для выхода в интернет?
Наверно есть, но копать надо глубже, маршрутизация это где-то третий уровень OSI, вы же пытаетесь работать на седьмом :)
demoriz
PooH
demoriz
На сервере крутится слишком много приложений привязанных к IP, крайне нежелательно менять дефолтный маршрут даже на пару секунд.
А если менять не дефолтный маршрут, а прописывать на конкретный IP?
А как?
PooH
demoriz
А как?
А черт его знает, спросите вашего админа. Ну что нибудь типа:
route add -host 192.168.1.1 gw 192.168.0.1 dev br0
выполнять это через subprocess
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB