首页 > 系统 > Linux > 正文

linux搭建vpn服务器步骤详解

2024-08-27 23:59:54
字体:
来源:转载
供稿:网友

vpn服务器的搭配小编介绍过很多的文件了,在这里小编来为各位再次分享一篇linux搭建vpn服务器教程,希望对各位有帮助.

PPTP 的配置主要有下面五个步骤:

验证内核是否加载了 MPPE 模块,安装所需的软件包,配置 PPP 和 PPTP 的配置文件,打开内核的 IP 转发功能,启动 pptpd 守护进程,配置 iptables 防火墙放行和转发规则.

详细步骤:

1.验证内核是否加载了MPPE模块:基本都安装过了,所以略过.

2.安装所需的软件包:ppp

PPTP 使用 PPP 协议对用户数据进行封装,然后将 PPP 数据帧封装在 IP 数据报里,经由 IP 网络传播,因此首先需要支持 PPP 协议,下面命令安装 ppp:

  1. yum install -y ppp 
  2. pptpd 

有了 PPP 协议支持,接下来安装 pptpd,首先到这里找到最新版适合你的平台的 pptpd,然后还需要根据内核选择 32 位或者 64 位的包,找到正确的软件包以后,复制其 URL,然后用 wget 下载到 root 的家目录,或者用 rpm -ivh URL 直接安装也行,譬如我的 64 位内核 CentOS,使用下面命令下载:

  1. wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpm 
  2. rpm -ivh pptpd-1.4.0-1.el6.x86_64.rpm 

3.配置:ppp

配置 ppp 需要编辑它的两个配置文件,一个是 option(选项)文件,一个是用户账户文件,首先编辑 option 文件:

vim /etc/ppp/options.pptpd

查找ms-dns,修改:

  1. ms-dns 8.8.8.8 
  2. ms-dns 8.8.4.4 

接下来修改另一个,存储着用户账户的文件:

vim /etc/ppp/chap-secrets

这个文件非常简单,其中用明文存储 VPN 客户的用户名、服务名称、密码和 IP 地址范围,每行一个账户:

  1. username1 pptpd passwd1 * 
  2. username2 pptpd passwd2 * 

其中第一第三列分别是用户名和密码,第二列应该和上面的文件 /etc/ppp/options.pptpd 中 name 后指定的服务名称一致,最后一列限制客户端 IP 地址,星号表示没有限制.

  1. pptpd 
  2. vim /etc/pptpd.conf 

修改如下两行:

  1. localip 192.168.0.1 
  2. remoteip 192.168.0.207-217 

两行是比较重要的两行,VPN 可以这样理解,Linux 客户端使用一个虚拟网络设备 ppp0(Windows 客户端也可以理解成 VPN 虚拟网卡),连接到服务器的虚拟网络设备 ppp0 上,这样客户端就加入了服务器端 ppp0 所在的网络,localip 就是可以分配给服务器端 ppp0 的 IP 地址,remoteip 则是将要分配给客户端 ppp0(或者虚拟网卡)的.

这两项都可以是多个 IP,一般 localip 设置一个 IP 就行了,remoteip 则视客户端数目,分配一段 IP,其中 remoteip 的 IP 段需要和 localip 的 IP 段一致.

localip 和 remoteip 所处的 IP 段可以随意些指定,但其范围内不要包含实际网卡 eth0 的 IP 地址,一般情况下,使用上面配置文件中的配置就好使了,你需要做的只是把 192.168.0.207-217这个 IP 区间修改成你喜欢的 192.168.0.a-b,其中 1<a<b<255.

4.打开内核ip转发功能

要使 VPN 服务器可以作为网络请求的中转代理,能够使客户端通过 VPN 访问 Internet,还需要开启内核的 IP 转发功能,可以编辑配置文件:

vim /etc/sysctl.conf

找到其中的行:net.ipv4.ip_forward = 0

修改为:net.ipv4.ip_forward = 1

然后执行下面命令使上述修改生效:sysctl -p

5.启动pptpd 守护进程

上面配置完成后,就可以启动 pptpd 进程并设置自动启动了.

  1. /etc/init.d/pptpd start 
  2. chkconfig --level 35 pptpd on 

连接之后如果需要用户上网,还需要设置NAT,ip转发,在linux服务器上使用iptables,如下:

  1. iptables -t nat -F 
  2. iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to xxx.xxx.xxx.xxx 
  3. # xxx.xxx.xxx.xxx 是你的ip 

然后配置一下,还有关于iptable的配置,此处不多说了,参考如下:

此处我测试直接关闭了service iptables stop.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表