Jump to content
Калькуляторы

теория и практика VPN

хочу поднять сервер VPN (freeBSD), но т.к. на нем будет много клиентов - планирую отключить шифрование...

 

вопрос:

1. логин и пароль будут передаваться все равно в зашифрованном виде?

2. много ли я выиграю производительность?

3. при отключении шифрования останется тунель, будет ли в нем подписываться пакеты (чтоб левые не принимались)?

Share this post


Link to post
Share on other sites

хочу поднять сервер VPN (freeBSD), но т.к. на нем будет много клиентов - планирую отключить шифрование...  

 

вопрос:  

1. логин и пароль будут передаваться все равно в зашифрованном виде?  

2. много ли я выиграю производительность?  

3. при отключении шифрования останется тунель, будет ли в нем подписываться пакеты (чтоб левые не принимались)?

Логин передается всегда в незашифрованном виде :-)

 

Пароль передается в зашифрованном виде при CHAP-авторизации,

при PAP-авторизации пароль передается в открытом виде.

 

Неясно сколько это "много клиентов" а так же на каком железе это все

будет крутиться. Выигрыш в производительности - зависит от реализации VPN. Наибольшая производительность у PPPoE, но у него

есть некоторое технологическое ограничение из-за того что он

работает на третьем уровне модели OSI, то есть сервер PPPoE должен

находиться в каждом физическом сегменте сети, в случае же PPTP или

IPSec достаточно одного сервера на всех.

Я например считаю что несколько десятков слабых машин с PPPoE

гораздо производительнее одного навороченного с PPTP :-)

При практически равных финансовых затратах.

Share this post


Link to post
Share on other sites

Логин передается всегда в незашифрованном виде :-)

Пароль передается в зашифрованном виде при CHAP-авторизации,  

при PAP-авторизации пароль передается в открытом виде.

это я уже нашел... теперь думаю юзать GNU-Radius или другое (можно и свою авторизацию забабахать)....

 

Неясно сколько это "много клиентов" а так же на каком железе это все будет крутиться.

думаю использовать PopTop на машинке вроде Celeron-P4 2.0

 

то есть сервер PPPoE должен находиться в каждом физическом сегменте сети

что по вашему - "физический сегмент" ?

 

и самое главное - это ответ на 3-й вопрос... знает кто-нить?

Share this post


Link to post
Share on other sites

на счёт PPPoE: не обязательно в каждом физическом сегменте. ибо у нас почему-то и через PC-роутер работает. там надо просто пропускать какие-то пакеты и всё. и даже в опросе "кто предоставляет подобный сервис?" всё будет отображаться.

 

PS: какие - понятия не имею :)

Share this post


Link to post
Share on other sites

нужно чтоб роутер пропускал GRE пакеты, у меня через 3 роутера все нормально конектятся, RH версии 7.3 и выше пропускает, ниже версии нет , но можна патч забабахать

Share this post


Link to post
Share on other sites

Третий вопрос означает что вы не читали RFC.

каюсь - так и есть :(

занят поиском и сравнением софта... если не сложно - подскажите в 2-х словах ;)

Share this post


Link to post
Share on other sites

нужно чтоб роутер пропускал GRE пакеты, у меня через 3 роутера все нормально конектятся, RH версии 7.3 и выше пропускает, ниже версии нет , но можна патч забабахать

 

Откуда интересно в PPPoE взялся GRE ? ;-)

 

Внимательнее читайте.

Share this post


Link to post
Share on other sites

pptp отнимает в системе примерно 1.5 - 2% загрузки процессора и примерно 2 мб опертивки (это если юзер активен, передаёт и принимает байтики). Арифметика проста, 50 активных юзеров положат твой сервак в DOS. Практика такова что 50 активных юзеров сервак не убивают, а вот примерно 80 - 90 не очень активных сильно отбирают ресурс cpu, 97-98% загрузки, при этом пользователи начинают звонить и жаловаться что у них или не соединяется или соединившись ничего не работает.

Замена процессора с celeron 333 на P4 2.4 помогла до 100 -120 пользователей и опять пошли проблемы.

Итог стоят 3 компа celeron 333 и обслуживают 150-200 соединений.

Не хватает 100 мбит канала.

Чё делать дальше не знаем, или делать локальные доступы и к ним чистые каналы в 100 мбит, или на этом мысль заканчивается (с) Масяня

Share this post


Link to post
Share on other sites

