The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
подмена конечного адреса, !*! Гоша, 06-Июн-15, 15:42  [смотреть все]
Прошу прощение за потраченное время у тех кто ответит на мой вопрос.
В течении нескольких недель гуглил простой ответ на свою задачу, но как оказалось даже простые ответы требуют хуть какого-то понимания,которым я не обладаю.
Задача:
есть локальная сеть - 192.168.0.0/24
есть dd-wrt-роутер - 192.168.0.1 (все правила в iptables по умолчанию)
в интернет роутер выходит через pppoe
есть удаленный хост - apache.no-ip.biz
Нужно заставить запросы для портов(80/443/8080)из локальной сети на любой внешний адрес отправлять на удаленный хост.
Есть конечно еще задачка как в dd-wrt настроить cron чтобы потом периодически включать правила iptables, но мне кажется это лучше спросить в другом месте.

Буквально на коленях прошу копипасту команд для iptables которая позволит реализовать задачу, из того что успел почитать, понял что задача тривиальная и решается буквально в 4 строчки, но увы сам никак не могу сложить 2+2, уж простите дурака. Нужно что-то типо:"ипитаблес создай правило 1-м в цепочке для исходящих относительно интерфейса ппп0 или сети по портам 80,8080,443 адресованных в 0.0.0.0/0 переадресовывать хосту"  

  • подмена конечного адреса, !*! PavelR, 16:18 , 06-Июн-15 (1)
    > Нужно заставить запросы для портов(80/443/8080)из локальной сети на любой внешний адрес
    > отправлять на удаленный хост.

    Объясните, чего вы хотите достичь в итоге.
    На мой взгляд, вы просите (описали) не то, чего на самом деле хотите.

    "
    - Дайте мне вилку, вилку дайте. Только вилка спасет меня.
    - Зачем?
    - Видишь тарелку супа?

    (ложка)
    "

    > Буквально на коленях прошу копипасту команд

    Тьфу.


    > из того что успел почитать, понял что задача тривиальная и решается

    Из того, как я понимаю задачу - она так не решается вообще.
    Могу ошибаться, т.к. это только догадки.

    • подмена конечного адреса, !*! Гоша, 06:37 , 07-Июн-15 (2)
      В конечном итоге : зайдя на любую страничку с компьютера в локальной сети, я хочу чтоб открывалась страничка удаленного хоста.Такое правило есть для шлюза "iptables-t nat-A PREROUTING-i eth1-p tcp--dport 80-j REDIRECT--to-port 8080" я прошу помочь перенаправить на удаленный хост. Но опять же я не уверен что одной строчки хватить должно, возможно нужны еще какие то правила.
      • подмена конечного адреса, !*! PavelR, 08:05 , 07-Июн-15 (3)
        > В конечном итоге : зайдя на любую страничку с компьютера в локальной
        > сети, я хочу чтоб открывалась страничка удаленного хоста.
        >Такое правило есть для  шлюза

        iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination=46.60.60.72:80

        ну и должно быть (оно у вас наверняка есть) общее правило SNAT/MASQUERADE в POSTROUTING.

        Если айпи у хоста сменится, правило надо поменять.
        Хостнейм "apache.no-ip.biz" в правило прописывать бессмысленно, т.к. перенаправление идет на IP.


        Вы можете прописать правило в скрипте в виде

        iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination=apache.no-ip.biz:80

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

        Если удаленный хост имеет несколько сайтов, то открываться всегда будет "первый"/"дефолтный на айпи". Если нужна конкретная страница/конкретный сайт, то надо менять _данные в запросе_, которые отправляет компьютер локальной сети.

        Для этого надо поставить, например, nginx, настроить на нем проксирование на нужный _сайт_, завернуть все запросы из локальной сети на этот nginx.

        • и вновь продолжается бой, !*! Гоша, 09:59 , 09-Июн-15 (4)
          iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination=46.60.60.72:80
          а интерфейс какой нужно указывать ? локалки,внешний или пппое, хотя пробовал по разному и все же чего то не хватает.И еще вопрос под общим правилом вы подразумеваете это - iptables -t nat -A POSTROUTING -o {интерфейс внешний} -j MASQUERADE ?
          • и вновь продолжается бой, !*! PavelR, 12:43 , 09-Июн-15 (5)
            > iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 80 -j
            > DNAT --to-destination=46.60.60.72:80
            > а интерфейс какой нужно указывать ? локалки,внешний или пппое, хотя пробовал по
            > разному и все же чего то не хватает.

            не получилось - ну значит не получилось.

            • и вновь продолжается бой, !*! Гоша, 14:57 , 09-Июн-15 (6)
              нашел оригинальный пример правила:
              iptables -t nat -A PREROUTING --dst $EXT_IP -p tcp --dport $SRV_PORT -j DNAT --to-destination $LAN_IP
              Справедливо ли исходя из этого сделать вывод, что данное правило будет работать только для хостов в локальной сети, и нужно искать иное правило?
              • и вновь продолжается бой, !*! reader, 11:47 , 10-Июн-15 (7)
                > нашел оригинальный пример правила:
                > iptables -t nat -A PREROUTING --dst $EXT_IP -p tcp --dport $SRV_PORT -j
                > DNAT --to-destination $LAN_IP
                > Справедливо ли исходя из этого сделать вывод, что данное правило будет работать
                > только для хостов в локальной сети, и нужно искать иное правило?

                для любых хостов , кроме самого роутера.

                добавте условие -i внутренний_инткрфейс и
                уберите условие --dst $EXT_IP.

                --to-destination apache.no-ip.biz

  • подмена конечного адреса, !*! Peace1, 21:00 , 11-Сен-15 (9)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру