Перейти к содержимому
Калькуляторы

Когда и в чём затыкается софтовый рутер?

Вопрос стоит не в правильной организации сети, или неправильно, а именно наличии таких фич. Приведу другой пример.

 

Уважаемый, изучайте матчасть. Я например не представляю себе

как подменять в пакете source address не применяя технологию NAT,

если вы заглянете в исходники так Вами горячо любимого линуксового

route, то скорее всего Вы именно NAT там и обнаружите ( лениво мне

лезть в линуховые сорцы, а то сказал бы точно ). Соответственно

можно за час на колене этот же route заточить под freebsd, весь

вопрос - а зачем ? Линузоеды могут изобретать пятиколесные

велосипеды дальше, лишь бы динамический роутинг не строить.

Кто будет таким route на FreeBSD пользоваться кроме линузоедов ?

Вот то-то же.

 

Нет там никакого NAT. Опять, вместо того-чтобы написать, "посмотрите в исходники, вероятно там есть NAT", вы пишете "линуксоиды, дол%%%, придурки" растягивая на пару килобайт. Давайте не разводить демагогию, и священные войны. Смотрю в исходники:

 

Это один из параметров роута, в любом случае conntrack здесь не нужен.

 

Задание source address для соединений инициализируемых с локальной машины аргумент "src"

 

if (strcmp(*argv, "src") == 0) {

inet_prefix addr;

NEXT_ARG();

get_addr(&addr, *argv, req.r.rtm_family);

if (req.r.rtm_family == AF_UNSPEC)

req.r.rtm_family = addr.family;

addattr_l(&req.n, sizeof(req), RTA_PREFSRC, &addr.data, addr.bytelen);

} else if (strcmp(*argv, "via") == 0) {

inet_prefix addr;

gw_ok = 1;

NEXT_ARG();

get_addr(&addr, *argv, req.r.rtm_family);

if (req.r.rtm_family == AF_UNSPEC)

req.r.rtm_family = addr.family;

addattr_l(&req.n, sizeof(req), RTA_GATEWAY, &addr.data, addr.bytelen);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если говорить о теме, обсуждение данного вопроса существенно для нее.

Есть группа людей, которая утверждает о непригодности какого-то решения как софтрутера, не подкрепляя это серьезными аргументами. Я пытаюсь показать обратное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, и последнее.

Пакет не подменяется, просто дается указание создавать соединения с определенного адреса, для роута.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

"линуксоиды, дол%%%, придурки"  

 

Чертовски приятно было это от Вас услышать. :-)

 

Это один из параметров роута, в любом случае conntrack здесь не нужен.

 

Задание source address для соединений инициализируемых с локальной машины аргумент "src"

 

               if (strcmp(*argv, "src") == 0) {

                       inet_prefix addr;

                       NEXT_ARG();

                       get_addr(&addr, *argv, req.r.rtm_family);

                       if (req.r.rtm_family == AF_UNSPEC)

                               req.r.rtm_family = addr.family;

                       addattr_l(&req.n, sizeof(req), RTA_PREFSRC, &addr.data, addr.bytelen);

               } else if (strcmp(*argv, "via") == 0) {

                       inet_prefix addr;

                       gw_ok = 1;

                       NEXT_ARG();

                       get_addr(&addr, *argv, req.r.rtm_family);

                       if (req.r.rtm_family == AF_UNSPEC)

                               req.r.rtm_family = addr.family;

                       addattr_l(&req.n, sizeof(req), RTA_GATEWAY, &addr.data, addr.bytelen);

 

Ну если это не NAT, то может я что-то не понимаю в NAT'ах ?

Согласно определению любая модификация адресов третьего

уровня является NAT'ом. Могу расшифровать аббревиатуру

если непонятно. :-) А conntrack - это всего лишь одна из реализаций

частного случая NAT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если говорить о теме, обсуждение данного вопроса существенно для нее.

Есть группа людей, которая утверждает о непригодности какого-то решения как софтрутера, не подкрепляя это серьезными аргументами. Я пытаюсь показать обратное.

 

Аргументы придумали трУсы. :-)

 

Есть группа людей, которая утверждает о непригодности линукса

как софтрутера, в силу его идеологической несостоятельности,

лицензионной нечистоплотности да и просто врожденной кривизны. :-)

 

Примеры с кривым route лишь подтверждают их правоту. :-)

То есть Вы сами признаете что FreeBSD превосходит linux во всем

кроме одной опции. :-) Иначе я думаю Вы привели бы полный список. :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Одно словоблудие.

Что проще, сделать "ip route add 1.1.1.1/32 via 2.2.2.2 src 2.2.2.55", или морочиться с divert в natd?

Соответственно вопрос прозводительности.

 

Кстати по поводу софтроутеров, нашел интересную вещь... вообще сама платка - свитч, но если покопать глубже, возможно есть функции управления, так как данный 16-портовый гигабитный свитч сидит как CompactPCI. Мне интересно, может ли эта фигня работать как 16 портов :)))

