安装相应的包
sudo apt-get install pptpd
sudo vim /etc/pptpd.conf
设置对应的VPN网络,localip是服务器的,remote是拨入的客户端ip
localip 192.168.0.1 remoteip 192.168.0.100-200
编辑配置文件
sudo vim /etc/ppp/pptpd-options
在配置中设置DNS服务器
ms-dns 8.8.8.8 ms-dns 8.8.4.4
修改用户配置文件chap-secrets
sudo vim /etc/ppp/chap-secrets
配置文件中格式,其中最后一项ip地址,若不设定,则由服务器分配
# client server secret IP addresses
$username pptp $password *
重启服务
sudo service pptpd restart
设置ip转发
sudo vim /etc/sysctl.conf
将转发设置为以下
net.ipv4.ip_forward=1
重新加载配置
sudo sysctl -p
设置iptables转发
sudo vim /etc/rc.local
将以下代码加在 exit 0 之前
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356
如果需要禁止同一用户同时多处登录,请编辑ip-up文件
sudo vim /etc/ppp/ip-up
加入以下代码
sleep 2 PID=$(cat /var/run/$PPP_IFACE.pid) if [ $PID ]; then PROCCESS="$(last | grep ppp | grep still | grep $PPP_IFACE)" NAME=$(echo $PROCCESS |cut -d' ' -f1) NUMLOGINS="$(last | grep ppp | grep still | grep -c $NAME' ')" if [ $NUMLOGINS -gt 1 ]; then kill $PID fi fi