Кто какой VPN сервер использует
mpd - так исторически вышло
да и с нетапом дружит неплохо

Последний раз редактировалось Blackmore Вт сен 27, 2005 14:18, всего редактировалось 1 раз.
FreeBSD 5.4 - после обновления портов mpd становится 3.18-2 - он уже патчен и интерфейсов можно создавать больше ста - проблем еще не было
ЗЫ: больше 250 интерфейсов поднимать не вижу смысла - легче еще один сервер доступа поставить суммарно по железу дешевле выходит да и общая надежность выше
ЗЫ: больше 250 интерфейсов поднимать не вижу смысла - легче еще один сервер доступа поставить суммарно по железу дешевле выходит да и общая надежность выше
Последний раз редактировалось Blackmore Вт сен 27, 2005 14:26, всего редактировалось 1 раз.
хм .... с тебя обсчет традиционной телефонии шоб матом на меня в моем старом треде не ругался
)))
собственно скрипт:
#!/bin/sh
. /etc/rc.conf
MPDCONF="/usr/local/etc/mpd/mpd.conf" # MPD .conf file
MPDLINKS="/usr/local/etc/mpd/mpd.links" # MPD .links file
RADIUS_CONF="/etc/radius.conf"
MPD_USERS=200
MPD_MTU="1400"
MPD_IP="172.16.0.1"
MPD_IPS="172.16.0."
MPD_IP_4RADIUS="127.0.0.1"
RADIUS_IP="127.0.0.1"
RADIUS_SECRET="megaword"
SELF_IP="10.128.7.137"
# mpd.conf
cat /dev/null > $MPDCONF # Flushing mpd.conf
echo "#!/bin/sh" >> $MPDCONF
echo "" >> $MPDCONF
echo "default:" >> $MPDCONF
I=0
while [ $I != $MPD_USERS ]; do
echo " load pptp$I" >> $MPDCONF
I=`expr $I + 1`;
done
echo "" >> $MPDCONF
I=0
while [ $I != $MPD_USERS ]; do
N=`expr $I + 2`;
echo "pptp$I:" >> $MPDCONF
echo " new -i ng$I pptp$I pptp$I" >> $MPDCONF
echo " set ipcp ranges $MPD_IP/32 $MPD_IPS$N/32" >> $MPDCONF
echo " load client_standard" >> $MPDCONF
echo "" >> $MPDCONF
I=`expr $I + 1`;
done
echo "client_standard:" >> $MPDCONF
echo " set iface disable on-demand" >> $MPDCONF
echo " set iface enable proxy-arp" >> $MPDCONF
echo " set iface idle 1800" >> $MPDCONF
echo " set iface enable tcpmssfix" >> $MPDCONF
echo " set bundle enable multilink" >> $MPDCONF
echo " set link yes acfcomp protocomp" >> $MPDCONF
echo " set link no pap chap" >> $MPDCONF
echo " set link enable chap" >> $MPDCONF
echo " set link mtu $MPD_MTU" >> $MPDCONF
echo " set link mru $MPD_MTU" >> $MPDCONF
echo " set iface mtu $MPD_MTU" >> $MPDCONF
echo " set link keep-alive 60 180" >> $MPDCONF
#echo " set ipcp yes vjcomp" >> $MPDCONF
echo " set ipcp dns $SELF_IP" >> $MPDCONF
echo " set ipcp nbns $SELF_IP" >> $MPDCONF
echo " set bundle enable compression" >> $MPDCONF
echo " set ccp yes mppc" >> $MPDCONF
#echo " set ccp yes mpp-e40" >> $MPDCONF
#echo " set ccp yes mpp-e128" >> $MPDCONF
#echo " set ccp yes mpp-stateless" >> $MPDCONF
#echo " set bundle enable tcp-wrapper" >> $MPDCONF
echo " set pptp self $SELF_IP" >> $MPDCONF
echo " set pptp enable incoming" >> $MPDCONF
echo " set pptp disable originate" >> $MPDCONF
echo "" >> $MPDCONF
#radius:
echo "#### Radius Configuration ####" >> $MPDCONF
echo " set radius config $RADIUS_CONF" >> $MPDCONF
# and/or specify the server directly here
echo " set radius retries 3" >> $MPDCONF
echo " set radius timeout 3" >> $MPDCONF
echo " set radius server $RADIUS_IP $RADIUS_SECRET 1812 1813" >> $MPDCONF
# send the given IP in the RAD_NAS_IP_ADDRESS attribute to the server.
echo " set radius me $MPD_IP_4RADIUS" >> $MPDCONF
# send accounting updates every 5 minutes
echo " set radius acct-update 300" >> $MPDCONF
# let the RADIUS server assign the IP
echo " set ipcp enable radius-ip" >> $MPDCONF
# enable RADIUS, and fallback to mpd.secret, if RADIUS auth failed
echo " set bundle enable radius-auth radius-fallback" >> $MPDCONF
# enable RADIUS accounting
echo " set bundle enable radius-acct" >> $MPDCONF
# use idle-timeout, session-timeout, routes list and mtu from the RADIUS server
echo " set iface enable radius-idle radius-session radius-mtu radius-route" >> $MPDCONF
# activate MPPE and let the RADIUS server assign MPPE-types and MPPE-policies
echo " set ccp enable radius" >> $MPDCONF
## mpd.links
cat /dev/null > $MPDLINKS
I=0
while [ $I != $MPD_USERS ]; do
echo "pptp$I:" >> $MPDLINKS
echo " set link type pptp" >> $MPDLINKS
echo "" >> $MPDLINKS
I=`expr $I + 1`;
done
## radius.conf
cat /dev/null > $RADIUS_CONF
echo "auth $RADIUS_IP $RADIUS_SECRET 3 2" >> $RADIUS_CONF
echo "acct $RADIUS_IP $RADIUS_SECRET 3 2" >> $RADIUS_CONF
## end
вот таким образом собственно - не забываем править по надобности, особенно в части радиуса - там лишка есть - я последний раз игрался с фри радиусом - лишнее стереть

