如何在Linux下配置VPN?这篇文章就介绍了Linux的VPN服务器配置教程。虚拟专用网络(Virtual Private Network ,简称VPN)指的是在公用网络上建立专用网络的技术。其之所以称为虚拟网,主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台,如Internet、ATM(异步传输模式〉、Frame Relay (帧中继)等之上的逻辑网络,用户数据在逻辑链路中传输。它涵盖了跨共享网络或公共网络的封装、加密和身份验证链接的专用网络的扩展。常用的VPN协议有:L2F、L2TP、PPTP、IPsec、SSL VPN、Cisco VPN。
linux vpn软件安装(pptp)
[inbi@debian ~]#aptitude -y install pptp
[inbi@debian ~]#modprobe ppp_mppe
#Linux 2.6.13 以后的内核已经集成了 MPPE, 无需打补丁了,直接加载就可以了。
#MPPC 我不知道怎么安装,也找不到相应的补丁了。
NOTE:
MPPE:Microsoft Point-to-Point Encryption,微软的点对点加密协议,可以对在点对点链路上传输的数据包进行加密,详细介绍请见RFC3078和RFC3079。
MPPC:Microsoft Point-to-Point Compression,微软的点对点压缩协议,可以对在点对点链路上传输的数据包进行压缩,详细介绍请见RFC21189。
linux PPTP 配置
主配置文件 /etc/pptpd.conf
[inbi@debian ~]#cp /etc/pptpd.conf /etc/pptpd.conf.default
#备份是一个好的习惯。
[inbi@debian ~]#cat /etc/pptpd.conf<<EOF
localip 202.113.96.115
remoteip 172.16.0.1-172.16.7.254
EOF
#刚学的方法。
[inbi@debian ~]#grep -v "^#" /etc/pptpd.conf | grep -v "^$"
option /etc/ppp/pptpd-options
logwtmp
localip 202.113.96.115
remoteip 172.16.0.1-172.16.7.254
#最终配置。
选项配置文件 /etc/ppp/pptpd-options
[inbi@debian ~]#vim /etc/ppp/pptpd-options
name itwhy-pptpd
domain itwhy.org
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
nodefaultroute
lock
#保存退出。
选项 作用
name pptpd服务器名称
domain 设置域
refuse-pap 不使用pap身份认证模式
refuse-chap 不使用chap身份认证模式
refuse-mschap 不使用mschap身份认证模式
require-mschap-v2 使用微软的 mschap-v2 身份认证模式
require-mppe-128 MPPE 模块使用 128 位加密
ms-dns 为 Windows 客户端提供 DNS 服务器 IP 地址
proxyarp 建立 ARP 代理
lock 创建 UUCP-style 锁定文件,为了使每个终端独立。
用户配置文件 /etc/ppp/chap-secrets
chap-secrets 文件的每一行为一个用户配置,每行分为4段:用户名、服务器名称、密码、分配给客户端的IP。服务器名可以使用 “*” 号,代表全部;分配给客户端的 IP 使用 “*” 号表示随机分配。
[inbi@debian ~]#cat chap-secrets<<EOF
test * test *
test1 * test1 172.16.5.10
test2 itwhy-pptpd test1 172.16.5.100
[inbi@debian ~]#/etc/init.d/pptpd restart
至此已经可以建立连接了,只不过只能连接到本机,因为还没有打开IP转发功能。
配置IP转发
[inbi@debian ~]#sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
[inbi@debian ~]#sysctl -p