подмена конечного адреса, Гоша, 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
- и вновь продолжается бой,
Pahanivo, 22:34 , 11-Июн-15 (8)т.е. пакет надо средиректить и за натить одновременно, учитывая что он еще и локальный я правильно понял?
- подмена конечного адреса,
Peace1, 21:00 , 11-Сен-15 (9)
|