собственно скрипт:
#!/bin/sh
. /etc/rc.conf
MPDCONF="/usr/local/etc/mpd/mpd.conf" # MPD .conf file
MPDLINKS="/usr/local/etc/mpd/mpd.links" # MPD .links file
RADIUS_CONF="/etc/radius.conf"
MPD_USERS=200
MPD_MTU="1400"
MPD_IP="172.16.0.1"
MPD_IPS="172.16.0."
MPD_IP_4RADIUS="127.0.0.1"
RADIUS_IP="127.0.0.1"
RADIUS_SECRET="megaword"
SELF_IP="10.128.7.137"
# mpd.conf
cat /dev/null > $MPDCONF # Flushing mpd.conf
echo "#!/bin/sh" >> $MPDCONF
echo "" >> $MPDCONF
echo "default:" >> $MPDCONF
I=0
while [ $I != $MPD_USERS ]; do
echo " load pptp$I" >> $MPDCONF
I=`expr $I + 1`;
done
echo "" >> $MPDCONF
I=0
while [ $I != $MPD_USERS ]; do
N=`expr $I + 2`;
echo "pptp$I:" >> $MPDCONF
echo " new -i ng$I pptp$I pptp$I" >> $MPDCONF
echo " set ipcp ranges $MPD_IP/32 $MPD_IPS$N/32" >> $MPDCONF
echo " load client_standard" >> $MPDCONF
echo "" >> $MPDCONF
I=`expr $I + 1`;
done
echo "client_standard:" >> $MPDCONF
echo " set iface disable on-demand" >> $MPDCONF
echo " set iface enable proxy-arp" >> $MPDCONF
echo " set iface idle 1800" >> $MPDCONF
echo " set iface enable tcpmssfix" >> $MPDCONF
echo " set bundle enable multilink" >> $MPDCONF
echo " set link yes acfcomp protocomp" >> $MPDCONF
echo " set link no pap chap" >> $MPDCONF
echo " set link enable chap" >> $MPDCONF
echo " set link mtu $MPD_MTU" >> $MPDCONF
echo " set link mru $MPD_MTU" >> $MPDCONF
echo " set iface mtu $MPD_MTU" >> $MPDCONF
echo " set link keep-alive 60 180" >> $MPDCONF
#echo " set ipcp yes vjcomp" >> $MPDCONF
echo " set ipcp dns $SELF_IP" >> $MPDCONF
echo " set ipcp nbns $SELF_IP" >> $MPDCONF
echo " set bundle enable compression" >> $MPDCONF
echo " set ccp yes mppc" >> $MPDCONF
#echo " set ccp yes mpp-e40" >> $MPDCONF
#echo " set ccp yes mpp-e128" >> $MPDCONF
#echo " set ccp yes mpp-stateless" >> $MPDCONF
#echo " set bundle enable tcp-wrapper" >> $MPDCONF
echo " set pptp self $SELF_IP" >> $MPDCONF
echo " set pptp enable incoming" >> $MPDCONF
echo " set pptp disable originate" >> $MPDCONF
echo "" >> $MPDCONF
#radius:
echo "#### Radius Configuration ####" >> $MPDCONF
echo " set radius config $RADIUS_CONF" >> $MPDCONF
# and/or specify the server directly here
echo " set radius retries 3" >> $MPDCONF
echo " set radius timeout 3" >> $MPDCONF
echo " set radius server $RADIUS_IP $RADIUS_SECRET 1812 1813" >> $MPDCONF
# send the given IP in the RAD_NAS_IP_ADDRESS attribute to the server.
echo " set radius me $MPD_IP_4RADIUS" >> $MPDCONF
# send accounting updates every 5 minutes
echo " set radius acct-update 300" >> $MPDCONF
# let the RADIUS server assign the IP
echo " set ipcp enable radius-ip" >> $MPDCONF
# enable RADIUS, and fallback to mpd.secret, if RADIUS auth failed
echo " set bundle enable radius-auth radius-fallback" >> $MPDCONF
# enable RADIUS accounting
echo " set bundle enable radius-acct" >> $MPDCONF
# use idle-timeout, session-timeout, routes list and mtu from the RADIUS server
echo " set iface enable radius-idle radius-session radius-mtu radius-route" >> $MPDCONF
# activate MPPE and let the RADIUS server assign MPPE-types and MPPE-policies
echo " set ccp enable radius" >> $MPDCONF
## mpd.links
cat /dev/null > $MPDLINKS
I=0
while [ $I != $MPD_USERS ]; do
echo "pptp$I:" >> $MPDLINKS
echo " set link type pptp" >> $MPDLINKS
echo "" >> $MPDLINKS
I=`expr $I + 1`;
done
## radius.conf
cat /dev/null > $RADIUS_CONF
echo "auth $RADIUS_IP $RADIUS_SECRET 3 2" >> $RADIUS_CONF
echo "acct $RADIUS_IP $RADIUS_SECRET 3 2" >> $RADIUS_CONF
## end
вот таким образом собственно - не забываем править по надобности, особенно в части радиуса - там лишка есть - я последний раз игрался с фри радиусом - лишнее стереть
Срипт обсчета традиционки это тебе надо CDR тащить с АТС и обращаться за утилиткой utm_unif к разработчикам.. у меня нет классики. Я ещё виноват что всё никак не допишу нормальный скрипт по созданию направлений телефонных и обсчет чтобы их велся... тоже обещаю до конца недели сделать. Так же ещё пара вкустностей будет для UTM 

-
- Сообщения: 134
- Зарегистрирован: Ср июн 29, 2005 13:08