FTP с родительской ОС в Jail'ы
Добавлено: 2009-12-01 18:17:42
Здравствуйте.
У меня есть сервер на котором запущено несколько Jail'ов...в каждом Jail'e по apache+fastcgi+suexec (так надо, потому что разные настройки, разные версии и т.д. и т.п.)
На родительской ОС запущен Nginx для проксирования http (пользователь заходит по http например на somedomain.com, Nginx получает, смотрит какой домен, и проксирует на какой-то из джейлов). С http все супер... (если надо добавить новый сервер или джейл я просто прописываю домены которые на нем есть и IP в конфиг nginx на родительской ос, все идет на родительскую ОС, а оттуда уже в джейл или вообще на другой сервер(счас у меня 1 сервер всего, но планирую запустить еще один...и тогда не надо будет извращаться, менять IP адреса в настройках доменов и т.п. будет всего 1 внешний IP))
Проблема с доступом FTP и SSH на джейлы...внешний/выделенный IP только один, и прикручен он к родительской ОС (у джейлов внутренние/локальные IP, которые доступны только внутри сервера)...получается что к серверу из интернета я могу подключится только по одному IP...
Мне надо дать доступ по FTP к хомам пользователей которые созданы в джейлах =\ (ssh это уже не очень важно,он нужен только мне...и я сначала захожу по внешнему IP на родительскую ОС, потом из нее на какой-то из джейлов)
те.пользователь заходит по FTP на домен somedomain.com, вводит логин,пароль и видит свой хом..
Какие варианты я вижу:
1.запустить FTP сервер на родительской ОС, пользователей брать из mysql, фтп сервер будет показывать хомы с родительской ОС (если например в джейле мой хом /home/jeno/ то на родительской ОС я могу посмотреть его содержимое по пути /home/jails/somejail1/home/jeno/) - но такой вариант не хотелось бы...во первых непонятно что будет с правами, ну и хотелось бы добавить еще один сервер (отдельный физ. сервер а не джейл)..в таком случае, хомы пользователей на отдаленном сервер будут недоступны просто в файловой системе... (разве что прикрутить как-то виртуальный сетевой диск=\ но имхо это извращение)
2.в каждом джейле запустить FTP сервер на нестандартном порту, а на основной ОС сделать переброс портов - но нестандартные порты это наверное вообще не вариант=\ по крайней мере когда-то у меня уже было много граблей из-за этого (с пользователями у которых фаерволы, прокси, провайдером открыты только некоторые порты и т.д.)
3.проксирование
как и с http сейчас...
пользователь подключается в родительской ОС по FTP (например он хочет попасть на домен somedomain.com), на родительской ОС запущен какой-то сервер (пока не знаю что это может быть) на 21 порту, слушает порт...видит что пользователь хочет на "somedomain.com", смотрит что это локальный IP 192.168.0.131, и перенаправляет все на FTP сервер который запущен на 192.168.0.131... - такой вариант ооочень бы меня устроил...в таком случае я добавляю новый джейл/сервер, прописываю домены которые на нем есть, его IP и все красиво работает..
с утра лазил по интернету, пытался найти какие-то решения...ковырял 3proxy, но как я понял это несовсем то что надо...нужно чтоб оно висело как FTP сервер..а не работало как прокси... (как я понял тупо подключится к прокси серверу как к ФТП серверу (по 21 порту) не выйдет)
возможно какое-то низкоуровневое перенаправление, например ipfw (в чем я очень сильно сомневаюсь, всетаки FTP не низкоуровневый протокол)
надеюсь вариант №3 реально использовать, если да, то подскажите пожалуйста в какую сторону копать...хотя бы ключевые слова)
а если есть еще какие-то варианты, буду очень признателен) устал об клавиатуру головой биться...
Спасибо!
У меня есть сервер на котором запущено несколько Jail'ов...в каждом Jail'e по apache+fastcgi+suexec (так надо, потому что разные настройки, разные версии и т.д. и т.п.)
На родительской ОС запущен Nginx для проксирования http (пользователь заходит по http например на somedomain.com, Nginx получает, смотрит какой домен, и проксирует на какой-то из джейлов). С http все супер... (если надо добавить новый сервер или джейл я просто прописываю домены которые на нем есть и IP в конфиг nginx на родительской ос, все идет на родительскую ОС, а оттуда уже в джейл или вообще на другой сервер(счас у меня 1 сервер всего, но планирую запустить еще один...и тогда не надо будет извращаться, менять IP адреса в настройках доменов и т.п. будет всего 1 внешний IP))
Проблема с доступом FTP и SSH на джейлы...внешний/выделенный IP только один, и прикручен он к родительской ОС (у джейлов внутренние/локальные IP, которые доступны только внутри сервера)...получается что к серверу из интернета я могу подключится только по одному IP...
Мне надо дать доступ по FTP к хомам пользователей которые созданы в джейлах =\ (ssh это уже не очень важно,он нужен только мне...и я сначала захожу по внешнему IP на родительскую ОС, потом из нее на какой-то из джейлов)
те.пользователь заходит по FTP на домен somedomain.com, вводит логин,пароль и видит свой хом..
Какие варианты я вижу:
1.запустить FTP сервер на родительской ОС, пользователей брать из mysql, фтп сервер будет показывать хомы с родительской ОС (если например в джейле мой хом /home/jeno/ то на родительской ОС я могу посмотреть его содержимое по пути /home/jails/somejail1/home/jeno/) - но такой вариант не хотелось бы...во первых непонятно что будет с правами, ну и хотелось бы добавить еще один сервер (отдельный физ. сервер а не джейл)..в таком случае, хомы пользователей на отдаленном сервер будут недоступны просто в файловой системе... (разве что прикрутить как-то виртуальный сетевой диск=\ но имхо это извращение)
2.в каждом джейле запустить FTP сервер на нестандартном порту, а на основной ОС сделать переброс портов - но нестандартные порты это наверное вообще не вариант=\ по крайней мере когда-то у меня уже было много граблей из-за этого (с пользователями у которых фаерволы, прокси, провайдером открыты только некоторые порты и т.д.)
3.проксирование
как и с http сейчас...
пользователь подключается в родительской ОС по FTP (например он хочет попасть на домен somedomain.com), на родительской ОС запущен какой-то сервер (пока не знаю что это может быть) на 21 порту, слушает порт...видит что пользователь хочет на "somedomain.com", смотрит что это локальный IP 192.168.0.131, и перенаправляет все на FTP сервер который запущен на 192.168.0.131... - такой вариант ооочень бы меня устроил...в таком случае я добавляю новый джейл/сервер, прописываю домены которые на нем есть, его IP и все красиво работает..
с утра лазил по интернету, пытался найти какие-то решения...ковырял 3proxy, но как я понял это несовсем то что надо...нужно чтоб оно висело как FTP сервер..а не работало как прокси... (как я понял тупо подключится к прокси серверу как к ФТП серверу (по 21 порту) не выйдет)
возможно какое-то низкоуровневое перенаправление, например ipfw (в чем я очень сильно сомневаюсь, всетаки FTP не низкоуровневый протокол)
надеюсь вариант №3 реально использовать, если да, то подскажите пожалуйста в какую сторону копать...хотя бы ключевые слова)
а если есть еще какие-то варианты, буду очень признателен) устал об клавиатуру головой биться...
Спасибо!