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


Автор Тема: Проброс портов  (Прочитано 1223 раз)

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

Оффлайн svil

  • Автор темы
  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
Проброс портов
« : 09 Ноября 2009, 16:53:19 »
Есть шлюз на базе Ubuntu. интерфейс eth0 (90.90.90.90)- внешний ип адрес. eth1(192.168.1.1) - внутренняя сеть
На нем настроен проброс 10000 порта с внешнего интерфейса (90.90.90.90) на 80 порт локального компьютера(192.168.1.10).

Сложность в следующем: необходимо чтобы на компьютере (192.168.1.10) определялся реальный внешний ip адрес клиента, который заходит по адресу 90.90.90.90:10000, а определяется внутренний адрес шлюза (192.168.1.1).
У кого какие соображения есть???? очень важно для меня.
Ubuntu 9.10 @ MSI U90

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проброс портов
« Ответ #1 : 09 Ноября 2009, 17:01:34 »
Как настроен iptables? Для проброса нужно использовать DNAT и никакого маскардинга.

Оффлайн svil

  • Автор темы
  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
Re: Проброс портов
« Ответ #2 : 09 Ноября 2009, 19:20:34 »
Если не ошибаюсь то вот так вот

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10000 -j DNAT --to-destination 192.168.1.10:80
iptables -A FORWARD -d 192.168.1.10 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp -m tcp --dport 80 -j MASQUERADE
« Последнее редактирование: 09 Ноября 2009, 19:25:26 от svil »
Ubuntu 9.10 @ MSI U90

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проброс портов
« Ответ #3 : 10 Ноября 2009, 00:24:00 »
Ну если так настроено, то маскардинг какраз и подменяет ip на шлюзовский. Обычно так никто не делает, т.к. это противоречит здравому смыслу в работе шлюза - маскардинг работает в неправильную сторону. Всетаки хочется видеть полную картину, т.к. что то здесь мне кажется не логичным.

Оффлайн svil

  • Автор темы
  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
Re: Проброс портов
« Ответ #4 : 10 Ноября 2009, 08:28:09 »
Подскажите на какие следует заменить данные правила.
Ubuntu 9.10 @ MSI U90

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проброс портов
« Ответ #5 : 10 Ноября 2009, 10:31:11 »
Конечно могу ошибаться, данную схему не проверял, но мне кажется это подойдет:

iptables -t nat -A POSTROUTING ! -s 90.90.90.90 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 10000 -j DNAT --to 192.168.1.10:80

iptables -P FORWARD DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
iptables -A FORWARD ! -i eth0 -o eth0 -m state --state NEW -j ACCEPT

 

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