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


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

Автор Тема: Проброс портов через два компьютера  (Прочитано 1082 раз)

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

Оффлайн keanor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Мучаюсь недели две. Сдаюсь, нужна помощь. Есть 2 локальные сети, которые соеденены межсетевыми экранами (см рис)



По адресу 192.168.0.22 я поднял веб-сервер.
Пытаюсь сделать так, чтобы при обращение клиента (192.168.0.254) по адресу 10.52.254.42:7080 открывалась страничка с сервера 192.168.0.22

В клиентской сети шлюзом поставил 192.168.0.1 (это внутренний IP его МЭ) и tracert до 10.52.254.42 доходит (?).

  1    <1 ¬б    <1 ¬б    <1 ¬б  192.168.0.1
  2    <1 ¬б    <1 ¬б    <1 ¬б  10.52.56.41
  3     *        *        *     ЏаҐўл襭 Ё­вҐаў « ®¦Ё¤ ­Ёп ¤«п § Їа®б .
  4     *        *        *     ЏаҐўл襭 Ё­вҐаў « ®¦Ё¤ ­Ёп ¤«п § Їа®б .
  5     *        *        *     ЏаҐўл襭 Ё­вҐаў « ®¦Ё¤ ­Ёп ¤«п § Їа®б .
  6    10 ms     9 ms     9 ms  10.52.254.42

в /etc/sysconfig/iptables в МЭ клиентской сети добавил:

-A POSTROUTING -p ALL -j SNAT -o eth2 --to-source 10.52.63.42-10.52.63.42
-A FORWARD -p ALL -d 10.52.254.42 -j ACCEPT -i eth0 -o eth2

в /etc/sysconfig/iptables в МЭ серверной сети добавил:

-A INPUT -p tcp -p tcp -j ACCEPT -i eth2 --dport 7080:7080
-A PREROUTING -p tcp -d 10.52.254.42 -j DNAT -i eth2 --dport 7080:7080 -m state --state NEW,ESTABLISHED --to-destination 192.168.1.2-192.168.1.2:80-80
-A FORWARD -p tcp -d 192.168.0.22 -j ACCEPT -i eth2 -o eth0 --dport 80:80 -m state --state NEW,ESTABLISHED

В другой, такой-же сети эти правила работают. с серверного МЭ непроходит wget 10.52.254.42:7080.
Установка соединения с 10.52.254.42:7080... failed: Connection refused.
в iptables -nvL -t nat висит

[root@localhost ivk]# /sbin/iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 459 packets, 44864 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  eth2   *       0.0.0.0/0            10.52.254.42        state NEW,ESTABLISHED to:192.168.0.22

[root@localhost ivk]# /sbin/iptables -nvL -t filter                             Chain INPUT (policy ACCEPT 4638 packets, 13M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  eth2   eth0    0.0.0.0/0            192.168.0.22        state NEW,ESTABLISHED tcp dpt:80

В таблице mangle вообще никаких правил нет.

wget 192.168.0.22:80 работает. Помогите разобраться пожалуйста.

форвадинг везде включен.

« Последнее редактирование: 14 Июля 2011, 07:01:25 от keanor »

Гарри Кашпировский

  • Гость
Re: Проброс портов через два компьютера
« Ответ #1 : 13 Июля 2011, 17:04:47 »
Погодите, у вас по обе стороны межсетевых экранов, две сети с одинаковой адресацией?
host-192.168.0.22 --(net 192.168.0.0/24) -- (eth0 192.168.0.1)FW1(eth2 10.52.254.42)
                                                               |
                                                    (ISP-net 10.0.0.0/8)
                                                               |
host-192.168.0.254 -- (net 192.168.0.0/24) -- (eth0 192.168.0.1)FW2(eth2 10.52.56.42)
Я правильно понял?
Как сети объеденены? Не проще ли, в объединённой сети, как ты утверждаешь, пользоваться для доступа сегментов друг в друга, обычной статической маршрутизацией? Ну и соответственно обращатся на сам хост?
Однако это все лирика.
По существу вопроса:
Почему, серверная сеть 192.168.0.0/24 c хостом 192.168.0.22 имеет правило iptables
-A PREROUTING -p tcp -d 10.52.254.42 -j DNAT -i eth2 --dport 7080:7080 -m state --state NEW,ESTABLISHED --to-destination 192.168.1.2-192.168.1.2:80-80

Оффлайн keanor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Re: Проброс портов через два компьютера
« Ответ #2 : 13 Июля 2011, 17:56:08 »
iptables имеют только МЭ. на 192.168.0.22 iptables нет, там есть apache, поэтому туда и нужно сделать проброс.

Гарри Кашпировский

  • Гость
Re: Проброс портов через два компьютера
« Ответ #3 : 13 Июля 2011, 17:57:44 »
Речь не шла про 192.168.0.22, я оперировал приведённой тобой инфой.

Оффлайн keanor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Re: Проброс портов через два компьютера
« Ответ #4 : 14 Июля 2011, 06:37:22 »
МЭ серверной сети имеет iptables, так как обращение к вебсерверу (192.168.0.22) идет на внешний ip адрес МЭ (10.52.254.42)

Надеюсь в этот раз правильно понял твой вопрос :)
« Последнее редактирование: 14 Июля 2011, 11:25:13 от keanor »

Гарри Кашпировский

  • Гость
Re: Проброс портов через два компьютера
« Ответ #5 : 14 Июля 2011, 12:43:13 »
Не совсем, речь шла про правило iptables на МЭ к хосту 192.168.0.22
iptables -t nat -A PREROUTING -p tcp -d 10.52.254.42 -j DNAT -i eth2 --dport 7080 -m state --state NEW,ESTABLISHED --to-destination 192.168.1.2:80Это правило относится к чему угодно, но только не к перекидывании порта с 7080 на 192.168.0.22:80
Ну и там еще выше пару вопросов не по теме было.

Оффлайн keanor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Re: Проброс портов через два компьютера
« Ответ #6 : 14 Июля 2011, 18:35:12 »
Цитировать
Не проще ли, в объединённой сети, как ты утверждаешь, пользоваться для доступа сегментов друг в друга, обычной статической маршрутизацией?

Возможно проще, я не знаю как - поэтому такой вариант не рассматривал.

KT315 - в процитированном тобой правиле опечатка в IP адресе, но и без неё не работает.

Цитировать
Это правило относится к чему угодно, но только не к перекидывании порта с 7080 на 192.168.0.22:80

тут акцент на "не к перекидыванию" или на "на 192.168.0.22:80"?

Правило составлял именно для проброса.

 

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