在Debian上建立基于PPTP的VPN
VPN的英文全称是“Virtual Private Network”,翻译过来就是“虚拟专用网络”。顾名思义,虚拟专用网络可以把它理解成是虚拟出来的企业内部专线。
今天我们的目的是在自己的debian系统上构造一个VPN系统,废话不多说,下面开始配置系统.
首先我们编辑/etc/network/interfaces,为系统新增一个虚拟网卡,加上如下部分
1 | auto eth0:0 |
2 | iface eth0:0 inet static |
3 | address 192.168.10.1 |
4 | netmask 255.255.255.0 |
5 | broadcast 192.168.10.255 |
保存之后我们运行/etc/init.d/networking restart如果没有错误,说明虚拟网卡新增成功,这个时候,我们如果运行ifconfig,应该会看到如下信息:
1 | eth0:0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx |
2 | inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0 |
3 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
下面我们继续编辑文件/etc/network/if-up.d/iptables(如果不存在,新建即可),将其内容修改为:
01 | #! /bin/sh |
02 | # External Interface , Public Interface |
03 | EXTIF="eth0" |
04 | # Internal Interface, Private Interface |
05 | INIF="eth0:0" |
06 | # Internal Network |
07 | INNET="192.168.10.0/24" |
08 | # Enable IP forwarding |
09 | echo 1 > /proc/sys/net/ipv4/ip_forward |
10 | # Flush all rules. |
11 | iptables -F |
12 | iptables -t nat -F |
13 | # Set up NAT. |
14 | iptables -t nat -A POSTROUTING -s $INNET -o $EXTIF -j MASQUERADE |
15 | # for MSN |
16 | iptables -A FORWARD -o $EXTIF -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu |
如果是新建该文件,别忘了给其加上执行权限:
1 | chmod +x /etc/network/if-up.d/iptables |
继续重启网络,运行/etc/init.d/networking restart,如果没有错误,恭喜,nat部分的配置完成.如果有错误,请详细检查以上步骤,找出错误,直到该命令成功执行即可.
下面开始配置PPTP,在debian下,我们直接通过执行apt-get install pptpd即可安装pptp.然后我们需要进行一些设置.
首先修改/etc/ppp/pptpd-options,如果过滤掉繁杂的注释,最终的配置文件如下所示:
01 | name pptpd |
02 | refuse-pap |
03 | refuse-chap |
04 | refuse-mschap |
05 | require-mschap-v2 |
06 | require-mppe-128 |
07 | proxyarp |
08 | lock |
09 | nobsdcomp |
10 | novj |
11 | novjccomp |
12 | nologfd |
13 | ms-dns 8.8.8.8 |
14 | ms-dns 8.8.4.4 |
在本配置文件中使用了google的免费公众dns系统,当然,最佳情况,你应该配置为当前主机的dns系统.
然后我们继续修改文件/etc/pptpd.conf,如果过滤掉繁杂的注释,最终的配置文件如下所示:
1 | option /etc/ppp/pptpd-options |
2 | logwtmp |
3 | localip 192.168.10.1 |
4 | remoteip 192.168.10.10-255 |
在此处,我们将vpn主机的ip设置为192.168.10.1,客户端可分配ip范围是192.168.1.10-255,这部分需要和nat设置部分的ip严格对应,如果您设置的是其它ip端请注意核对.
最后,我们需要修改文件/etc/ppp/chap-secrets来新建vpn用户,比如我们新建一个用户名为leven,密码为levenvpn的用户,如下:
1 | leven pptpd levenvpn * |
到此为止,vpn系统配置完毕,如果要新增其它用户,按照上面的格式继续修改/etc/ppp/chap-secrets即可.
如果有部分机器在客户端连接vpn的时候报619错误,可以尝试下面的命令:
1 | mknod /dev/ppp c 108 0 |
这样一般就成功配置一个基于pptp的vpn主机啦.祝你好运