Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс  (Прочитано 1182 раз)

0 Пользователей и 1 Гость просматривают эту тему.

v.kvych

  • Автор темы
  • Гость
Привет,

Никак не получается настроить iptables.  :-\

На 10.0.3.190:3306 (lxcbr0) стоит mysql-server, надо сделать так, чтобы команда

$ mysql -uroot -p -h 127.0.0.1 -P 3306

попадала на 10.0.3.190:3306, то есть 127.0.0.1:3306 => 10.0.3.190:3306

С такими конфигами:

$ iptables-save
# Generated by iptables-save v1.4.12 on Wed Oct  3 11:07:28 2012
*filter
:INPUT ACCEPT [219:19270]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [375:27272]
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 10.0.3.190/32 -i lo -o lxcbr0 -p tcp -m tcp --dport 3306 -m state --state NEW -j ACCEPT
COMMIT
# Completed on Wed Oct  3 11:07:28 2012
# Generated by iptables-save v1.4.12 on Wed Oct  3 11:07:28 2012
*nat
:PREROUTING ACCEPT [5:4536]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [2:124]
:POSTROUTING ACCEPT [2:124]
-A PREROUTING -i lo -p tcp -m tcp --dport 3306 -j DNAT --to-destination 10.0.2.190:3306
-A OUTPUT -p tcp -m tcp --dport 3306 -j DNAT --to-destination 10.0.3.190
COMMIT

такой результат:

$ mysql -utrunk -p -h 127.0.0.1 -P 3306
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (110)

Система: ubuntu 12.04, amd64
« Последнее редактирование: 03 Октябрь 2012, 13:14:45 от v.kvych »

Оффлайн olegik-hp

  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #1 : 03 Октябрь 2012, 14:11:46 »
(Нажмите, чтобы показать/скрыть)
Нет?
1) Лучшая помощь -- Линк на доку.
2) Главное -- не просто сделать, а понять как.
3) Просто пару слов, для понимания -- лучший ответ.

v.kvych

  • Автор темы
  • Гость
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #2 : 03 Октябрь 2012, 14:29:46 »
без изменений  ???

Оффлайн olegik-hp

  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #3 : 03 Октябрь 2012, 14:36:17 »
А форвард в ядре разрешен?
1) Лучшая помощь -- Линк на доку.
2) Главное -- не просто сделать, а понять как.
3) Просто пару слов, для понимания -- лучший ответ.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13744
    • Просмотр профиля
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #4 : 03 Октябрь 2012, 14:39:39 »
Ээээх...
sudo iptables -t nat -A PREROUTING -d 127.0.0.1 -i lo0 -p tcp -m tcp --dport 3306 -j DNAT --to-destination 10.0.3.190По идее так. Но!!!!
Во-первых, локальные процессы не попадают в цепочку PREROUTING таблицы nat. Правда я не уверен по работе интерфейса Loopback, но скорее всего его это тоже касается. Гуру более высоких рангов, или просто которые в теме, поправят.
Во-вторых. Если Вы таким образом хотите нае...мануть сервер MySQL, то Вас настигнет облом, потому как он при авторизации воспримет Вас как удалённый хост, а не локальный
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

v.kvych

  • Автор темы
  • Гость
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #5 : 03 Октябрь 2012, 14:43:37 »
А форвард в ядре разрешен?

$ cat /proc/sys/net/ipv4/ip_forward
1
$ cat /proc/sys/net/ipv4/conf/lo/forwarding
1
$ cat /proc/sys/net/ipv4/conf/lxcbr0/forwarding
1

Пользователь решил продолжить мысль 03 Октябрь 2012, 14:50:53:
Во-первых, локальные процессы не попадают в цепочку PREROUTING таблицы nat.

Об этом я знаю, но не понимаю, как настроить иначе.

хотите нае...мануть сервер MySQL, то Вас настигнет облом, потому как он при авторизации воспримет Вас как удалённый хост, а не локальный

Если так

mysql -uroot -p -h 10.0.3.190

то все нормально работает.
« Последнее редактирование: 03 Октябрь 2012, 14:50:53 от v.kvych »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13744
    • Просмотр профиля
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #6 : 03 Октябрь 2012, 15:49:17 »
откройте тайну: зачем Вам обращаться именно на lo0?
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

