WebClerk

每个人其实都行走在蓝天之下,如果你没有感觉到,那是因为你没有抬头向上看,而不是它不存在。

导航

Ubuntu PPTP 服务器安装

Posted on 2015-07-27 16:58  WebClerk  阅读(488)  评论(0编辑  收藏  举报

安装相应的包

sudo apt-get install pptpd
修改配置文件pptpd.conf
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