Подскажите пожалуйста. Есть удаленный доступ на несколько роутеров. Обычные бытовые роутеры домашние. Есть необходимость, если такое конечно возможно сделать так что бы все запросы при работе через этот роутер шли на определенный сайт. То есть возможно ли прописать где то в настройках роутера ip сайта, и что бы когда юзер открывает любую страницу в браузере, его редиректило всегда на этот сайт? Пробовал в DNS прописать ip, но тогда просто перестает работать инет на роутерах нормально, думал и копал в этом направлении, пока ничего не придумал. Возможно ли как то это реализовать?
Не на всех роутерах и прошивках это возможно. Смотришь модель роутера, смотришь прошивку, заходишь на сайт производителя и читаешь что может прошивка. Бывают альтернативные прошивки, позволяющие подобное. UPD. Прости, пропустил фразу "все запросы", тогда ответ нет, нельзя. Без стороннего оборудования не получится.
Можно, самое простое это настроить свой днс сервер со своими настройками где-нибудь и потом его прописать на роутере.
под всеми, я имел в виду только браузер, чтобы при открытии любой страницы шел редирект. Вот в этом направлении я и думал, но к сожалению не совсем понимаю сути и порядка действий. То есть мне надо арендовать vds\vps на нем поднимать dns сервер, потом делать как то перенаправление с этого dns сервера на свою страничку и прописывать эти днсы в роутере тогда будет перенаправлять? Можно это поподробнее узнать в каком порядке выполняется и где поподробней почитать? Читал общие статьи по dns, что это и как особо не продвинули в нужном направлении.
1. Ну под доп оборудованием я и подразумевал что минимум у тебя сервер(компьютер) под днс(Егорыч+++ не стал играть слова, а четко указал на самое простое) и с каким нить денвером, что бы самому тот же апач не настраивать. и твой сайт(страничка). В роутерах, прописываешь ip своего днс сервера, а днс сервер на любой запрос должен отдавать ip твоего сервера с сайтом...
Геморойный вариант, но если сможете настроить то поймете как это работает: http://habrahabr.ru/sandbox/21144/ Можно проще. Купить себе VDS с ISPmanager и через панельку настроить все в несколько кликов.
Прокся и ipfw это идеальное решение, но если я правильно понял описание, значительно труднее реализуемое в данном контексте. На эту проксю еще надо завернуть весь трафик.
Благодарю за развернутые ответы. Сейчас хочу немного прояснить еще детали. Все же думаю, что вариант с днс будет более удобный в моем случае. Да, я знаю про альтернативные прошивки, но с ними может быть сложнее, так как важно что бы никакие настройки по сути не менялись и соединение с провайдером работало как и прежде как и все настройки что были. Поставить прокси сервер, боюсь с домашним роутером такое не прокатит, а к нему есть доступ только по удаленке, физически никак не подключиться и в локалку не залезть. Поэтом ищу способ перенаправить траффик на нужную страницу. Чуть выше написали, про покупку vps с ISPmanager и быструю настройку на нем, рассматривал этот вариант. Поизучал демо ISPmanager и почитал его инструкции. Как я понимаю, мне надо купить VPS не важно на какой ос, главное с ISPmanager, далее на нем настроить днс и редирект. Вот по настройке возникло несколько вопросов, подскажите пожалуйста: Во первых, как я понимаю, мне надо два реальных ip адреса, для прописывания в днс, при покупке vps обычно один дают, значит надо еще один взять дополнительно? Дальше, по всем инструкциям, в isp создают www домен например test.ru, это значит мне обязательно нужно будет регистрировать доменное имя для страницы на которую будет перенаправление? Без имени никак не обойтись, просто чтоб на ip перенаправляло? После всего этого, как я понял создаю ns1 и ns2 записи типа А и в этих записях указываю на два своих ip, и их вписываю в домен.
Достаточно одного IP-адреса. Домен регистрировать не надо. Создаешь записи типа А, в которых указываешь, какие домены перенаправлять на твой IP.
По просьбам трудящихся: Питон установлен в большинстве случаев Заходишь по SSH на VPS. # wget https://thesprawl.org/media/projects/dnschef-0.3.zip # unzip dnschef-0.3.zip # cd dnschef* # chmod 755 *.py ставишь модули # pip install dnslib # pip install IPy создаеш файлик hosts.txt Code: [A] huyandex.ru=IP_TВОЕГО_VPS запускаешь. предварительно убедись что 53 порт не занят и запущен апач с фейком ./dnschef.py -i 0.0.0.0 --logfile=log.txt --file=hosts.txt Твой DNS работает. Возврашает адреса, но только на запрос huyandex.ru отдает твой ip vps Либо так: ./dnschef.py -i 0.0.0.0 --logfile=log.txt --fakeip=IP_TВОЕГО_VPS Так твой ip возвращается в ответ на ЛЮБОЙ запрос. Если нужно оставить скрипт работать и выйти с vps, то запускайте через screen или nohup. Можно прописывать адрес DNS в (!СВОЙ!) роутер. Вторым DNS лучше прописать реальный ip скажем 8.8.8.8. Если ваш vps прикроют и вас арестуют то инет через роутер будет работать.
Взял тестовую VPSку, начал пробовать как описано выше. Вроде получается, но походу запара с web сервером, установил dnschef, запускается он нормально, поскольку мне нужен полный редирект, запускал по второму способу, появляются лого и надписи: [*] DNSChef started on interface: 0.0.0.0 [*] Using the following nameservers: 8.8.8.8 [*] Cooking all A replies to point to 95.183.8.104 Его верно настроил? Теперь как я понял нужен веб сервер, чтоб на нем разместить страничку, гуглил по манам как установить веб сервер на CentOS, собственно делаю все пошагово, устанавливаю апач, install httpd, все прошло нормально, в etc папка создалась, все есть, пробую запустить командой, service httpd start, мне выдает Starting httpd: httpd.itk: Syntax error on line 187 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_status.so into server: /etc/httpd/modules/mod_status.so: undefined symbol: ap_copy_scoreboard_worker посмотрел файл httpd.comf в нем ничего примечательного на 187 строке нет, пробовал и так и сяк, но на httpd start не запускается ни в какую. По сути, как я понял мне только этот апач и нужен, никакие php и мускли не нужны уже будут, так как нужно разместить простую html страничку. А если необходимо полное перенаправление, то есть всех запросов, это как то возможно реализовать, или через А запись только по одному?
Да скрипт запустился нормально. Попробуй закоментировать этот модуль "mod_status" в /etc/httpd/conf/httpd.conf
Все настроил, и все отлично заработало, долго бился с httpd, потом снес, переустановил и все ок, оказалось что на vps уже работал nginx и не давал нормально запуститься апачу, как отключил все заработало. И скрипт и редирект работает на ура, проверил на своем роутере, результат то что надо!)
Проще написать сервер самому или использовать готовые решения, например http://code.google.com/p/minidns/ "MiniDNS will respond to all DNS queries with a single IPv4 address"
Не буду создавать новую тему, так как вопрос косвенно сопряжен с этой. Возник вопрос, как возможно снимать трафик проходящий через dns сервер и возможно ли это? На данный момент, работает dnschef, весь траф как вижу по логу идет на назначеный мной ip, все ок. Но как можно снифать этот трафик? Естественно уже без перенаправления юзера на нужный ip, то есть пользователь делает запрос, трафик идет через сервер и дальше куда нужно, при этом у меня остается возможность снять дамп трафика. Погуглил этот вопрос, но так до конца и не разобрался, прошу помочь. Как я понимаю тут должен быть задействован proxy сервер через которые будет идти все и уже с его логов я смогу снифать все. Разновидностей не мало, например mitmproxy, по описанию даже ssl может снифать, но вопрос как собственно пропустить трафик дальше и как настроить это? Допустим я устанавливаю proxy сервер на vps, как мне через dns сделать отправку юзера на него и чтоб трафик потом пошел дальше по назначению?
1. у вас трафик не идет как таковой через dns сервер, днс сервер только отвечает браузеру пользователя за каким айпи живет данный ресурс, дальше браузер пользователя через свой же шлюз по умолчанию отправляет пакет уже к этом серверу. в днс этот трафик ты не увидишь. ну это же основа, вику хотя бы откройте и почитайте какие действия выполняет днс сервер и для чего он нужен. 2. Про проксирование трафика, да ты можешь слушать и ssl но тут задача, подсунуть корневой сертификат твоей прокси в винду к юзеру, поместить его в хранилище доверенных корневых сертификатов компьютера, в противном случае, браузер пользователя будет выдавать предупреждения что не валидный сертификат и не давать заходить на ресурс (помещение в хранилище сертов поможет для всех браузеров кроме мозилы, мозила не использует виндовое хранилище, у нее оно свое персональное).
Регнул VPS с Cent OS. Поставил pip. Поставил dnschef. Поставил dnslib и IPy через pip install. Где создавать файл hosts.txt? В директории dnschef, в директории Cent OS, или установить апач залить фейк и создать файл там? Как убедится в том, что 53 порт свободен?