不去在乎结果,热情地付出过,就好了.

基于UBUNTU搭建VPN服务器(已验证)

在Debian或者Ubuntu的 apt-get 安装包管理下,使用如下命令

apt-get install pptpd

编辑配置文件 “/etc/pptpd.conf” ,修改成如下:

option /etc/ppp/pptpd-options
localip 192.168.0.1
remoteip 192.168.0.11-150

再编辑配置文件 “/etc/ppp/pptpd-options” ,
修改里面的 ms-dns 这个项为 8.8.8.8 和 8.8.4.4
这是Google的DNS服务器,使用ISP提供的DNS也可以.

再编辑配置文件 “/etc/ppp/chap-secrets” ,此文件定义登录的用户名和密码
按下面的格式添加一行

用户名 pptpd 密码 *

修改配置文件后,重启pptpd配置信息才能生效

/etc/init.d/pptpd start #运行pptp进程
/etc/init.d/pptpd restart #重启pptp进程

检验PPTP服务器是否运行,在终端输入命令

netstat -anp | grep pptpd

将得到类似如下结果,说明PPTP服务器运行成功.

tcp  0  0  0.0.0.0:1723 0.0.0.0:*  LISTEN  27243/pptpd
unix  2  [ ]  数据报  200719  27243/pptpd

为了客户端能够顺利连接到VPN服务器,还需主机防火墙开放VPN端口(默认为1723)

iptables -I INPUT -p tcp --dport 1723 -j ACCEPT

到目前为止,VPN服务器确实搭建完成,客户端也可以正常连接了,但是客户端却不能通过该VPN服务器上网,
我们还需要为客户端IP地址设置网络地址转换(NAT)

查看 “/proc/sys/net/ipv4/ip_forward” 文件中的值是否为”1″
如果不是,则需在修改配置文件/etc/sysctl.conf中的相应内容如下,打开ipv4转发功能

net.ipv4.ip_forward = 1

执行

sysctl -p
/etc/init.d/procps restart

使其马上生效.

配置iptables:

apt-get intall iptables
iptables --table nat --append POSTROUTING --out-interface eth0 --jump MASQUERADE

注意上面的eth0要选择你对应的网卡

但是,只是这样 iptables 的规则会在下次重启时被清除,所以我们还需要把它保存下来,
编辑 “/etc/rc.local” 文件,在末尾另起一行加上下面的命令即可

iptables --table nat --append POSTROUTING --out-interface eth0 --jump MASQUERADE

下面还有一种方法,本人没有试验,但有网友反映,使用后无法进入系统

方法是使用 iptables-save 命令:

iptables-save > /etc/iptables-rules

然后修改 “/etc/network/interfaces” 文件,找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:

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

这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置.

到这里就搭建好了,
若实践时无法执行命令,尝试以sudo运行,
本人执行上述所有命令时均为root用户;D

打赏

7 comments

18 + 10 =

不去在乎结果,热情地付出过,就好了.
某一天,你所坚持的,和承担过的一切,会有回应。它们并非失去踪迹,只是需要时间抵达。这和星光落入眼睛里,是一样的道理。

近期文章

近期评论