这三个标签确实令人混淆,准确的写法应该是:L2TP over IPSec, PPTP, Cisco IPSec。PPTP 跟另外两者关系不大,且大家较为熟悉,暂且不提,L2TP 和 IPSec 的区别如下。
L2TP:一个「包装」协议,本身并不提供加密和验证的功能。
IPSec:在 IP 数据包的层级提供加密和验证功能,确保中间人无法解密或者伪造数据包。
本来,只用 IPSec 就可以实现 VPN,Mac OS X 和 Linux 都支持。但是 Mac OS X 和 iPhone OS 都推荐使用 L2TP over IPSec,在两者的图形介面上也只能设置这个。L2TP / IPSec 是业界标准,微软也支持。而只用 IPSec 的常见于 Linux-to-Linux 的应用,比如将两个位于不同地区的办公室网络安全地连在一起。这多是固定 IP 路由器到固定 IP 路由器级别的连接,只需保证数据包不被中途截获或者伪造就可以,故使用 L2TP 的意义不大。L2TP / IPSec 主要是实现所谓「Road Warrior」的设置,即用变动的客户端连固定的服务器。
Cisco 的 VPN 用的也是 IPSec 加密,但那是一套不同于 L2TP 的私有包装协议,用于提供用户管理之类的功能,因此一般都需要用 Cisco 自家的 VPN 客户端连接。iPhone / iPad 的 VPN 设置介面中的 IPSec 标签里有 Cisco 的标识,就是这个原因。
以下是在 Ubuntu 和 Debian 主机上架设 L2TP / IPSec VPN 的步骤,一共十四步。你需要有服务器的 root 权限(所以 DreamHost, BlueHost, MediaTemple 这些服务供应商帮你把一切打点周到的主机就无缘了),也需要一些基本的 Linux 知识。不然的话,我们还是推荐您找一位比较熟技术的朋友帮忙。
一、安装 IPSec。如上所述,IPSec 会对 IP 数据包进行加密和验证。这意味着你的电脑 / 移动设备与服务器之间传输的数据无法被解密、也不能被伪造。我推荐用 openswan 这个后台软件包来跑 IPSec。
用以下命令安装 openswan:
sudo aptitude install openswan二、用文字编辑器打开 /etc/ipsec.conf,改成这样:
version 2.0
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
oe=off
protostack=netkey
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=1h
type=transport
left=YOUR.SERVER.IP.ADDRESS
leftprotoport=17/1701
right=%any
rightprotoport=17/%any三、用文字编辑器打开 /etc/ipsec.secrets,改成这样:
YOUR.SERVER.IP.ADDRESS %any: PSK "YourSharedSecret"(别忘了把「YOUR.SERVER.IP.ADDRESS」这部分换成你的服务器的 IP 地址,把「YourSharedSecret」部分换成随便一个字串,例如你喜欢的一句话,等等。)
四、运行以下命令:
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 >$each/accept_redirects
echo 0 >$each/send_redirects
done五、检查一下 IPSec 能否正常工作:
sudo ipsec verify如果在结果中看到「Opportunistic Encryption Support」被禁用了,没关系,其他项 OK 即可。
六、重启 openswan:
sudo /etc/init.d/ipsec restart七、安装 L2TP。常用的 L2TP 后台软件包是 xl2tpd,它和 openswan 是同一帮人写的。
运行以下命令:
sudo aptitude install xl2tpd八、用文字编辑器打开 /etc/xl2tpd/xl2tpd.conf,改成这样:
[global]
ipsec saref = yes
[lns default]
ip range = 10.1.2.2-10.1.2.255
local ip = 10.1.2.1
require chap = yes
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes这里要注意的是 ip range 一项里的 IP 地址不能和你正在用的 IP 地址重合,也不可与网络上的其他 IP 地址冲突。
九、安装 ppp。这是用来管理 VPN 用户的。
sudo aptitude install ppp十、检查一下 /etc/ppp 目录里有没有 options.xl2tpd 这个文件,没有的话就建一个,文件内容如下:
require-mschap-v2
ms-dns 208.67.222.222
ms-dns 208.67.220.220
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4注意 ms-dns 两行我填的是 OpenDNS。如果你想用其他的 DNS 服务器(例如谷歌的公共 DNS),请自行更换。
十一、现在可以添加一个 VPN 用户了。用文字编辑器打开 /etc/ppp/chap-secrets:
# user server passwordip
testl2tpd testpassword*如果你之前设置过 PPTP VPN,chap-secrets 文件里可能已经有了其他用户的列表。你只要把 test l2tpd testpassword * 这样加到后面即可。
十二、重启 xl2tpd:
sudo /etc/init.d/xl2tpd restart十三、设置 iptables 的数据包转发:
iptables --table nat --append POSTROUTING --jump MASQUERADE
echo 1 >/proc/sys/net/ipv4/ip_forward十四、因为某种原因,openswan 在服务器重启后无法正常自动,所以我们可以在 /etc/rc.local 文件里写入如下语句:
iptables --table nat --append POSTROUTING --jump MASQUERADE
echo 1 >/proc/sys/net/ipv4/ip_forward
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 >$each/accept_redirects
echo 0 >$each/send_redirects
done
/etc/init.d/ipsec restart到这里,设置工作已经基本完成。你可以用 iPhone 或 iPad 试着连一下。记得在「Secret」中填入你在上述第三步里填的 YourSharedSecret。
如果连接成功,上网也没问题的话,恭喜你,大功告成。如果连不上,恐怕还得多做一步。
Ubuntu 9.10 自带的 openswan 版本是 2.6.22, Debian Lenny 带的版本是 2.4.12。这两个版本的 openswan 都有问题。我们的测试结果表明,2.6.24 版的 openswan 可以在上述两版的 Linux *** 作系统下正常工作。所以如果做完以上十四步还是连不上的话,请考虑从源码编译 openswan 2.6.24
Linux下如何进行FTP设置ECS Linux服务器如何配置网站以及绑定域名
Ubuntu安装vncserver实现图形化访问
阿里云Docker镜像库
ECS linux中添加ftp用户,并设置相应的权限
CentOS6.5安装vncserver实现图形化访问
Linux SCP命令复制传输文件的用法
Mysql,phpmyadmin密码忘了怎么办
Linux下l2tp客户端xl2tpd的安装配置
使用SFTP方式传输文件
ECS Linux系统盘网站数据更换至数据盘
WDCP的报错处理
Linux中PHP如何安装curl扩展方法
修改Linux服务器的ssh端口
ECS Linux配置vnc文档
运维分享--阿里云linux系统mysql密码修改脚本
20步打造最安全的Nginx Web服务器
SSH配置存在问题,导致登录和传输数据很慢
ECS Linux下如何查看定位当前正在运行的Nginx的配置文件
ECS 服务器CentOS系统如何开放端口
查看Linux下默认的DNS
FTP主动被动模式配置混乱导致无法登录
linux环境配置phpmyadmin
ECS Linux系统下VSFTP配置的FTP上传文件报错“553 Could not create file”
ECS Linux Mysql启动提示Too many arguments (first extra is 'start')
运维分享--阿里云linux系统ssh远程连接检查脚本
ECS Linux系统授权mysql外网访问
ECS Linux服务器nginx禁止空主机头配置
ECS Linux服务器通过FTP无法查看到.htaccess文件
ECS Linux服务器下Mysql自动备份脚本的使用方法
ECS-linux授权mysql外网访问
用date命令修改Linux系统的时间为什么无效
运维分享--阿里云linux系统web日志分析脚本
ECS Linux服务器messagebus默认关闭导致安装桌面环境后无法正常使用
ECS Nginx+php中php-fpm参数配置
运维分享--阿里云linux系统mysql连接检查脚本
iptables的conntrack表满了导致访问网站很慢
运维分享--阿里云linux系统带宽监测脚本
如何调整目录文件的拥有者和拥有组
yum *** 作报错处理
ECS Linux配置vsftpd限制FTP账户访问其它目录
vsftp报错:500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp
Linux主机系统目录误 *** 作权限修改为777修复方法
ECS Nginx中https的配置说明
运维分享--阿里云linux系统负载状态检查脚本
ECS Linux服务器AMH云主机面板启动、关闭 *** 作
ECS Linux服务器关闭磁盘自检
ECS Linux配置key认证登录后因为相关文件权限错误导致连接失败-Connection closed by foreign host
ECS Linux系统服务器解决ssh反向代理监听ip错误问题
ECS Linux设置定时任务crontab
ECS Gentoo系统中mirrorselect获取内容失败提示Name or service not known
ECS Linux系统服务器ping域名返回Unknown host报错
IIS、Nginx或Apache访问日志存在182.92.12.0/24段访问记录
Nginx日志的解释
ECS Linux系统wget下载文件
ECS Linux服务器内部无法解析域名
ECS路由表错误导致无法ping通
ECS Linux主机修改主机名
wordpress插件oss4wp url无法访问
ECS Linux 查看隐藏文件
Linux系统服务器解决vsftp服务使用root登录失败
ECS Linux PPTP客户端登陆后获取地址错误
Linux系统服务器解决内外双网卡均显示内网IP地址问题
ECS Linux系统NetworkManager导致网络异常
外部Ping ECS Linux丢包严重
ECS Linux检查Nginx配置文件
ECS Linux系统判断当前运行的Apache所使用的配置文件
Apache访问日志的说明
ECS Linux .htacess文件上传无法显示
linux服务器内无法访问其他站点的检查处理方法
ECS mysql无法启动报错Can't create/write to file '/tmp/ibfguTtC
ECS Liunx系统服务器执行ls查询命令提示bash: ls: command not found
Linux为何执行命令会执行历史命令
ECS Linux系统如何检查系统上一次重启的时间
ECS Linux下MySQL排查基本步骤
Linux系统如何查看mysql版本号
MySQL中查看慢SQL的日志文件方法
phpMyAdmin修改配置可以上传大文件
openSUSE下开机自动运行脚本命令的方法
给Linux系统添加一个回收站
ECS Linux分区异常无法挂载
ECS Linux上安装Cloudfs启动失败提示找不到库文件libunwind.so.8
ECS Linux清理/tmp目录下的文件原理
Liunx系统服务器通过prefork模块限制apache进程数量
ECS CentOS 6.5系统下Apache配置https服务
No input file specified的解决方法
Apache、Nginx支持跨域访问
Apache环境下配置404错误页方法
ECS Linux通过修改Apache配置301重定向的方法
ECS Linux主机无法互访处理
ECS linux服务器启用了TRACE Method. 怎么关闭
Apache运行参考的调整优化
ECS Apache 如何关闭目录访问
ECS 服务器隐藏apache版本信息
ECS Linux判断HTTP端口监听状态的方法
ECS Linux Apache限制客户端访问网站的速度
负载均衡+ECS站点虚拟子目录的设置案例
ECS网站访问504错误分析
为何Ubuntu开启UFW后,VPC下的SNAT转发就失效了
ECS Debian自定义镜像启动无法SSH
ECS Linux云服务器如何确认文件系统只读?
ECS Linux创建文件报错Read-only file system
恢复ext4文件系统中使用rm命令误删除的文件
ECS Linux 删除乱码文件的方法
net.ipv4.tcp_fin_timeout修改导致的TCP链接异常排查
ECS Linux 执行sh脚本提示No such file or directory
/var/log/message 日志报错
通过ssh tunnel连接内网ECS和RDS
CentOS 7中 MySQL 服务启动失败的解决思路
ECS Linux系统启动提示“Give root password for maintenance”
结束云盾客户端进程后如何启用
Ubuntu服务器中配置AWStats
CentOS 6非root用户使用sftp服务
ssh避免客户端长久未 *** 作导致连接中断
删除binglog导致mysql无法启动
ECS Linux服务器修改SSH端口号不生效的检查方法
ftp传输失败问题解决方法
ECS Linux下使用extundelete恢复被误删的文件
ECS Linux基于nginx环境通过.htaccess配置rewrite伪静态示例
ECS Linux系统利用openssl生成强密码
ECS CentOS6配置PPTP VPN
Last命令关于reboot记录的含义
Ubuntu修改运行级别的总结
ECS CentOS6系统PPTP VPN脚本
ECS Linux系统如何配置gentoo的源
ECS CentOS系统配置VPN客户端
多域名跳转——不同域名指向不同子目录
Centos配置PPTP VPN后无法打开网页
mysql不能远程连接
ECS Linux系统修改文件或目录权限方法
ECS WDCP破解mysql以及wdcp后台管理密码
ECS Linux系统如何设置SSH白名单
Ecs Linux系统一键安装web环境<专业版>下tomcat添加站点方法
Centos 7 安装vnc
Setuptools软件包版本太老导致ECS Linux安装AliyunCLI出错
Apache配置二级域名
ECS linux重启丢失分区表
Linux系统服务器安装使用sar工具获取系统运行状态方式
ECS Ubuntu开启sftp连接
linux系统mysql跳过密码登陆 *** 作登陆设置
mysql报错Lost connection to MySQL server at 'reading initial communication packet'
Ubuntu apt-get 安装提error processing package install-info (--configure)
Nodejs的版本升级和使用
Nodejs 连接RDS MySQL数据库
ECS 公共镜像Ubuntu,Centos的内核版本查看方法
ECS Linux服务器修改时区
Apache禁止未经许可的域名访问ECS上的网站
ECS Linux如何隐藏文件和文件夹
ECS mysql.sock丢失问题解决方法
ECS Linux云服务器centos将系统时区从UTC时间改为CST
ECS Linux云服务器权限问题说明
ECS Linux系统盘数据转移方法
Linux下忘记mysql的root密码
ECS MySQL编译安装支持innodb引擎
ECS Linux NAT哈希表满导致服务器丢包
ECS Linux服务器重启后mount出错的解决方法
Centos6.5添加IPv6支持
ECS ubuntu系统修改DNS /etc/resolv.conf无法保存
ECS Linux如何增加虚拟内存swap
ECS Linux traceroute使用方法
ECS Linux系统磁盘再次挂载报错没有有效的分区表
如何删除yum的缓存信息
ECS Linux服务器yum的查询功能
centos6怎么使用RPMForge软件源仓库
ECS Linux服务器Nginx rewrite示例
ECS Linux CentOS 6 ssh连上就断掉并报错“fatal: mm_request_send: write: Broken pipe”
mysql上传报错#1064 - You have an error in your SQL syntax
Ecs Linux中rpm安装文件命令常用选项
ECS Linux系统kjournald进程占用io资源高的解决方法
ECS Linux如果通过i节点删除无法删除的文件
ECS Linux基于zabbix搭建企业级监控平台
ECS Linux系统yum卸载重装
ECS CentOS 6.5 OpenVPN配置
ECS Linux使用SFTP登陆时报错:Received unexpected end-of-file from SFTP server
ECS Linux如何增加数据盘iNode数量
ECS Linux查看目录没有颜色
ECS Linux系统tmp目录的安全设置
ECS Linux下shm设备的安全设定
ECS CentOS多线程下载工具Axel使用说明
ECS Linux curl使用证书访问HTTPS站点
Linux系统中vsftp用户无法登陆的相关说明
Nginx配置文件中rewrite指令标志位的说明与使用
ECS Linux中ss命令显示连接状态的使用说明
ECS Linux系统没有程序运行通过top观察发现cpu很空闲
Linux下的文件权限检查和修改
ECS Linux云服务器利用chatter命令锁定系统重要文件
ECS Centos7安装OpenVPN
ECS上搭建反向代理通过内网访问OSS服务
ECS Linux下的script命令记录用户 *** 作行为
Ubuntu下使用slay命令结束某个用户的所有进程
Nginx配置文件中root与alias指令的区别
Nginx配置文件中rewrite指令的使用
ECS Linux如何修改PATH变量
Centos安装桌面后在远程终端管理里面无法使用键盘和鼠标
ECS Linux下Apache忽略网站URL的大小写的方法
ECS Linux服务器利用Nethogs监控每个进程的网络使用情况
ECS apt-get安装软件或更新时提示apt-get 的 Segmentation faultsts
ubuntu开机出现memtest86,重启也无法取消的原因
Linux下History命令显示 *** 作时间,用户和登录IP
ECS Linux服务器使用htop监控负载
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)