v.kvych

  • Автор темы
  • Гость
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #7 : 03 Октябрь 2012, 16:10:25 »
откройте тайну: зачем Вам обращаться именно на lo0?

в проекте есть много модулей с различными настройками доступа к mysql под различные среды, соответственно для локальной среды все ходит по 127.0.0.1

нужно иметь возможность легко изменять версию базы для тестирования.

вот я и подумал, что проще будет создать несколько LXC контейнеров и в случае неодходности менять форвардинг на другую базу

Пользователь решил продолжить мысль 03 Октябрь 2012, 16:13:08:
буду благодарен если подскажете другой вариант решения этой проблемы  :)
« Последнее редактирование: 03 Октябрь 2012, 16:13:08 от v.kvych »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25960
    • Просмотр профиля
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #8 : 03 Октябрь 2012, 17:31:59 »
Перепишите проект нормально, чтобы можно было менять настройку одной вещи в одном месте, а не в десятке.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

v.kvych

  • Автор темы
  • Гость
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #9 : 03 Октябрь 2012, 17:49:18 »
Перепишите проект нормально, чтобы можно было менять настройку одной вещи в одном месте, а не в десятке.

Легко сказать пока проект еще мал, другое дело, когда 100500 различных war-ок и ear-ок деплояться на разных машинах, часть из которых > 7 лет.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25960
    • Просмотр профиля
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #10 : 03 Октябрь 2012, 17:54:42 »
Тем более, надо искать прямое решение. Если нельзя внести изменения в код проекта напрямую, можно написать скрипт, которые по одному образцу пишет конфигурацию для всех модулей.
Поймите, чем раньше вы исправите кривые места проекта, тем больше времени у вас останется на его развитие.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

v.kvych

  • Автор темы
  • Гость
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #11 : 03 Октябрь 2012, 18:16:48 »
Я согласен, но писать скрипт для автоматического обновления IP-шок также не лучший выход, как минимум нужно постоянно следить, чтобы подмененные IP-шки не попали в svn...

тем более модули работают на разных фрейворках начиная c EJB 2 (facepalm) и уж так сложилось, что у каждого из них другая система конфигурации

Пользователь решил продолжить мысль 03 Октябрь 2012, 18:54:43:
И все же, сабж реализуем? Бросьте хотя бы ссылки, если когда-то сталкивались с подобным?

Буду очень благодарен
« Последнее редактирование: 03 Октябрь 2012, 18:54:43 от v.kvych »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25960
    • Просмотр профиля
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #12 : 03 Октябрь 2012, 19:42:30 »
Нет. Сказали ведь уже.
А то, что у вас конфиги хранятся в репозитории проекта - это просто бардак.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13744
    • Просмотр профиля
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #13 : 03 Октябрь 2012, 20:58:02 »
Могу предложить в качестве решения запускать mysql с другой базой на том же порту, остановив при этом рабочий вариант.
Костыль, конечно, её той кривизны, но попробовать можно.
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

v.kvych

  • Автор темы
  • Гость
Re: Настройка port forwarding с 127.0.0.1 на lxcbr0 интерфейс
« Ответ #14 : 03 Октябрь 2012, 21:11:10 »
Нет. Сказали ведь уже.
А то, что у вас конфиги хранятся в репозитории проекта - это просто бардак.

Ясно, и за это спасибо, не буду без толку копать :)
Ну, проект старий, работает, суппортится, понемногу апгрейдим. На глубокий рефактониг времени нету.

Пользователь решил продолжить мысль 03 Октябрь 2012, 21:19:48:
Могу предложить в качестве решения запускать mysql с другой базой на том же порту, остановив при этом рабочий вариант.
Костыль, конечно, её той кривизны, но попробовать можно.

Здесь немного другая проблема, раньше пробовал инсталить mysql 5.1 на precise, было много проблем с зависимостями пакетов.
« Последнее редактирование: 03 Октябрь 2012, 21:21:00 от v.kvych »

 

Страница сгенерирована за 0.059 секунд. Запросов: 25.