E_user 27.10.2010 21:47
Есть вопрос! — Переадресация конкретного IP в локальной сети
Доброе время суток,В локальной сети (прим. 192.168.0.0) есть выход в инет. Нужно чтобы конкретный адрес (прим. 192.168.0.35) при попытке выйти в инет был автоматически перенаправлен на другую страничку. (Т.е. через браузер. У IM клиентов итд. так-же нет доступа в инет).
Как это можно реализовать?
Мне сразу вспоминается IPTABLES или DNS, и открытые беспроводные сети, где при подключении к сети сначала направляют на страничку для регистрации, а за тем открывают доступ в инет. Но как это реализовывается я не знаю.
UPD: Так-же встретил мнение, что это делается через proxy, может кто вспомнит...
Спасибо

+ 0 -
ваша роль в сети ? администратор\пользователь\куллхацкер ?
Не думаю что можно что-то такое сделать как пользователь. Хотя я то как раз спрашиваю а не утверждаю. ) Любая полезная информация, как со стороны пользователя так и кулхацкера приветсвуется.
есть такая вещь RADIUS
более детально подсказать не могу т.к. не имею достаточного опыта в этом деле.
Думаю можно погуглить.
более детально подсказать не могу т.к. не имею достаточного опыта в этом деле.
Думаю можно погуглить.
видать я не правильно понял вопрос, думал нужно сначала перевести на страницу авторизации а после в инет. Если так то радиус весьма неплохое решение, имхо.
Подразумевается, что ты админ шлюза?
iptables -t nat -A PREROUTING -s 192.168.0.35 ! -d 192.168.0.0/16 --dport 80 -j DNAT --to-destination
iptables -A FORWARD -s 192.168.0.35 -d --dport 80 -j ACCEPT
Если страничка на шлюзе, то последнее правило в INPUT вместо FORWARD.
На хосте странички лучше настроить mod_rewrite, иначе при попытке зайти, например, на welinux.ru/last.php, веб-сервер будет выдавать 404.
iptables -t nat -A PREROUTING -s 192.168.0.35 ! -d 192.168.0.0/16 --dport 80 -j DNAT --to-destination
iptables -A FORWARD -s 192.168.0.35 -d --dport 80 -j ACCEPT
Если страничка на шлюзе, то последнее правило в INPUT вместо FORWARD.
На хосте странички лучше настроить mod_rewrite, иначе при попытке зайти, например, на welinux.ru/last.php, веб-сервер будет выдавать 404.
Парсер лох, или надо было оформить как code.
После --to-destination ip_адрес_странички.
После --to-destination ip_адрес_странички.
"где при подключении к сети сначала направляют на страничку для регистрации, а за тем открывают доступ в инет"
Это чем можно сделать?
Это чем можно сделать?
Ну, я не вижу, что автору это надо =) Ему же просто вспоминается.
Я хотспот на iptables делал, без логинов и паролей для жителей моего подъезда, куда достает wifi.
Я хотспот на iptables делал, без логинов и паролей для жителей моего подъезда, куда достает wifi.
Это не суть вопроса. меня в первую очередь инетерсует, как переадресовать запросы.
Прошу прощения, если не ясно выразился.
Прошу прощения, если не ясно выразился.
Простите :), не ясно для чего правила? Для роутера на WRT прошивки?
Мне-бы еще немного теории на этот счёт.
В данном случает речь идет о сети, где есть роутер, компы и я. И единственноый комп с линуксом это мой комп.
Мне-бы еще немного теории на этот счёт.
В данном случает речь идет о сети, где есть роутер, компы и я. И единственноый комп с линуксом это мой комп.
Ты шлюз? Вот для тебя и правила =)
Для компьютера с линуксом, в общем.
Для компьютера с линуксом, в общем.
Понял, у тебя шлюз на dd-wrt? Там же есть встроенная веб-админка для хотспота.
Нет. :) У меня как раз нет такой прошивки. Мой роутер не поддерживает dd-wrt. Максимум, что он может это закрыть досуп нужному IP.
Т.е. я не могу применить эти правила для роутера.
Т.е. я не могу применить эти правила для роутера.
Может, можно что-то переделать? Как устроена сеть, кто куда подключен?
Интересует, есть ли возможность сделать шлюзом компьютер с линуксом?
Интересует, есть ли возможность сделать шлюзом компьютер с линуксом?
Все пользователи включая меня(у меня линукс) подключены к маршрутизатору (Zyxel).
Возможно, если мне удастся настроить роутер, что-бы он работал сообща с мои компом, смогу применить правила.
Возможно, если мне удастся настроить роутер, что-бы он работал сообща с мои компом, смогу применить правила.
Zyxel устанавливает соединение с интернетом? По какому протоколу?
tcp/ip? честно говоря мне так всегда казалось что роутеры типа Zyxel NGB420N стандартно работуют именно так. Но я готов узнать на сколько чудовищно я заблуждался. ))
Учитывая ответ uscr, мне все-же придется придумать как сделать мой комп шлюзом.
Учитывая ответ uscr, мне все-же придется придумать как сделать мой комп шлюзом.
Я ждал что-то типа Ethernet, PPPoE или PPTP.
Гугль сказал, что Zyxel NGB420N это, вроде как, adsl роутер, значит, pppoe. Его можно настроить в режим шлюза, либо моста (router, bridge). Сейчас работает в режиме шлюза, сделай на нем бридж, устанавливай соединение с интернетом через свой компьютер, пропиши себя шлюзом по умолчанию в dhcp и можно спокойно рулить iptables.
Гугль сказал, что Zyxel NGB420N это, вроде как, adsl роутер, значит, pppoe. Его можно настроить в режим шлюза, либо моста (router, bridge). Сейчас работает в режиме шлюза, сделай на нем бридж, устанавливай соединение с интернетом через свой компьютер, пропиши себя шлюзом по умолчанию в dhcp и можно спокойно рулить iptables.
Дома adls можем, от него идет ethernet в роутер, следовательно все правильно - PPPoE. Смогут-ли остальные пользователи подключаться через роутер? Я имею ввиду, у меня всего один ethernet порт.
И значит-ли это, что мой комп должен быть постоянно включен?
И значит-ли это, что мой комп должен быть постоянно включен?
Если переведешь zyxel в режим бриджа, будешь со своего компьютера устанавливать соединение pppoe и объявишь себя шлюзом по умолчанию - да, придется держать компьютер включенным. Зато будет полный контроль над трафиком, причем реально безграчиный, и как бонус - белый ip для себя любимого (если у провайдера белые) =)
Если сделать шлюз из компа на линуксе, то интересует программная сторона вопроса. Чем и как все это сделать? Пологаю в убунту необходимое ПО есть..
Достаточно будет всего нескольких правил iptables, но нужно прописывать их с пониманием. Тем более, ты админ, тебе придется хорошо разобраться. Можно погуглить "раздать интернет iptables", но только чтобы про squid в руководстве ничего не было =)
Хорошо. Завтра попробую и отпишусь, если будут вопросы.
Спасибо за помощь.
Спасибо за помощь.
Грубый пример работы всего этого:
Кто-то из выбранных мною(по IP) пользователей пытается выйти на вести.ру, но получает на выходе лента.ру, или страничку на локальном вею сервере типа http://192.168.0.100/page.html.
Какой вообще принцип работы?
Кто-то из выбранных мною(по IP) пользователей пытается выйти на вести.ру, но получает на выходе лента.ру, или страничку на локальном вею сервере типа http://192.168.0.100/page.html.
Какой вообще принцип работы?
Тот, что я описал в двух правилах iptables. Первое правило подменяет адрес назначения на адрес нужной страницы, второе разрешает маршрутизацию этого трафика.
Какой вообще принцип работы?
Вариант A (средней сложности. правильный.):
На шлюзе при попытке обратиться к вести.ру завернуть клиента на нужный сайт (как - вам показали выше), но если у вас шлюзом роутер без человеческого доступа к системе (не полноценный комп на линуксе и не роутер с dd-wrt), то это не прокатит...
Вариант B (сложный. пахнет извращениями):
Поднять в сети DNS сервер, его указать в качестве ДНС роутеру. На сервере ДНС развлекаться как душа пожелает. Но это не спасёт вас при попытке клиенту зайти на сайт по IP, а не по имени.
Вариант С (простой. не правильный и не надёжный):
Прописать соответствие доменое имя-адрес в /etc/hosts (%systemroot%\system32\drivers\etc\hosts в винде) на компах клиентов.
Странно, что вы не рассматриваете проблему смены пользователем IP-адреса или, например, включения в сетевую розетку ноутбука с другим адресом.
Не трудно привязать IP к MAC адресу, во всяком случае в моем роутере.
RTFM + матчасть!
определись для начала какие задачи ты перед собой ставишь.
теоретически, почти любой роутер позволяет завернуть весь трафик куда-нить в одну сторону. вот и заверни этот трафик на свою линукс-машинку, разрули его и нужный отправь назад в роутер, а ненужный по известному адресу.
а для начала все же почитай информацию про iptables, маршрутизацию, DNAT, SNAT и т.д.
рекомендую начать с NAG
определись для начала какие задачи ты перед собой ставишь.
теоретически, почти любой роутер позволяет завернуть весь трафик куда-нить в одну сторону. вот и заверни этот трафик на свою линукс-машинку, разрули его и нужный отправь назад в роутер, а ненужный по известному адресу.
а для начала все же почитай информацию про iptables, маршрутизацию, DNAT, SNAT и т.д.
рекомендую начать с NAG