Далее пункты 4,5 из http://wiki.bsdportal.ru/doc:vpn (Я использовал только Их):
4.Ядро:
# собственно поддержка netgraph
options NETGRAPH
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
# включаем поддержку ipfw
options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
Это не все конечно...
5.Радиус
Открываем radiusd.conf. В нем правим следующие настройки:
log_stripped_names=yes
# Логируем атрибут User-Name если он найден в запросе
log_auth=yes
# Логируем запросы аутентификации
log_auth_badpass=yes
# Если пароль неверен - пишем его в Лог
log_auth_goodpass=no
# верные пароли незачем писать в лог
Проверяем чтобы была раскоментарена строчка:
$INCLUDE ${confdir}/sql.conf
В секции authorize комментарим files и удаляем комментарий с sql
В секции accounting также снимаем комментарий с sql
Далее смотрим в sql.conf и правим:
#!/bin/bash
#tun название тунеля, смотрящего в Инет - на #Сервере, где стоит Нибс,
#появляется после #подключения Инета
tun=tun0
n=`head -n 1 pr`
sed 1d pr>pr1
cat pr1>pr
n1=`expr $n + 1`
/sbin/ipfw add $n divert 8668 all from $4 to any via $tun
/sbin/ipfw add $n1 divert 8668 all from any to me via $tun
echo "$1 $4 $n $n1">>ip
echo "$1 $4 $n $n1">>iptest
echo $n1>num
В файле pr находится номера для правил, расположеных через 1...Зачем?
Дело в том, что у Меня все правила, если Их указывать без номера -
добавляются за 65000 и там не работают - по крайней мере Я пробовал...
Тоесть файл pr должен содержать, что то типа:
500
502
504
и т.д. - записей 100, для подключившихся 50-т, на всякий случай...
Достаю из файла pr первое значение, и прописываают правила с номером
<значение> <значение+1>, после того как отключается пользователь - эти
номера возвращаются для использования... - главное, что бы не
перекрывались с уже имеющимися правилами ipfw:
ipfw show
Как запустить?
1.Подключаемся в инет
2.есть у Меня скриптик:
start.sh
#!/bin/bash
#tun название тунеля, смотрящего в Инет - на #Сервере, где стоит Нибс,
#появляется после #подключения Инета В link-up он же
tun=tun0
apache start&
mysqld_safe&
mpd4 -b;
radiusd -f&
natd -n $tun -p 8668
ЗЫ:
Можно было бы и без файлов - с помощью ДБ, и без файла pr вообще - но
меня смущает то, что правила в ipfw show показываются так:
00508 75 11273 divert 8668 ip from 192.168.11.4 to any via tun0
В приннципе можно запросто вытянуть номера имеющихся правил, но Они
будут начинатся с 00 или 0, ну а Мне легше было так написать, чем
смотреть на awk,sed и т.д.