Вывод в интернет фермы виртуалок

12
L7
На сайте с 04.06.2008
Offline
68
1178

Здравствуйте.

Есть ферма виртуалок скрытых от внешки через nat (отдельный хост с linux+iptables), и к нему привязан один выделенный внешний ip адрес. Хотелось бы иметь доступ к виртуалкам из интернета по http. Пока я представляю только два варианта:

1. port forwarding

2. http proxy (nginx, например, доступ по domain или ip+port).

Оба варианты решают задачу, но хочется большего :) Возможно есть вариант сделать что-то вроде domain forwarding (не знаю как может называться этот способ, поэтому по аналогии с пробросом портов). Т.е. чтобы все пакеты, приходящие на определенный домен (не важно какой порт), передавались на внутренний определенный ip, который будет связан с доменом. Возможно такое?

A
На сайте с 14.11.2011
Offline
34
alw
#1

Нет, т.к. противоречит модели OSI. Ибо понятие домена - уже на уровне приложения, например на уровне http протокола. А проброс всех пакетов - это транспортный уровень, протокол tcp/ip. Так что только вышеописанные два варианта. Ну или понакупать белых адресов на каждую виртуалку.

Администрирование linux, windows (/ru/forum/671883) icq 4831950
forest25
На сайте с 12.09.2009
Offline
67
#2

Может OpenVPN попробуете для данных целей?

VPS 512MB 20GB SSD KVM - 5$ (http://u.hmdw.me/digitalocean) | ИМХО о хостингах (http://u.hmdw.me/hosting)
L7
На сайте с 04.06.2008
Offline
68
#3
alw:
Ну или понакупать белых адресов на каждую виртуалку.

В том то и дело, что такой возможности нет :(

---------- Добавлено 26.02.2012 в 22:18 ----------

forest25:
Может OpenVPN попробуете для данных целей?

Каким образом?

A
На сайте с 14.11.2011
Offline
34
alw
#4
forest25:
Может OpenVPN попробуете для данных целей?

И чем же оно поможет?

L7
На сайте с 04.06.2008
Offline
68
#5
alw:
И чем же оно поможет?

Могу предположить, что имелось виду купить доступный vps/dedicated с дешевыми ip и через vpn соединить их с внутренними нодами. Но насколько понимаю это дорого, не совсем надежно и дополнительная задержка на доставку пакетов.

A
На сайте с 14.11.2011
Offline
34
alw
#6

Ну да, лишняя точка отказа, увеличение пинга..

M
На сайте с 01.12.2009
Offline
235
#7
lokid7:
Здравствуйте.

Есть ферма виртуалок скрытых от внешки через nat (отдельный хост с linux+iptables), и к нему привязан один выделенный внешний ip адрес. Хотелось бы иметь доступ к виртуалкам из интернета по http. Пока я представляю только два варианта:

1. port forwarding
2. http proxy (nginx, например, доступ по domain или ip+port).

Оба варианты решают задачу, но хочется большего :) Возможно есть вариант сделать что-то вроде domain forwarding (не знаю как может называться этот способ, поэтому по аналогии с пробросом портов). Т.е. чтобы все пакеты, приходящие на определенный домен (не важно какой порт), передавались на внутренний определенный ip, который будет связан с доменом. Возможно такое?

Нет ни чего не возможного, надо детальнее вникать.

Администратор Linux,Freebsd. построения крупных проектов.
D
На сайте с 27.11.2006
Offline
83
#8

iptables модуль

string

This modules matches a given string by using some pattern matching strategy. It requires a linux kernel >= 2.6.14.
--algo bm|kmp
Select the pattern matching strategy. (bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)
--from offset
Set the offset from which it starts looking for any matching. If not passed, default is 0.
--to offset
Set the offset from which it starts looking for any matching. If not passed, default is the packet size.
--string pattern
Matches the given pattern. --hex-string pattern Matches the given pattern in hex notation.

поиск пакетов в 80 порту

поиск по домену в заголовке HOST

далее маркировка соединения

далее промаркированное соединение отправляется в соответствующую цепочку nat'a

но это всё костыли, может нестабильно работать

A
На сайте с 14.11.2011
Offline
34
alw
#9

Разумеется костыли, речь то шла не только о 80 порту. Для http-only можно было бы просто mod-proxy пользовать и все

D
На сайте с 27.11.2006
Offline
83
#10

Теоретически на VPS конечное число служб, можно что-то подобное написать для каждой.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий