skyb Опубликовано 16 октября, 2010 А возможно ли реализовать сабж? Погуглил, толком нечего не нашел....у когонить есть информация по данному вопросу? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Дегтярев Илья Опубликовано 16 октября, 2010 Можно. Купив 7201/asr1002 и поставив его сверху на сервак с выключенным mpd. Без сервака все равно не обойдетесь. Зачем изобретать велосипед? Нет денег на нормальную железку, поставь рядом сервак с линухом и скажи спасибо пишущим lisg. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 16 октября, 2010 если прочесть пост О туннелях (PPPoE, PPTP, L2TP) речи не идет. Делалось для классического IPoE.а мне хотелось бы PPPoE развернуть :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 16 октября, 2010 #!/usr/bin/perl # # /etc/rc.local: # /path/to/htredir >> /var/log/htredir.log 2>&1 & # Firewall settings: # ipfw allow <non-blocked-users> # ipfw add 1700 fwd 127.0.0.1,81 tcp from any to any 80 via $lan_nic in # ipfw add 1701 allow tcp from any 80 to any via $lan_nic out # ipfw deny all # use strict; use warnings; use IO::Handle; use IO::Socket; my $url = (@ARGV ? shift @ARGV : 'http://labs.homelink.ru/ISG/'); sub tprint { my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; printf("[ %04d.%02d.%02d %02d:%02d:%02d ] @_\n", $year+1900, $mon+1, $mday, $hour, $min, $sec); } my $server = IO::Socket::INET->new ( LocalPort => 81, Type => SOCK_STREAM, Reuse => 1, Listen => 10); STDOUT->autoflush(1); tprint("Ready for connections..."); while (my $conn = $server->accept()) { tprint("Connected from ".($conn->peerhost() || 'unknown')); binmode $conn; print $conn "HTTP/1.0 302 Found\nLocation: $url\n\n\n"; $conn->close(); } tprint "Done. Error code: $!"; ## EOF ## Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 16 октября, 2010 #!/usr/bin/perl # # /etc/rc.local: # /path/to/htredir >> /var/log/htredir.log 2>&1 & # Firewall settings: # ipfw allow <non-blocked-users> # ipfw add 1700 fwd 127.0.0.1,81 tcp from any to any 80 via $lan_nic in # ipfw add 1701 allow tcp from any 80 to any via $lan_nic out # ipfw deny all # use strict; use warnings; use IO::Handle; use IO::Socket; my $url = (@ARGV ? shift @ARGV : 'http://labs.homelink.ru/ISG/'); sub tprint { my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; printf("[ %04d.%02d.%02d %02d:%02d:%02d ] @_\n", $year+1900, $mon+1, $mday, $hour, $min, $sec); } my $server = IO::Socket::INET->new ( LocalPort => 81, Type => SOCK_STREAM, Reuse => 1, Listen => 10); STDOUT->autoflush(1); tprint("Ready for connections..."); while (my $conn = $server->accept()) { tprint("Connected from ".($conn->peerhost() || 'unknown')); binmode $conn; print $conn "HTTP/1.0 302 Found\nLocation: $url\n\n\n"; $conn->close(); } tprint "Done. Error code: $!"; ## EOF ## а можно поподробней что это? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tuneil Опубликовано 16 октября, 2010 (изменено) А возможно ли реализовать сабж? Погуглил, толком нечего не нашел....у когонить есть информация по данному вопросу? Единого програмного пакета(свободного) аналогичного isg для freebsd пока нет. Можете глянуть в сторону СоА, mpd(начиная с v5.4) давно уже научился его понимать. Если поработать немного напильником, разработать свой captive портал у вас все получится. Изменено 16 октября, 2010 пользователем tuneil Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 16 октября, 2010 (изменено) а можно поподробней что это?Это утилита, которая запускается на Интернет-шлюзе при старте системы и слушает 81 порт.Правилами файрволла на неё заворачиваются все запросы на 80 порт от заблокированных клиентов. Она отвечает на них ссылкой на страницу проверки баланса, ввода пароля и т.д. Или хочется чего-то более продвинутого? Изменено 16 октября, 2010 пользователем Ilya Evseev Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 16 октября, 2010 Охото что авторизация была по dhcp opt82 тоесть чтоб инициатором сессии был dhcp пакет, но авторизовывалась pppoe сессия Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 16 октября, 2010 Охото что авторизация была по dhcp opt82 тоесть чтоб инициатором сессии был dhcp пакет, но авторизовывалась pppoe сессиямудрО!А если клиентское устройство не использует локалку и не запрашивает сетевые реквизиты по dhcp за ненадобностью, а сразу устанавливает pppoe-соединение? Ведь для pppoe не требуется иметь IP-адрес, маршруты, dns и всё остальное, что сообщает dhcp. Кроме того, pppoe при соединении проходит авторизацию. Вы хотите, чтобы у всех был пустой логин-пароль? Или чтобы логин-пароль мог быть произвольным? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 16 октября, 2010 Стыд. По-моему, ТС путает черное с шершавым. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 17 октября, 2010 Охото что авторизация была по dhcp opt82 тоесть чтоб инициатором сессии был dhcp пакет, но авторизовывалась pppoe сессиямудрО!А если клиентское устройство не использует локалку и не запрашивает сетевые реквизиты по dhcp за ненадобностью, а сразу устанавливает pppoe-соединение? Ведь для pppoe не требуется иметь IP-адрес, маршруты, dns и всё остальное, что сообщает dhcp. Кроме того, pppoe при соединении проходит авторизацию. Вы хотите, чтобы у всех был пустой логин-пароль? Или чтобы логин-пароль мог быть произвольным? да чтож вы все то учить пытаетесь а не ответить на вопрос? :)Мы реализовали на хорошей циски эту связку, смесл работы ее такой ---- (и это логика будет у нас работать) Клиент, воткнув кабель в комп посылает DHCP запрос, циска ловит этот запрос и поднимает нулевую сессию и отправляет (выдирая Для уникальности логина авторизации можно его делать из circuitId + remote-id) это на биллинг, если авторизация подтверждена то он гуляет в нете, если нет то его тупо релеет на какой нить хост (портал например) Так вот вопрос, можно ли это реализовать на MPD 2 Abram Это все что вы знаете о реализации isg на mpd ?? помоемому вам нужно стыдиться а не писать в подобные темы для помощи. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
packetizer Опубликовано 17 октября, 2010 Охото что авторизация была по dhcp opt82 тоесть чтоб инициатором сессии был dhcp пакет, но авторизовывалась pppoe сессиямудрО!А если клиентское устройство не использует локалку и не запрашивает сетевые реквизиты по dhcp за ненадобностью, а сразу устанавливает pppoe-соединение? Ведь для pppoe не требуется иметь IP-адрес, маршруты, dns и всё остальное, что сообщает dhcp. Кроме того, pppoe при соединении проходит авторизацию. Вы хотите, чтобы у всех был пустой логин-пароль? Или чтобы логин-пароль мог быть произвольным? да чтож вы все то учить пытаетесь а не ответить на вопрос? :)Мы реализовали на хорошей циски эту связку, смесл работы ее такой ---- (и это логика будет у нас работать) Клиент, воткнув кабель в комп посылает DHCP запрос, циска ловит этот запрос и поднимает нулевую сессию и отправляет (выдирая Для уникальности логина авторизации можно его делать из circuitId + remote-id) это на биллинг, если авторизация подтверждена то он гуляет в нете, если нет то его тупо релеет на какой нить хост (портал например) Так вот вопрос, можно ли это реализовать на MPD 2 Abram Это все что вы знаете о реализации isg на mpd ?? помоемому вам нужно стыдиться а не писать в подобные темы для помощи. Причем здесь mpd ? mpd это демон для организации различных ppp соединений, который поддерживает CoA, как и ISG в тунельном режиме То что вы описываете это IPoE c идентификацией по DHCP Opt82, ISG это тоже может Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 17 октября, 2010 Во блин, настроили и сами непоняли что О_о. Дело в том что в биллинге использовалось именно PPPoE. тоесть было и понятие о сессии как таковой, только время жизни определялось логикой биллинга, поэтому я и говорю про пппое Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 18 октября, 2010 Можно сделать ISG на BSD =) mpd выкинуть за ненадобностью, поставить из портов dynamips, объяснить ему, что он 7201 или что-то похожее, настроить ISG. При необходимости апгрейдить процессор, ставить еще железок =) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 18 октября, 2010 Можно сделать ISG на BSD =) mpd выкинуть за ненадобностью, поставить из портов dynamips, объяснить ему, что он 7201 или что-то похожее, настроить ISG. При необходимости апгрейдить процессор, ставить еще железок =) а можно поподробней...ссылок чтоль?? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 18 октября, 2010 2 Abram Это все что вы знаете о реализации isg на mpd ?? помоемому вам нужно стыдиться а не писать в подобные темы для помощи. Я знаю, что MPD - это Multi-link PPP Daemon. А ISG ну извините ниииииикаким раком к PPP не относится, следственно, Ваш вопрос из разряда "решить задачу по экономике с помощью коня, зубила и зубной пасты". Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 18 октября, 2010 print $conn "HTTP/1.0 302 Found\nLocation: $url\n\n\n"; поставьте: "\r\n", не смущайте клиентов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 19 октября, 2010 Можно сделать ISG на BSD =) mpd выкинуть за ненадобностью, поставить из портов dynamips, объяснить ему, что он 7201 или что-то похожее, настроить ISG. При необходимости апгрейдить процессор, ставить еще железок =)а можно поподробней...ссылок чтоль?? > whereis dynamipsdynamips: /usr/ports/emulators/dynamips http://google.ru этого должно хватить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 21 октября, 2010 Можно сделать ISG на BSD =) mpd выкинуть за ненадобностью, поставить из портов dynamips, объяснить ему, что он 7201 или что-то похожее, настроить ISG. При необходимости апгрейдить процессор, ставить еще железок =)вы уверены что он более 10-50Мбит прожует?dynamips разрабатывался для тестирования и лабораторных работ, но никак не для продакшна. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
skyb Опубликовано 21 октября, 2010 не, эмуляторы ну их...буду тогда смотреть в сторону lisg, просто фряха понравилась тем что мало требует системных ресурсов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...