开启服务器1723端口
sudo apt-get update
sudo apt-get install pptpd
编辑/etc/pptpd.conf配置,使用默认
localip 192.168.0.1 #VPN服务器的虚拟ip
remoteip 192.168.0.200-238,192.168.0.245 #分配给VPN客户端的虚拟ip
编辑/etc/ppp/pptpd-options
ms-dns 8.8.8.8 #使用Google DNS
ms-dns 8.8.4.4 #使用Google DNS
编辑/etc/ppp/chap-secrets
格式:用户名 服务类型 密码 分配的ip地址
test * 1234 *
第一个代表服务可以是PPTPD也可以是L2TPD,第二个代表随机分配ip (一般写pptpd)
开启系统ipv4转发
/etc/sysctl.conf
取消net.ipv4.ip_forward=1的注释
sysctl -p 重启相关服务
重启服务
/etc/init.d/pptpd restart
出现连接vpn后一部分网页不能正常打开(如百度)
查看服务器ppp0网卡mtu值与eth0的mtu值
netstat -i
如ppp0 mtu较小则需改成一样
出现这种情况因为mtu较小数据包较大则被抛弃
MTU: 最大传输单元(Maximum Transmission Unit,MTU),是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。在以太网中默认为1500字节(FDDI协议:4352字节、PPPoE(ADSL)协议:1492字节、X.25协议(Dial Up/Modem):576字节、Point-to-Point:4470字节)。该值也可以修改,但一般不会超过9000 。
临时解决(重启失效)
sudo ifconfig ppp0 mtu 1500
修改文件解决
修改配置文件/etc/ppp/ip-up最后加入
/sbin/ifconfig $PPP_IFACE mtu 1500