Арифметика проста, 50 активных юзеров положат твой сервак в DOS. Практика такова что 50 активных юзеров сервак не убивают, а вот примерно 80 - 90 не очень активных сильно отбирают ресурс cpu.

 

Попробуйте новый mpd в FreeBSD. Работает в ядре и кушает в разы меньше, чем pptpd+ppp (по моим оценкам). Умеет виндовое шифрование MPPE и другие прелести.

Share this post


Link to post
Share on other sites

pptpd жрет столько ресурсов из-за того что гоняет весь траффик

в userspace, соответственно имеем переключение контекста на каждый пакет.

при большом pps не хватит никакого процессора, потому что нагрузка

растет по экспоненциальной зависимости.

У mpd основные потоки идут через netgraph ( впрочем как и в pppoed )

соответственно нагрузка меньше на порядок. Но mpd хуже

приспособлен к работе сервером - начинался он как клиентская

программа для организации туннелей для балансировки траффика.

А насчет включения MPPE - на 100Mbit/s это точно будетDOS. :-)

Share this post


Link to post
Share on other sites

pptp отнимает в системе примерно 1.5 - 2% загрузки процессора и примерно 2 мб опертивки (это если юзер активен, передаёт и принимает байтики). Арифметика проста, 50 активных юзеров положат твой сервак в DOS. Практика такова что 50 активных юзеров сервак не убивают, а вот примерно 80 - 90 не очень активных сильно отбирают ресурс cpu, 97-98% загрузки, при этом пользователи начинают звонить и жаловаться что у них или не соединяется или соединившись ничего не работает.  

Замена процессора с celeron 333 на P4 2.4 помогла до 100 -120 пользователей и опять пошли проблемы.  

Итог стоят 3 компа celeron 333 и обслуживают 150-200 соединений.  

Не хватает 100 мбит канала.  

Чё делать дальше не знаем, или делать локальные доступы и к ним чистые каналы в 100 мбит, или на этом мысль заканчивается (с) Масяня

 

PPTP на Win2000Serv Celeron 600 512Ram, спокойно держит по 30 пользователей, с шифрованием, компрессией и всеми делами. Плюс на нем хостятся куча сайтов, DNS, и много чего еще. Загрузка процессора обычно 20%.

Share this post


Link to post
Share on other sites

IPSEC на 100Mbit/s по-вашему тоже будет DOS?

 

Кроме того, непонятно, чем mpd плох в роли сервера. У меня, наоборот, никогда не возникало желания использовать его клиентом.

Share this post


Link to post
Share on other sites

На IPSEC нужны сертификаты и прочая бадяга.

Щас рассматриваем кардинальный способ, cisco 36XX c IOS 12.5t которая с аппаратной железкой до 1000 юзеров держит (по крайней мере так они говорят).

Остаётся только каналы раздувать а то вечером на 100 мбит что либо качнуть по сети нереально, только чат и аська :)

Share this post


Link to post
Share on other sites

Ну-ка ну-ка, какой pps держит у вас IPSec скажем при triple-des ?

 

mpd клиентом не использовали ? а как же multilink ppp ? :)

 

За стоимость cisco 36xx с IOS'ом можно десяток 2ГГц писюков поставить. :)

Share this post


Link to post
Share on other sites

ppsы не мерял

 

Сейчас глянул, des-cbc через 10Мбит при ping -f на p3-900 дает idle 99%

В худшем случае, 3des полностью 100Мбит не загрузить, но DOSом явно не пахнет, правда?

 

А что multilink ppp? Такое прямо повсеместное явление?

Share this post


Link to post
Share on other sites

а ping -f едет через ICMP_BANDLIM ? :))

 

я подозреваю что у вас вообще ipsec не работает если такая загрузка cpu.

Вы тест на энтропию траффика проводили ?

 

multilink ppp когда-то был практически везде, собственно mpd только

из-за него и выжил. :-)

Share this post


Link to post
Share on other sites

last pid: 7916; load averages: 0.15, 0.05, 0.01 up 42+02:35:44 13:16:12

37 processes: 1 running, 36 sleeping

CPU states: 0.0% user, 0.0% nice, 7.5% system, 0.0% interrupt, 92.5% idle

Mem: 32M Active, 148M Inact, 58M Wired, 8944K Cache, 35M Buf, 656K Free

Swap: 512M Total, 108K Used, 512M Free

 

PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND

