局域网 (LAN):客户端/服务器和对等网络
广域网 (WAN):路由器到路由器和网关到网关
远程访问:拨号客户机和从专用网络访问 Internet
通常,两端都需要 IPSec 配置(称为 IPSec 策略)来设置选项与安全设置,以允许两个系统对如何保护它们之间的通讯达成协议。Microsoft® Windows® 2000、Windows XP 和 Windows Server 2003 家族实施 IPSec 是基于“Internet 工程任务组 (IETF)”IPSec 工作组开发的业界标准。IPSec 相关服务部分是由 Microsoft 与 Cisco Systems, Inc 共同开发的。
IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议 Authentication Header(AH)、封装安全载荷协议Encapsulating Security Payload(ESP)、密钥管理协议Internet Key Exchange (IKE)和用于网络认证及加密的一些算法等。IPSec 规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。首先解释一个问题:在 iPhone 的 设置介面里(Settings >> General >> Network >> ),你可以看到三个标签:L2TP, PPTP, IPSec。但上面我们又讲本次介绍的 方式叫「L2TP / IPSec」,这两者究竟是什么关系?
这三个标签确实令人混淆,准确的写法应该是:L2TP over IPSec, PPTP, Cisco IPSec。PPTP 跟另外两者关系不大,且大家较为熟悉,暂且不提,L2TP 和 IPSec 的区别如下。
L2TP:一个「包装」协议,本身并不提供加密和验证的功能。
IPSec:在 IP 数据包的层级提供加密和验证功能,确保中间人无法解密或者伪造数据包。
本来,只用 IPSec 就可以实现 ,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 的 用的也是 IPSec 加密,但那是一套不同于 L2TP 的私有包装协议,用于提供用户管理之类的功能,因此一般都需要用 Cisco 自家的 客户端连接。iPhone / iPad 的 设置介面中的 IPSec 标签里有 Cisco 的标识,就是这个原因。
以下是在 Ubuntu 和 Debian 主机上架设 L2TP / IPSec 的步骤,一共十四步。你需要有服务器的 root 权限(所以 DreamHost, BlueHost, MediaTemple 这些服务供应商帮你把一切打点周到的主机就无缘了),也需要一些基本的 Linux 知识。不然的话,我们还是推荐您找一位比较熟技术的朋友帮忙。
一、安装 IPSec。如上所述,IPSec 会对 IP 数据包进行加密和验证。这意味着你的电脑 / 移动设备与服务器之间传输的数据无法被解密、也不能被伪造。我推荐用 openswan 这个后台软件包来跑 IPSec。
用以下命令安装 openswan:
sudo aptitude install openswan二、用文字编辑器打开 /etc/ipsecconf,改成这样:
version 20
config setup
nat_traversal=yes
virtual_private=%v4:10000/8,%v4:19216800/16,%v4:1721600/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=YOURSERVERIPADDRESS
leftprotoport=17/1701
right=%any
rightprotoport=17/%any三、用文字编辑器打开 /etc/ipsecsecrets,改成这样:
YOURSERVERIPADDRESS %any: PSK "YourSharedSecret"(别忘了把「YOURSERVERIPADDRESS」这部分换成你的服务器的 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/initd/ipsec restart七、安装 L2TP。常用的 L2TP 后台软件包是 xl2tpd,它和 openswan 是同一帮人写的。
运行以下命令:
sudo aptitude install xl2tpd八、用文字编辑器打开 /etc/xl2tpd/xl2tpdconf,改成这样:
[global]
ipsec saref = yes
[lns default]
ip range = 10122-1012255
local ip = 10121
;require chap = yes
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/optionsxl2tpd
length bit = yes这里要注意的是 ip range 一项里的 IP 地址不能和你正在用的 IP 地址重合,也不可与网络上的其他 IP 地址冲突。
九、安装 ppp。这是用来管理 用户的。
sudo aptitude install ppp十、检查一下 /etc/ppp 目录里有没有 optionsxl2tpd 这个文件,没有的话就建一个,文件内容如下:
require-mschap-v2
ms-dns 20867222222
ms-dns 20867220220
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),请自行更换。
十一、现在可以添加一个 用户了。用文字编辑器打开 /etc/ppp/chap-secrets:
# user server password ip
test l2tpd testpassword 如果你之前设置过 PPTP ,chap-secrets 文件里可能已经有了其他用户的列表。你只要把 test l2tpd testpassword 这样加到后面即可。
十二、重启 xl2tpd:
sudo /etc/initd/xl2tpd restart十三、设置 iptables 的数据包转发:
iptables --table nat --append POSTROUTING --jump MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward十四、因为某种原因,openswan 在服务器重启后无法正常自动,所以我们可以在 /etc/rclocal 文件里写入如下语句:
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/initd/ipsec restart到这里,设置工作已经基本完成。你可以用 iPhone 或 iPad 试着连一下。记得在「Secret」中填入你在上述第三步里填的 YourSharedSecret。
如果连接成功,上网也没问题的话,恭喜你,大功告成。如果连不上,恐怕还得多做一步。
Ubuntu 910 自带的 openswan 版本是 2622, Debian Lenny 带的版本是 2412。这两个版本的 openswan 都有问题。我们的测试结果表明,2624 版的 openswan 可以在上述两版的 Linux *** 作系统下正常工作。所以如果做完以上十四步还是连不上的话,请考虑从源码编译 openswan 2624
使用strongswan搭建属于你自己的私有IPsec (IKEv1 & IKEv2)
一、 环境和前期准备工作
1 环境
2 配置环境
<br />
二、 搭建步骤
注意事项: 安装后一定要做软连接,并且清楚自己的虚拟化方案是哪个,加入正确的配置,否者会照成无法上网
注意事项 : 服务器这边的CN一定是你网卡的ip,或者你网卡ip对应的域名,--san 设置设置别名,建议设置两个或者两个以上,分别为你的域名和网卡ip;–flag serverAuth 表示证书使用用途,不加windows 7会报错,非 iOS 的 Mac OS X 要求了“IP 安全网络密钥互换居间(IP Security IKE Intermediate)”这种增强型密钥用法(EKU),–flag ikdeIntermediate;
vim /usr/local/strongswan/etc/ipsecconf
vim /usr/local/strongswan/etc/strongswanconf
2编辑 /etc/systclconf
3开启 firewall的转发功能
三、 各种终端测试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)