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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Проблема форвардинга A -> B -> A  (Прочитано 665 раз)

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

Оффлайн onsails

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Проблема форвардинга A -> B -> A
« : 04 Февраля 2013, 13:38:20 »
У меня есть хост-машина A, на которой крутится lxc-контейнер B
IP-адрес в lxcbr0 A 10.0.3.1, публичный ip, допустим, 1.2.3.4
IP-адрес в lxcbr0 B 10.0.3.21.

Мне нужно, чтобы соединения с 1.2.3.4:7999 перенаправлялись на 10.0.3.1:7999. Для этого я создал следующее правило:
    iptables -t nat -I PREROUTING -p tcp -d 1.2.3.4 --dport 7999 -j DNAT --to 10.0.3.21:7999
    iptables -A FORWARD -p tcp -d 10.0.3.21 --dport 7999 -j ACCEPT

Когда я соединяюсь с A (1.2.3.4:7999) из внешнего мира, соединение устанавливается.
Но, если я пытаюсь соединиться с A:7999 из B, я получаю ошибку таймаута соединения.

Какое правило я упускаю и на какой машине?

Любые соединения с B на A на порты, которые реально открыты на А, проходят успешно.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблема форвардинга A -> B -> A
« Ответ #1 : 04 Февраля 2013, 17:41:07 »
Добавить примерно следующее:
-A POSTROUTING -s 10.0.3.21/32 -d 10.0.3.21/32 -o lxcbr0 -j SNAT --to-source 10.0.3.1

 

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