http://linuxdevices.com/news/NS9915547839.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос стоит не в правильной организации сети, или неправильно, а именно наличии таких фич. Приведу другой пример.

На сервере в наличии два алиаса

192.168.1.1/24

192.168.1.2/24

гейтвей

192.168.1.254/24

 

нужно, чтобы исходящий адрес пакетиков можно было задать... естественно без nat, который подходит для небольших локалок. Биндить сокет на нужный адрес - не вариант, кучу софта переписывать нереально.

 

Другой вариант, из случая аварии

Стоят в одной локалке два сервера

один 10.0.0.1/24

другой 192.168.1.1/24

 

бывает, случилось что-то, не исключаю ошибку админа, и 10.0.0.1 потерял свой default gw.

Если на нем прописано искать 192.168.1.1 локально(без добавлений адресов), и обратное прописано на 10.0.0.1, можно локально "запрыгнуть" и всё поправить.

 

Насчет правильности организации сети, эта фря была подключена к wireless client, который был в свою очередь подключен к настенному роутеру, который стоял из-за глюка сети - так как бриджующий access point по непонятным причинам на шнурке работать не желал. Ситуация конечно нестандартная, но переделывать пол-сети из-за домашних машин не хотелось, и менять что-то, в итоге линукс и винды смогли заработать (если у виндов поставить адрес 10.30.30.254 (/24), а шлюз 192.168.1.1, то они прекрасно это понимают), а вот задачу с фрей так и не удалось решить, естественно из-за моего незнания, однако копание в мануалах ничего кроме головной боли не принесло, и достаточно серьезные админы тоже ничего дельного не подсказали.

DHCP+VPN Вам помогут :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хм... сюда еще наверна не помешает пару Cisco 72xx в подмогу, чтобы решить сию сложную задачу :) offtop :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Читал... читал... нихрена не понял, у меня и фря работает и линукс... чего я не так делаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Читал... читал... нихрена не понял, у меня и фря работает и линукс... чего я не так делаю?

мне это напоминает:

У вас не падает Вынь? Да у вас руки кривые!!!

 

antiofftop: наверное если хватает килобаксов, то есть смысл сразу поиметь Циску. И будете вы жить долго и счастливо...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При умелом обращении и циска загинается..... Наверно я правильно ее настроил :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Был случай, когда 16xx циска тупо роутящая траффик в Serial около 1-2 Mbit висла намертво. Ни один из знакомых CCNA/CCNE не смог разобраться почему, IOS переставляли ессно, поставили 2600. Другой пример - стоит 26xx на спутниковом аплинке, 4 Мбит, при выключении-включении и перезагрузке нужно заходить и ручками делать shut/no shut . Тыкали другую циску - пашет нормально. Третья ситуация, 7200, на которую входило 4 шнура от спутниковых приемников, когда оный теряет сигнал - он "ложит" интерфейс через отключение CD(если не ошибаюсь он). При flip/flop(если я не ошибаюсь постоянное дергание интерфейса) происходящем при хреновой погоде - циска вообще ложилась намертво, пришлось менять IOS, но пока не могли сделать этого из-за SLA, пришлось отключить отслеживание CD.

К сожалению не помню модели, но был еще случай на прове, стояла кажется 5xxx циска и держала на себе BGP, через определенное время уходила в даун из-за утечки памяти. Опять же - IOS.

Стоял Sun Netra чего-то, служаший для экспериментов, банально сыпанулся винт. Протестированное железо блин.

 

Так, что, везде есть свои траблы, и не надо рассказывать какая циска рульная вещь. Если надо, могу пнуть товарища работающего админом в мин. финансов одной из европейских стран, он много расскажет хорошего про циски :)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не надо никого пинать, просто пишешь debug all и привет :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я ж говорил начнется... :)

по поводу линуха, так имеющий руки, голову и глаза, сам найдет все в инете.

не имеющие оного будут и из XP рутеры делать. и делают.

А для чего тогда форум? Я всегда думал, что для взаимопомощи через обмен мнениями и опытом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Vladislav, использовали :) У нас в сервере в таком слоте стоит SCSI MegaRAID и массив из 4 винтов на нем. Ну что сказать - точила она и есть точила :) Для того и покупалась.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если вернуться к начатой теме:

Я как раз занимаюсь тем же вопросом – организацией точки, которая будет раздавать интернет и биллинговать клиентов локальной сети.

 

Итак, начальные условия:

Приходящий канал во внешний мир 100 Мбит

Внутренняя сеть – гигабитная оптическая «звезда», на «кончиках» - 100 мбитная медь

Авторизация клиентов для выхода в интернет – предложен pptp без шифрования (для снижения нагрузки), таким образом клиенты свободно обмениваются трафиком между собой, не нагружая сервер доступа, а выход в интернет тарифицируется по сессиям.

Нагрузка на канал в интернет – минимальная 1 мегабит, пиковая – 10 мегабит.

Число одновременно работающих в интернете клиентов (открытых pptp сессий) - от 300 до 2000.

 

