[转][Ubuntu]如何创建一个基于pptpd的VPN

想在自己的vps上搭建一个vpn,于是乎翻了一些资料,然后将这些资料转载到我的博客上。并未发现提示禁止转载的消息。

附上原文地址:

//docs.ucloud.cn/software/vpn/PPTP4Ubuntu.html

//help.ubuntu.com/community/PPTPServer

//www.vpser.net/manage/linode-vps-pptp-vpn-howto.html

//allenzhang.iteye.com/blog/1720214

 

 

PPTP for Ubuntu

安装PPPPPTP

# apt-get install pptpd

 

编辑pptp.conf,在最后加入以下两行代码

# vim /etc/pptpd.conf

localip 10.8.0.1
remoteip 10.8.0.10-100

 

编辑options.pptpd,在最后加入以下两行代码

# vim /etc/ppp/pptpd-options

ms-dns 8.8.8.8
ms-dns 8.8.4.4

 

编辑chap-secretsaccountpptp登录帐号,password为登录密码,其他默认

# vim /etc/ppp/chap-secrets

# client        server      secret            IP addresses
  account       pptpd       password          *

 

例如:

cyh * 12345 *

编辑sysctl.conf,开启网络转发功能

# vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

# sysctl -p

 

配置NAT

# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

 

这边需要注意的是Debian/Ubuntuiptables是不会保存规则的。

需要按如下步骤进行配置,让网卡关闭时保存iptables规则,启动时加载iptables规则:

创建/etc/network/if-post-down.d/iptables 文件

# vim /etc/network/if-post-down.d/iptables

 

添加如下内容:

#!/bin/bash
iptables-save > /etc/iptables.rules

 

保存并退出,然后添加执行权限。

# chmod +x /etc/network/if-post-down.d/iptables

 

创建/etc/network/if-pre-up.d/iptables 文件

# vim /etc/network/if-pre-up.d/iptables

 

添加如下内容:

#!/bin/bash
iptables-restore < /etc/iptables.rules

 

保存并退出,然后添加执行权限。

# chmod +x /etc/network/if-pre-up.d/iptables

 

启动PPTP服务

# service pptpd start

 

或者

# /etc/init.d/pptpd start

 

设置为开机启动

# vim /etc/rc.local

 

将“ /etc/init.d/pptpd start ”加入到“/etc/rc.local”文件中

保存并退出

 

Windows 当中的设置

 

1、选择PPTP VPN连接的网络属性中的TCP/IP连接属性

2、选择高级设置

3、将 常规标签上的 在远程网络上使用默认网关 前面的勾选去掉.

4、断开并重新连接PPTP VPN网络.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.