7868 root 2 0 1484K 1032K sbwait 0:07 8.72% 8.64% ftpd

36020 utm 2 0 4156K 2804K poll 1:54 0.00% 0.00% python

129 root 2 0 5004K 2620K select 0:53 0.00% 0.00% httpd

36019 utm 2 0 2344K 1580K select 0:13 0.00% 0.00% ssh

83 root 2 0 948K 608K select 0:12 0.00% 0.00% syslogd

 

13:17:01.386410 10.17.0.2 > 10.17.0.1: ESP(spi=0x0000fff2,seq=0x22cb00) (DF) [tos 0x8]

13:17:01.386586 10.17.0.2 > 10.17.0.1: ESP(spi=0x0000fff2,seq=0x22cb01) (DF) [tos 0x8]

13:17:01.386765 10.17.0.2 > 10.17.0.1: ESP(spi=0x0000fff2,seq=0x22cb02) (DF) [tos 0x8]

13:17:01.386914 10.17.0.2 > 10.17.0.1: ESP(spi=0x0000fff2,seq=0x22cb03) (DF) [tos 0x8]

13:17:01.387063 10.17.0.2 > 10.17.0.1: ESP(spi=0x0000fff2,seq=0x22cb04) (DF) [tos 0x8]

13:17:01.400710 10.17.0.1 > 10.17.0.2: ESP(spi=0x0000fff1,seq=0x20e9e9) (DF) [tos 0x8]

13:17:01.400802 10.17.0.1 > 10.17.0.2: ESP(spi=0x0000fff1,seq=0x20e9ea) (DF) [tos 0x8]

13:17:01.400892 10.17.0.1 > 10.17.0.2: ESP(spi=0x0000fff1,seq=0x20e9eb) (DF) [tos 0x8]

13:17:01.400918 10.17.0.2 > 10.17.0.1: ESP(spi=0x0000fff2,seq=0x22cb05) (DF) [tos 0x8]

13:17:01.400984 10.17.0.1 > 10.17.0.2: ESP(spi=0x0000fff1,seq=0x20e9ec) (DF) [tos 0x8]

13:17:01.401084 10.17.0.2 > 10.17.0.1: ESP(spi=0x0000fff2,seq=0x22cb06) (DF) [tos 0x8]

 

user# setkey -D

10.17.0.2 10.17.0.1

esp mode=any spi=65522(0x0000fff2) reqid=0(0x00000000)

E: des-cbc 6d6f7468 65723231

seq=0x00235446 replay=0 flags=0x00000040 state=mature

created: Sep 29 15:25:42 2003 current: Oct 31 13:18:01 2003

diff: 2760739(s) hard: 0(s) soft: 0(s)

last: Oct 31 13:18:01 2003 hard: 0(s) soft: 0(s)

current: 471577096(bytes) hard: 0(bytes) soft: 0(bytes)

allocated: 2315334 hard: 0 soft: 0

sadb_seq=1 pid=7919 refcnt=2

10.17.0.1 10.17.0.2

esp mode=any spi=65521(0x0000fff1) reqid=0(0x00000000)

E: des-cbc 6675636b 65723132

seq=0x00000000 replay=0 flags=0x00000040 state=mature

created: Sep 29 15:25:42 2003 current: Oct 31 13:18:01 2003

diff: 2760739(s) hard: 0(s) soft: 0(s)

last: Oct 31 13:18:01 2003 hard: 0(s) soft: 0(s)

current: 1059971616(bytes) hard: 0(bytes) soft: 0(bytes)

allocated: 2263634 hard: 0 soft: 0

sadb_seq=0 pid=7919 refcnt=1

 

ftp> get Dawg.avi

local: Dawg.avi remote: Dawg.avi

150 Opening BINARY mode data connection for 'Dawg.avi' (708550656 bytes).

100% |**************************************************| 675 MB 00:00 ETA

226 Transfer complete.

708550656 bytes received in 851,33 seconds (812,78 KB/s)

ftp>

 

наверное, эксперимент с пингом был не очень удачным, но DOSа опять не видно

Share this post


Link to post
Share on other sites

при отключении шифрования останется тунель, будет ли в нем подписываться пакеты (чтоб левые не принимались)?

совсем про вопрос забыли :(

Share this post


Link to post
Share on other sites

web_pr: пакеты без шифрования не подписываются. плюс такой VPN подвержен MITM-атакам.

 

jab: вам работать или ppsы считать?

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.