我知道网上有很多教程来设置VPN客户端和服务器。
我发现一个简单/简短的内容,我只对服务器部分感兴趣。
对于客户端,我将使用OS X,因此我更喜欢使用的解决方案,L2TP over IPsec
或者PPTP
因为我认为Cisco IPsec会花费一些钱。
我不想花太多时间来设置它。你知道,也许有人已经制作了一个安装脚本:)
注意:我正在使用在其上运行Ubuntu 12.04的EC2微型实例。
我知道网上有很多教程来设置VPN客户端和服务器。
我发现一个简单/简短的内容,我只对服务器部分感兴趣。
对于客户端,我将使用OS X,因此我更喜欢使用的解决方案,L2TP over IPsec
或者PPTP
因为我认为Cisco IPsec会花费一些钱。
我不想花太多时间来设置它。你知道,也许有人已经制作了一个安装脚本:)
注意:我正在使用在其上运行Ubuntu 12.04的EC2微型实例。
Answers:
更新:从Sierra开始,macOS不再支持PPTP vpn。此答案对macOS Sierra及更高版本的客户端无效。
通过PoPToP进行PPTP很容易
apt-get install pptpd
/etc/pptpd.conf
remoteip选项并将其设置为网络上DHCP服务器不提供的范围。/etc/ppp/chap-secrets
并添加用户名和密码例如
vpnuser pptpd vpnpassword *
这就是设置pptp的全部步骤。现在,使用OS X客户端对其进行测试。
192.168.0.
和定义默认值192.168.1.
可能是最坏的可能之一。
警告: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。
sudo ufw允许22 须藤ufw允许1723 sudo ufw启用
3:编辑/etc/ppp/pptpd-options
。使用您最喜欢的编辑器(mine的nano,所以对我来说是sudo nano /etc/ppp/pptpd-options
)打开文件,并#
在它们前面加一个注释掉这些行(如果您希望在所有操作系统上都能通用):
垃圾桶 垃圾堆 垃圾邮件
如果要禁用加密,可以在此行中添加注释: 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,因此添加:
本地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
。使用您最喜欢的编辑器(mine的nano,所以对我来说是sudo nano /etc/ppp/chap-secrets
)打开文件,然后添加auth数据。
格式为/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 :发布接受[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
11:重新启动防火墙,刷新规则集和应用,我们加入的规则/etc/ufw/*.rules
文件: sudo ufw disable && sudo ufw enable
警告:如果您需要打开其他端口,例如对于HTTPS(如果服务器托管网站),则需要使用以下命令将这些端口分别添加到允许的列表中:sudo ufw allow <PORT>
这是在Ubuntu 12.04上设置基本PPTP VPN服务器的快速教程。
安装必要的软件包
sudo apt-get install ppp pptpd
在服务器上配置PPTP IP范围
sudo nano /etc/pptpd.conf
最后添加以下几行
localip 10.89.64.1
remoteip 10.89.64.100-150
这会将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
修改或在末尾添加以下行
ms-dns 8.8.8.8
ms-dns 8.8.4.4
创建一个PPTP用户
sudo nano /etc/ppp/chap-secrets
在底部添加一行,以便文件看起来像这样:
# client server secret IP addresses
test pptpd abcd1234 *
为PPTP连接配置NAT
没有此步骤,您将能够连接,但是您的连接将无法从该服务器加载任何Web连接。
sudo nano /etc/rc.local
将以下内容添加到“ exit 0”行的右下方:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
假设eth0,您可以ifconfig
用来检查网络名称。
启用IPv4加密:
sudo nano /etc/sysctl.conf
取消注释以下行:
net.ipv4.ip_forward=1
然后重新加载配置:
sudo sysctl -p
重新启动您的VPS,任何PPTP客户端都可以正常运行。
客户端配置
对于Mac,请确保已添加PPTP VPN连接。除此之外,您只需要在身份验证设置中设置服务器地址,帐户名和密码。这里没有痛苦。
对于Linux,NetworkManager可以添加VPN连接。确保添加了PPTP VPN连接。我使用的配置在这里:
对于Windows
在我看来,此线程上的其他答案只是部分答案。这是在Ubuntu 12.04.3上对我有用的东西
sudo apt-get install pptpd
将以下内容附加到/etc/pptpd.conf(IP地址无关紧要,这只是您的ppp0接口的IP地址。)
localip 10.0.0.1
remoteip 10.0.0.100-200
将DNS服务器添加到/ etc / ppp / pptpd-options
ms-dns 8.8.8.8
ms-dns 8.8.4.4
sudo vim /etc/sysctl.conf
取消注释此行
net.ipv4.ip_forward=1
保存更改
sudo sysctl -p /etc/sysctl.conf
编辑/ etc / ppp / chap-secrets,以这种格式添加VPN用户:
# Secrets for authentication using CHAP
# client server secret IP addresses
username pptpd supersecretpassword *
重新启动PPTP
service pptpd restart
运行ifconfig
并找到您的默认接口,在我的情况下为br0(我对其进行了更改,以允许物理机上的虚拟机共享该接口。您的接口可能是en0)
备份iptables
iptables-save > ~/iptables.save
现在,使用ifconfig显示的默认界面来进行iptables更改。
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
在系统重新引导时使其保持不变;
sudo apt-get install iptables-persistent
系统偏好设置>网络> [+]> VPN
然后选择“身份验证设置>密码”,然后在此处填写密码
这是一个很好的项目,可以消除OpenVPN的痛苦:
https://github.com/Nyr/openvpn-install
只需运行它,它将安装打开的vpn并进行配置。最后,它将弹出一个client.ovpn文件,您可以使用该文件来设置客户端。似乎工作得很好。