Ubuntu安装pptpd

Ubuntu安装pptpd

在Linode买了VPS,想搭个VPN自己用。网上各种教程试一遍,各种不灵。最后吭哧了半天,终于还是搞定了,分享下:

  • 安装 pptpd
apt-get install pptpd
  • 修改配置文件,这一步应该是配置VPN子网使用的IP地址
echo "localip 10.100.0.1"      >> /etc/pptpd.conf
echo "remoteip 10.100.0.2-10"  >> /etc/pptpd.conf
  • 修改DNS配置
echo "ms-dns 8.8.8.8" >> /etc/ppp/pptpd-options
echo "ms-dns 8.8.4.4" >> /etc/ppp/pptpd-options
  • 增加VPN客户端使用的账号密码,格式为 username pptpd password *
echo "c.young pptpd qq.com *" >> /etc/ppp/chap-secrets
  • 重启pptpd
service pptpd restart

这时候可以用客户端试一下,如果顺利,VPN客户端会提示连接成功,但是上网会发现啥都上不去

接下来配置转发规则,这是我踩最多坑的地方。根据网上的流程,配置iptables,通常是加一条iptables转发规则,神马神马的。反正我是没搞定。

最后我采用的方案是用ufw配置转发,其实ufw就是一个iptables的简化工具,anyway,用ufw最后配成功了。

  • 如果没有安装ufw,则安装ufw
apt-get install ufw
  • 增加放行接口,这里自己根据情况配置,1723是pptpd的端口,22是ssh的接口,如果这个不allow,小心一会儿连不上服务器了……
ufw allow 22
ufw allow 1723
ufw allow 80
ufw allow 8080
  • 由于内核不同,有可能导致ufw启动后,pptpd无法连接的问题,需要如下处理
vim /etc/ufw/before.rules
找到 # drop INVALID packets ... 这行
在这行之前插入
    -A ufw-before-input -p 47 -j ACCEPT
  • 配置防火墙,支持ip转发
vim /etc/ufw/sysctl.conf
去掉下面这行前面的“#”
    net/ipv4/ip_forward=1
vim /etc/default/ufw 
修改下面这行,将“DROP”改成“ACCEPT”
    DEFAULT_FORWARD_POLICY="ACCEPT"
vim /etc/ufw/before.rules
加在最后面,不要覆盖默认内容,
注意网卡,不是所有的机器默认网卡都是eth0,比如还有venet0
    *nat
    :POSTROUTING - [0:0]
    -A POSTROUTING -s 10.100.0.0/24 -o eth0 -j MASQUERADE
    COMMIT
  • 刷新ufw
ufw enable 
ufw reload

如果一切顺利,这时就可以通过VPN上网了

你可能感兴趣的:(Misc)