Предлагается разделить задачи таким образом:

 

Устройство 1, сервер доступа, имеющий два интерфейса:

Первый интерфейс смотрит во внутреннюю сеть, адрес вида 192.168.0.1 (на него коннектятся pptp-клиенты)

Второй интерфейс смотрит во внешнюю сеть, адрес на интерфейсе пока не назначен (вопрос – ниже)

 

Задачи устройства:

Авторизация клиентов

Обеспечение туннеля pptp для работы в интернет

Отключение клиентов

Подсчет трафика

Занесение данных о трафике в базу данных на другой машине (ниже)

Ограничение полосы пропускания в зависимости от тарифного плана

 

Вопрос №1

Что это должна быть за железка ?

Xeon ? Cisco ? pcrouter ?

 

Вопрос №2

Если при pptp авторизации клиент должен получать реальный адрес, то соответственно, этот адрес должен быть изначально прописан на интерфейсе сервера доступа ?

То есть для одновременной работы 300 клиентов на интерфейсе должны быть прописаны все эти адреса и каким тогда образом ?

 

Устройство 2, сервер биллинга и базы данных, имеющий один, внутренний интерфейс

 

Задачи устройства

Предоставление авторизационных данных устройству 1 для проверки пользователя

Принятие от устройства 1 данных о начале/конце/размеру сессии

Биллинговое сопровождение клиентов

Ежедневное резервирование собственных данных

 

Вопрос

Какое железо предпочтительнее ?

Какая ОС предпочтительнее ?

Какая СУБД предпочтительнее для таких задач ?

Стоит ли покупать промышленный компьютер ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость

:) используют используют :)

14 сетевых

8 PCI Intel + 1 Встроенная (100)

3 ISA 3COM (10)

2 DLINK (10)

Celeron 800

RAM 128

Установлено Апачь ФТП Прокси SQL Принтсервер Фаервол ещё куча всего :)

---

А теперь облом операционка Netware 5.11

---

Вот сижу и думаю будет ли это ползать на ФРИ

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость
Число одновременно работающих в интернете клиентов (открытых pptp сессий) - от 300 до 2000.

не знаю ниодного софтового pptp-сервера, который будет столько держать (по крайней мере под nix, 1024 - максимум сколько поднимает mpd).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос  

Какое железо предпочтительнее ?  

Какая ОС предпочтительнее ?  

Какая СУБД предпочтительнее для таких задач ?  

Стоит ли покупать промышленный компьютер ?

 

Cisco 7200-7500 :-)

Отрутить (с фильтрами, бгп, нетфловом и прочим) такая машинка сможет 100 мегабит в легкую.

А вот что нужно в нее засунуть для такого количества туннелей - вопрос открытый. Не было опыта, может кто найдет нужное место на сиско.ком (лениво)... Правда от знакомых известно, что 7200/400 держит 1500 туннелей не сильно напрягаясь.

В принципе, можно собрать простенькую конфигурацию на 7507 (это около $3500-5000), а потом добавлять нужные части "по надобности". :-) Но это уже в мыло...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость
Фигасе!!!! А Гигабитка(ну две гигабитки) + 802.1q switch - не модно???

мы кстати, решили какраз на такой конфигурации остановится:

Два сервера на Xeon 3.06

В серваках встроенная 2х-портовая i82546EB + такая-же вставлена в PCI64 + 3COM 996T (тоже в PCI64). Соответственно все это расходиться по гигабитной оптике на кучу точек где стоят недорогие 3C17300 с поддержкой 802.1q.

Система будет заниматся роутингом и немного файерволить (OpenBSD 3.5 + pf).

Очень интересно как такая штука будет справлятся с нагрузкой типа 20-30 сессий всяких халявщиков качающих фильмы из одного сегмента в другой :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость
Cisco 7200-7500 :-)

а циска может гасить сессию на ходу (по истечению баланса) как софтовый сервер туннелей?

ну, чтобы был типа "горячий" биллинг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а циска может гасить сессию на ходу (по истечению баланса) как софтовый сервер туннелей?

Обычно это делается отдельно самим биллингом. Обрыв сессий возможен по SNMP или через RADIUS PoD. Естественно, ни о какой точности здесь не может быть и речи.

 

Для точности есть такая фича, как SSG Prepaid. По истечении выданного RADIUS'ом лимита циска сделает реавторизацию для юзера. Только доступна эта фича на очень ограниченном списке платформ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость

Если узнаете на каком роутере стоял у нашего провайдера инет, со смеху упадете. 50 (!!!!!!) человек обслуживал сервер пень 166 ммх, 64 мб опера или чуть больше, винт на гиг :) На роутере стоял еще и биллинг :) И вот это чудо работало, правда таааааак работало что капец :( Сейчас поставили сеоероны 400-600 то теперь уже сносно..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну и что смешного ? Нормальный роутер для 10-30 мегабит крупными пакетами.

Для 50 человек больше и не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.