当前位置: 移动技术网 > 科技>操作系统>Unix > FreeBSD mpd VPN服务器安装步骤

FreeBSD mpd VPN服务器安装步骤

2019年05月26日  | 移动技术网科技  | 我要评论

#pkg_add -rv mpd
#sh mpd_setup.sh config ##修改几个选项 什么用户名了,分配的ip地址了。。
#cat mpd_setup.sh
#!/bin/sh
#
# mpd vpn install script
# compile by iceblood(liu hongguang)
# e-mail:iceblood@163.com
# website:http://www.nettf.net/
#
path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
time=`date '+%y/%m/%d %h:%m'`
case $1 in
install)
which mpd
if [ "$?" = "0" ]; then
echo "mpd already install."
exit 0
fi
if [ -d /usr/ports/net/mpd ]; then
cd /usr/ports/net/mpd
make clean
if [ "$?" = "1" ]; then
echo "sorry! mpd install error!!"
exit 1
fi
make install
if [ "$?" = "1" ]; then
echo "sorry! mpd install error!!"
exit 1
fi
make clean
echo "mpd software install done."
exit 0
fi
echo "sorry,not ports /usr/ports/net/mpd"
echo "please use cvsup get ports list."
exit 1
;;
config)
read -p "please input mpd config patch:[/usr/local/etc/mpd] " mpdpath
if [ "$mpdpath" = "" ]; then
mpdpath=/usr/local/etc/mpd
fi
read -p "please input vpn max ports(default 5):[1~253] " client
if [ "$client" = "" ] || [ "$client" -lt 1 ] || [ "$client" -ge 254 ]; then
client=5
fi
read -p "please input vpn server ip:[172.168.1.1] " vpnip
if [ "$vpnip" = "" ]; then
vpnip=172.168.1.1
fi
vpnipa=`echo $vpnip | awk -f. '{print $1}'`
vpnipb=`echo $vpnip | awk -f. '{print $2}'`
vpnipc=`echo $vpnip | awk -f. '{print $3}'`
vpnipd=`echo $vpnip | awk -f. '{print $4}'`
if [ "$vpnipa" -ge 255 ] || [ "$vpnipa" -lt 0 ] || [ "$vpnipb" -ge 255 ] || [ "$vpnipb" -lt 0 ] || [ "$vpnipc" -ge 255 ] || [ "$vpnipc" -lt 0 ] || [ "$vpnipd" -ge 255 ] || [ "$vpnipd" -lt 0 ] ; then
echo "sorry!!vpn server ip error!!!"
exit 1
fi
cat << mpdconfig > $mpdpath/mpd.conf
# create by iceblood mpd_setup.sh scripts
# by $time
# script compile by iceblood
# e-mail:iceblood@163.com
# website:http://www.nettf.net/
mpdconfig
echo "default:" >> $mpdpath/mpd.conf
echo " load pptp" >> $mpdpath/mpd.conf
echo "pptp:" >> $mpdpath/mpd.conf
num=0
while [ "$num" -lt "$client" ]; do
echo " load pptp$num" >> $mpdpath/mpd.conf
num=`expr $num + 1`
done
num=0
clientipd=0
while [ "$num" -lt "$client" ]; do
clientipd=`expr $clientipd + 1`
if [ "$clientipd" != "$vpnipd" ]; then
echo "pptp$num:" >> $mpdpath/mpd.conf
echo " new -i ng$num pptp$num pptp$num" >> $mpdpath/mpd.conf
echo " set ipcp ranges $vpnipa.$vpnipb.$vpnipc.$vpnipd/32 $vpnipa.$vpnipb.$vpnipc.$clientipd/32" >> $mpdpath/mpd.conf
echo " load pptp_config" >> $mpdpath/mpd.conf
num=`expr $num + 1`
fi
done
read -p "please input idle time at disconnect:[0] " idle
if [ "$idle" = "" ] || [ "$idle" -lt 0 ] || [ "$idle" -gt 86400 ]; then
idle=0
fi
read -p "please input client dns ipaddress:[127.0.0.1] " dnsip
if [ "$dnsip" = "" ]; then
dnsip=127.0.0.1
fi
cat << mpdconfig >> $mpdpath/mpd.conf
pptp_config:
set iface disable on-demand
set iface enable proxy-arp
set bundle enable compression
set bundle yes crypt-reqd
set iface idle $idle
set iface enable tcpmssfix
set bundle enable multilink
set link yes acfcomp protocomp
set link no pap chap
set link enable chap-msv2
set link keep-alive 10 60
set link mtu 1460
set ipcp yes vjcomp
set ipcp dns $dnsip
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
mpdconfig
cat << mpdlinks > $mpdpath/mpd.links
# create by iceblood mpd_setup.sh scripts
# by $time
# script compile by iceblood
# e-mail:iceblood@163.com
mpdlinks
num=0
while [ "$num" -lt "$client" ]; do
cat << mpdlinks >> $mpdpath/mpd.links
pptp$num:
set link type pptp
set pptp self 0.0.0.0
set pptp enable incoming
set pptp disable originate
mpdlinks
num=`expr $num + 1`
done
read -p "please vpn client username:[test] " vpnuser
read -p "please vpn client password:[password] " vpnpass
if [ "$vpnuser" = "" ]; then
vpnuser=test
fi
if [ "$vpnpass" = "" ]; then
vpnpass=password
fi
echo "$vpnuser $vpnpass" > $mpdpath/mpd.secret
chmod 600 $mpdpath/mpd.secret
cat << done
mpd configure file set done.
please check you kernel has:
#pptp server set
options netgraph
options netgraph_pptpgre
options netgraph_socket
options netgraph_ksocket
options netgraph_iface
options netgraph_ppp
options netgraph_bpf
options netgraph_vjc
options netgraph_mppc_encryption
and start mpd service.
please edit "$mpdpath/mpd.secret" file, add or delete vpn client user.
done
;;
*)
cat << help
$0 {install|config}
install install mpd package.
config configure mpd vpn.
script compile by iceblood
iceblood@163.com
help
;;
esac
exit 0

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网