如何搭建VPN来开服务器

如何搭建VPN来开服务器,第1张

这是一个简短的教程,目的是为了快速搭建一个可用的VPN,本文并不涉及有关VPN的正常使用内容。本简短教程基于以下硬件条件:

一台安装了Debian GNU/Linux 5.0的VPS。

当然理论上所有可以安装pptpd包的*nix系统都可以作为主机,教程中安装方式是基于Debian的apt-get命令,其他发行版请自行对照使用。

这台VPS的物理位置是Fremont, CA。

物理位置作为VPN这个应用本身并不重要,在这里提出只是多此一举。

安装服务器端软件

# apt-get install pptpd

Debian的包管理是所有发行版里最好的,所以这条命令打完就安装完毕了我们的pptp服务器端程序。

配置IP地址范围

编辑/etc/pptpd.conf,在最后添加如下地址:

localip 192.168.0.1remoteip 192.168.0.234-238,192.168.0.245

这两句设置了当外部计算机通过pptp联接到vpn后所能拿到的ip地址范围和服务器的ip地址设置。

增加一个用户

编辑/etc/ppp/chap-secrets,在下面增加类似的条目:

username pptpd password *

上面内容很好理解,最后那个星号是说允许从任何IP地址联接,如果你想单独设定IP地址也可以。

重启pptpd服务

# /etc/init.d/pptpd restar

理论上到这里一个vpn就已经搭建完毕了。无论你用的是Windows还是OSX,或者是iPhone OS,都可以通过建立一个pptp链接来联入这个VPN。不过你并不能通过这个来上Internet,因为所有的数据都作用于那台pptpd的服务器上,而不会传入拨入的计算机设备上。要上Internet还需要这么干:

dns解析支持

编辑:/etc/ppp/options,在里面找一下“ms-dns”项目:

ms-dns 208.67.222.222 ms-dns 208.67.220.220

我填写的是OpenDNS的地址,当然你也可以填写电信的DNS。

允许转发

编辑/etc/sysctl.conf,看一下net.ipv4.ip_forward参数是不是1。

net.ipv4.ip_forward=1

最后的最后,运行一下这条命令来打开iptables的转发支持:

/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

注意:来自@LEMONed的消息,只有Xen的VPS可以搭建pptp,OpenVZ的不行。

引用来自@LEMONed的话:

因为openvz下只有venet0,没有eth0,而绝大多数的vps都是openvz的,然后绝大多数的openvz vps都没有masqurade,只能搭建openvpn并且要自签证书什么的,根本不能用pptpd。我为了给iphone搭个vpn曾经把这个研究透彻了

Ubuntu下OpenVPN客户端配置教程 http://www.linuxidc.com/Linux/2013-06/86562.htm

Ubuntu 10.04搭建OpenVPN http://www.linuxidc.com/Linux/2012-11/74790.htm

Ubuntu 13.04 VPN (OpenVPN) 配置和连接不能同时访问内外网的问题 http://www.linuxidc.com/Linux/2013-07/86899.htm

如何在Linux上用OpenVPN搭建安全的远程网络架构 http://www.linuxidc.com/Linux/2013-11/92646.htm

安装pptpd

$ sudo apt-get install pptpd

编辑配置文件:

$ sudo vi /etc/pptpd.conf

找到最下面,修改ip:

localip 你的主机ip

remoteip 10.100.0.2-10

第二行为分配的ip段

设置dns

$ sudo vi /etc/ppp/pptpd-options

修改以下部分为google的dns:

ms-dns 8.8.8.8

ms-dns 8.8.4.4

设置账号:

$ sudo vi /etc/ppp/chap-secrets

添加一行,依次为:用户名,服务,密码,限制ip:

"user" pptpd "user"*

重启服务:

$ sudo /etc/init.d/pptpd restart

设置转发:

$ sudo vi /etc/sysctl.conf

去掉文件中这一行的注释:

net.ipv4.ip_forward=1

使它立刻生效:

sudo sysctl -p

安装iptables:

sudo apt-get install iptables

建立一个 NAT:

sudo iptables -t nat -A POSTROUTING -s 10.100.0.0/24-o eth0 -j MASQUERADE

将规则保存,使重启后规则不丢失:

sudo iptables-save >/etc/iptables-rules

若此处提示:-bash: /etc/iptables-rules: Permission denied 则可使用root用户,命令:su - 进入root用户保存

编辑网卡文件,加载网卡时自动加载规则

sudo vi /etc/network/interfaces

末尾加入:

pre-up iptables-restore </etc/iptables-rules

设置MTU,防止包过大:

sudo iptables -A FORWARD -s 10.100.0.0/24-p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200

若设置了,记得保存:

sudo iptables-save >/etc/iptables-rules

macos 能连上,但没有任何收发包的问题,即能连接上VPN,不能上网:vpn高级里勾选发送全部流量

至此,搞定。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/415961.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-24
下一篇2023-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存