我知道网上有很多关于设置 VPN 客户端和服务器的教程。
我发现一个简单/简短的,我只对服务器部分感兴趣。
对于客户端,我将使用 OS X,所以我更喜欢使用的解决方案,L2TP over IPsec或者PPTP因为我认为 Cisco IPsec 需要一些费用。
我不想花太多时间来设置它。您知道,也许有人已经制作了安装脚本 :)
注意:我使用的是运行 Ubuntu 12.04 的 EC2 微型实例。
Tho*_*ard 85
警告:PPTP 是一个不安全的协议!不仅加密被破坏,而且它以明文形式发送您的身份验证并且很容易被拦截。据估计,暴力破解密码所需的时间大致相当于暴力破解单个 DES 密钥所需的时间。考虑使用 OpenVPN 或其他 VPN 架构而不是 PPTP!
我使用本指南在我的 Ubuntu 12.04 服务器上设置了 PPTP VPN 服务器。
不过,总结一下链接中的要点:
1:安装pptpd和ufw。 iptables可以用来代替ufw,但为了方便起见,ufw如果你不知道更好iptables。sudo apt-get install pptpd ufw
2:打开需要的端口。该指南建议为 pptp vpn 使用 22 (SSH) 和 1723。
须藤 ufw 允许 22 须藤 ufw 允许 1723 须藤 ufw 启用
3:编辑/etc/ppp/pptpd-options。用你最喜欢的编辑器(我的 nano,所以我的命令是sudo nano /etc/ppp/pptpd-options)打开文件,并通过#在它们前面加上 注释掉这些行,如果你想让它在所有操作系统上通用:
拒绝爸爸 拒绝章 拒绝-mschap
如果要禁用加密,可以注释此行: require-mppe-128
4:编辑时/etc/ppp/pptpd-options,为VPN添加DNS服务器。此示例使用 OpenDNS 服务器:
ms-dns 208.67.222.222 ms-dns 208.67.220.220
5:编辑/etc/pptpd.conf。用你最喜欢的编辑器打开文件(我的是 nano,所以我的命令是sudo nano /etc/pptpd.conf)。您需要为系统添加本地 VPN IP,因此添加:
本地 IP 10.99.99.99 远程 IP 10.99.99.100-199
如果您的系统是 VPS,请使用公共 IP 作为“localip”。如果不是并且在本地网络上,请使用您计算机的网络 IP。如果您的子网中存在这些 IP,请使用不同的 IP 和范围!如果您不知道 VPS 的公共 IP,请通过运行找到它dig +short myip.opendns.com @resolver1.opendns.com
6:编辑/etc/ppp/chap-secrets。使用您最喜欢的编辑器(我的是 nano,所以我的命令是sudo nano /etc/ppp/chap-secrets)打开文件,然后添加身份验证数据。
格式为/etc/ppp/chap-secrets:
[用户名] [服务] [密码] [允许的 IP 地址]
一个例子是: sampleuser pptpd samplepassword *
7:重启pptpd。在终端中运行此命令:sudo /etc/init.d/pptpd restart
8:编辑/etc/sysctl.conf。用你最喜欢的编辑器打开文件(我的是 nano,所以我的命令是sudo nano /etc/sysctl.conf)。取消注释以下行(通过删除#它开头的)/etc/sysctl.conf:net.ipv4.ip_forward=1
重新加载配置: sudo sysctl -p
9:这一步假设你有 ufw。
编辑/etc/default/ufw并将选项DEFAULT_FORWARD_POLICY从更改DROP为ACCEPT
10:这一步假设你有 ufw。
编辑/etc/ufw/before.rules,并/etc/ufw/before.rules在*filter规则的开头或之前添加以下内容(推荐):
# NAT 表规则 *nat :POSTROUTING 接受 [0:0] # 允许转发流量到 eth0 -A POSTROUTING -s 10.99.99.0/24 -o eth0 -j 伪装 # 处理NAT表规则 犯罪
如果您的内核版本为 3.18 及更新版本(您可以通过运行来检查uname -r),还要在该行之前添加以下几# drop INVALID packets ...行:
-A ufw-before-input -p 47 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
11:重新启动防火墙,刷新规则集并将我们添加到/etc/ufw/*.rules文件中的规则应用: sudo ufw disable && sudo ufw enable
警告:如果您需要打开其他端口,例如如果您的服务器托管网站,则需要打开 HTTPS,您需要将这些端口单独添加到允许列表中sudo ufw allow <PORT>
Jay*_*ren 23
更新:从 Sierra 开始,macOS 不再支持 PPTP vpn。此答案对 macOS 客户端 Sierra 及更高版本无效。
通过 PoPToP 的 PPTP 很容易
apt-get install pptpd/etc/pptpd.confremoteip 选项并将其设置为网络上不由 DHCP 服务器提供服务的范围。/etc/ppp/chap-secrets并添加用户名和密码例如
vpnuser pptpd vpnpassword *
Run Code Online (Sandbox Code Playgroud)
这就是设置pptp所需的全部内容。现在用你的 OS X 客户端测试它。
Qas*_*sim 18
这是在 Ubuntu 12.04 上设置基本 PPTP VPN 服务器的快速教程。
安装必要的软件包
sudo apt-get install ppp pptpd
Run Code Online (Sandbox Code Playgroud)
在服务器上配置 PPTP IP 范围
sudo nano /etc/pptpd.conf
Run Code Online (Sandbox Code Playgroud)
在最后添加以下几行
localip 10.89.64.1
remoteip 10.89.64.100-150
Run Code Online (Sandbox Code Playgroud)
这会将 PPTP 服务器设置为使用 IP 10.89.64.1,同时将 IP 范围 10.89.64.100 到 10.89.64.150 分发给 PPTP 客户端。只要它们是私有 IP 地址并且不与您的服务器已经使用的 IP 地址冲突,就可以随意更改这些地址。
配置 DNS 服务器以在客户端连接到此 PPTP 服务器时使用
sudo nano /etc/ppp/pptpd-options
Run Code Online (Sandbox Code Playgroud)
修改或在最后添加以下几行
ms-dns 8.8.8.8
ms-dns 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
创建 PPTP 用户
sudo nano /etc/ppp/chap-secrets
Run Code Online (Sandbox Code Playgroud)
在底部附加一行,使您的文件看起来像:
# client server secret IP addresses
test pptpd abcd1234 *
Run Code Online (Sandbox Code Playgroud)
为 PPTP 连接配置 NAT
如果没有这一步,您将能够连接,但您的连接将无法从该服务器加载任何网络连接。
sudo nano /etc/rc.local
Run Code Online (Sandbox Code Playgroud)
在“exit 0”行前的右下角添加以下内容:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
假设eth0,你可以ifconfig用来检查网络名称。
启用 IPv4 转发:
sudo nano /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)
取消注释以下行:
net.ipv4.ip_forward=1
Run Code Online (Sandbox Code Playgroud)
然后重新加载配置:
sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)
重新启动您的 VPS,一切都应该从任何 PPTP 客户端顺利运行。
客户端配置
对于 Mac,请确保您添加了 PPTP VPN 连接。除此之外,您只需要在身份验证设置中设置服务器地址、帐户名和密码。这里不痛。
对于 Linux,NetworkManager 添加 VPN 连接。确保您添加了 PPTP VPN 连接。我使用的配置在这里:

对于 Windows

这个线程上的其他答案在我的情况下只是部分答案。这是在 Ubuntu 12.04.3 上对我有用的东西
sudo apt-get install pptpd
Run Code Online (Sandbox Code Playgroud)
将以下内容附加到 /etc/pptpd.conf (IP 地址无关紧要,这只是 ppp0 接口的 IP 地址。)
localip 10.0.0.1
remoteip 10.0.0.100-200
Run Code Online (Sandbox Code Playgroud)
将 DNS 服务器添加到 /etc/ppp/pptpd-options
ms-dns 8.8.8.8
ms-dns 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
sudo vim /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)
取消注释此行
net.ipv4.ip_forward=1
Run Code Online (Sandbox Code Playgroud)
保存更改
sudo sysctl -p /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)
编辑 /etc/ppp/chap-secrets,以这种格式添加一个 VPN 用户:
# Secrets for authentication using CHAP
# client server secret IP addresses
username pptpd supersecretpassword *
Run Code Online (Sandbox Code Playgroud)
重启PPTP
service pptpd restart
Run Code Online (Sandbox Code Playgroud)
运行ifconfig并找到您的默认界面,在我的情况下它是br0(我将其更改为允许物理机上的虚拟机共享该界面。您的可能是en0)

备份 iptables
iptables-save > ~/iptables.save
Run Code Online (Sandbox Code Playgroud)
现在让您的 iptables 更改使用 ifconfig 显示的默认界面。
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface br0 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
在系统重新启动时保持它的持久性;
sudo apt-get install iptables-persistent
Run Code Online (Sandbox Code Playgroud)
系统偏好设置 > 网络 > [+] > VPN


然后选择Authentication settings > Password,然后在此处填写您的密码

小智 7
这是一个非常棒的项目,它可以消除 OpenVPN 的痛苦:
https://github.com/Nyr/openvpn-install
只需运行它,它就会安装 open vpn 并进行配置。最后它会弹出一个 client.ovpn 文件,你可以用它来设置你的客户端。似乎工作得很好。
| 归档时间: |
|
| 查看次数: |
201385 次 |
| 最近记录: |