导航:首页 > 操作系统 > linuxl2tpipsec

linuxl2tpipsec

发布时间:2023-02-16 06:54:34

⑴ 如何在 Debian / Ubuntu 服务器上架设 L2TP / IPSec VPN

L2TP:一个“包装”协议,本身并不提供加密和验证的功能。 IPSec:在 IP 数据包的层级提供加密和验证功能,确保中间人无法解密或者伪造数据包。 本来,只用 IPSec 就可以实现 VPN,Mac OS X 和 linux 都支持。

⑵ 群晖NAS安装VPN Server 套件三种服务协议设定

我们在群晖nas里安装VPN Server 套件可以把我们的群晖nas变成一个VPN服务器,我们可以安全的在远端存取Synology NAS 局域网内分享的资源,群晖的VPN server整合了常用的通讯协定:  PPTP、OpenVPN 、 L2TP/IPSec,当我们启用了nas的vpn服务,会影响系统的网络性能。

我们先来了解一下三种协议:

PPTP

PPTP (Point-to-Point Tunneling Protocol,点对点信道协议) 是常用的 VPN 解决方案,且大多数的客户端 (包含 Windows、Mac、Linux 及行动装置) 皆支持。

若要启动 PPTP VPN 服务器:

1、开启 VPN Server 并前往左侧面板的 PPTP。

2、勾选启动 PPTP VPN 服务器。

3、在动态 IP 地址字段输入 VPN 服务器的虚拟 IP 地址。请参阅下方的关于动态 IP 地址来了解更多信息。

4、设定最大联机数量来限制 VPN 联机的共同联机数量。

5、设定同一账号最多联机数量来限制使用同一个账号所进行 VPN 联机的共同联机数量。

6、从认证下拉式选单中选择下列任一项目来认证 VPN 客户端:

PAP:认证过程中,将不加密 VPN 客户端的密码。

MS-CHAP v2:认证过程中,将使用 Microsoft CHAP version 2 加密 VPN 客户端的密码。

7、若您选择 MS-CHAP v2 验证,请从加密下拉式选单中选择下列任一项目来加密 VPN 联机:

No MPPE:VPN 联机不会受到加密机制保护。

Optional MPPE:客户端设定将决定 VPN 联机会 / 不会受到 40-bit 或 128-bit 加密机制保护。

Require MPPE:客户端设定将决定 VPN 联机会受到 40-bit 或 128-bit 加密机制保护。

8、设定 MTU (最大传输单元) 来限制 VPN 网络传输的数据封包大小。

9、勾选手动设定 DNS 并指派 DNS 服务器的 IP 地址来发送给 PPTP 客户端。若停用此选项,则会将 Synology NAS 目前所使用的 DNS 服务器发送给客户端。

10、单击套用来让变更生效。

注意:

联机至 VPN 时,VPN 客户端的验证及加密设定必须与 VPN Server 上的相同,否则客户端将无法成功联机。

为兼容于运行在 Windows、Mac OS、iOS 与 Android 系统的大部分 PPTP 客户端,预设的 MTU 值为 1400。若您的网络环境较为复杂,可能需要设定一个较小的 MTU 值。若您经常收到逾时讯息或联机不稳定,请降低 MTU 值。

请检查 Synology NAS 与路由器上的端口转送规则与防火墙设定,确认 TCP 1723 端口已开启。

部分路由器内建 PPTP VPN 服务,因此可能已占用 1723 端口。您需先透过路由器的管理接口关闭其内建的 PPTP VPN 服务,才能确保 VPN Server 上的 PPTP VPN 服务可以正常运作。此外,部分旧式路由器可能会封锁 GRE 协议 (IP 协议 47),造成 VPN 联机失败;建议使用支持 VPN pass-through 联机的路由器。

OpenVPN

OpenVPN 是开放原始码的 VPN 服务解决方案,会以 SSL / TLS 加密机制保护 VPN 联机。

若要启动 OpenVPN VPN 服务器:

1、开启 VPN Server,前往左侧面板的 OpenVPN。

2、勾选启动 OpenVPN 服务器。

3、在动态 IP 地址字段输入 VPN 服务器的虚拟内部 IP 地址。请参阅下方的关于动态 IP 地址来了解更多信息。

4、设定最大联机数量来限制 VPN 联机的共同联机数量。

5、设定同一账号最多联机数量来限制使用同一个账号进行 VPN 联机的共同联机数量。

6、为 OpenVPN 数据传输设定端口与通讯协议。您可以决定要将何种协议的数据封包透过 VPN 转送至 Synology NAS 的哪个端口。默认值为 UDP 端口 1194

注意: 为确保 Synology NAS 上的服务可以正常运作,请避免将同样的一组端口与通讯协议指派给其他 Synology 服务。请参阅此篇应用教学以了解更多信息。

7、在加密下拉式选单中择一,以加密 VPN 信道中的数据封包。

8、在验证下拉式选单中择一,以验证 VPN 客户端。

9、若要在传输数据时压缩数据,请勾选启动 VPN 压缩联机。此选项可提升传输速度,但可能会消耗较多系统资源。

10、勾选允许客户端存取服务器的局域网络来让客户端存取服务器的局域网络。

11、勾选启动 IPv6 服务器模式来启动 OpenVPN 服务器,以传送 IPv6 地址。您必须先在控制面板 > 网络 > 网络接口中,透过 6in4/6to4/DHCP-PD 取得 Prefix,并在此页面中选择该 Prefix。

12、单击套用来让变更生效。

注意:

VPN Server 不支持站台对站台的桥接模式。

请检查 Synology NAS 与路由器上的端口转送规则与防火墙设定,确认 UDP 1194 端口已开启。

在 Windows Vista 或 Windows 7 上执行 OpenVPN GUI 时,请注意,UAC (用户帐户控制) 预设为开启。此设定开启时,需使用以系统管理员身份执行选项来透过 OpenVPN GUI 进行联机。

在 Windows 上透过 OpenVPN GUI 启动 IPv6 服务器模式时,请注意以下事项:

VPN 所使用的接口名称不可包含空格,例如:LAN 1 须变更为 LAN1。

重新导向网关 (redirect-gateway) 选项须由客户端于 openvpn.ovpn 档案中设定。若您不想设定此选项,应手动设定 VPN 接口的 DNS。您可以使用 Google IPv6 DNS:2001:4860:4860::8888。

若要汇出配置文件:

单击汇出配置文件。OpenVPN 让 VPN 服务器可颁发证书供客户端使用。所汇出的档案为 zip 压缩文件,其中包含 ca.crt (VPN 服务器的凭证档案)、openvpn.ovpn (客户端使用的配置文件案),以及 README.txt (客户端如何设定 OpenVPN 联机的简易说明)。

注意:

每次启动 VPN Server 时,便会自动复制、使用显示于控制面板 > 安全性 > 凭证之凭证。若您需使用第三方凭证,请到控制台 > 安全性 > 凭证 > 新增来汇入凭证,并重新启动 VPN Server。

每次修改凭证文件 (显示于控制面板 > 安全性 > 凭证) 后,VPN Server 将会自动重新启动。

L2TP/IPSec

L2TP (Layer 2 Tunneling Protocol) over IPSec 提供更安全的虚拟私有网络,且大多数的客户端 (如 Windows、Mac、Linux 及行动装置) 皆支持。

若要启动 L2TP/IPSec VPN 服务器:

1、开启 VPN Server 并前往左侧面板的 L2TP/IPSec。

2、勾选启动 L2TP/IPSec VPN 服务器。

3、在动态 IP 地址字段输入 VPN 服务器的虚拟 IP 地址。请参阅下方的关于动态 IP 地址来了解更多信息。

4、设定最大联机数量来限制 VPN 联机的共同联机数量。

5、设定同一账号最多联机数量来限制使用同一个账号进行 VPN 联机的共同联机数量。

6、从认证下拉式选单中选择下列任一项目来认证 VPN 客户端:

PAP:认证过程中,将不加密 VPN 客户端的密码。

MS-CHAP v2:认证过程中,将使用 Microsoft CHAP version 2 加密 VPN 客户端的密码。

7、设定 MTU (最大传输单元) 来限制 VPN 网络传输的数据封包大小。

8、勾选手动设定 DNS 并指派 DNS 服务器的 IP 地址来发送给 L2TP/IPSec 客户端。若停用此选项,则会将 Synology NAS 目前所使用的 DNS 服务器发送给客户端。

9、若要发挥 VPN 最大效能,选取执行核心 (kernel) 模式。

10、输入并确认预先共享密钥。您应将此密钥提供给 L2TP/IPSec VPN 使用者以验证联机。

11、勾选启动 SHA2-256 兼容模式 (96 bit),以让特定客户端 (非 RFC 标准) 可以使用 L2TP/IPSec 联机。

12、单击套用来让变更生效。

注意:

联机至 VPN 时,VPN 客户端的验证及加密设定必须与 VPN Server 上的设定相同,否则客户端将无法成功进行联机。

为兼容于运行在 Windows、Mac OS、iOS 与 Android 系统的大部分 L2TP/IPSec 客户端,预设的 MTU 值为 1400。若您的网络环境较为复杂,可能需要设定一个较小的 MTU 值。若您经常收到逾时讯息或联机不稳定,请降低 MTU 值。

请检查 Synology NAS 与路由器上的端口转送规则与防火墙设定,以确认 UDP 1701、500、4500 端口已开启。

部分路由器内建 L2TP 或 IPSec VPN 服务,因此可能已占用 1701、500 或 4500 端口。您需先透过路由器的管理接口关闭其内建的 L2TP 或 IPsec VPN 服务,才能确保 VPN Server 上的 L2TP/IPsec VPN 服务可以正常运作。建议使用支持 VPN pass-through 联机的路由器。

关于动态 IP 地址

VPN Server 会依据您在动态 IP 地址中输入的数字,从虚拟 IP 地址范围中选择一个 IP 地址来分配给 VPN 客户端使用。例如:若 VPN 服务器的动态 IP 地址设定为“10.0.0.0”,则 PPTP VPN 客户端的虚拟 IP 地址范围为“10.0.0.1”至“10.0.0.[最大联机数量]”;OpenVPN 客户端的虚拟 IP 地址范围则为“10.0.0.2”至“10.0.0.255”。

重要事项: 指定 VPN 服务器的动态 IP 地址之前,请注意:

1、VPN 服务器可使用的动态 IP 地址必须为下列其一:

从“10.0.0.0”至“10.255.255.0”

从“172.16.0.0”至“172.31.255.0”

从“192.168.0.0”至“192.168.255.0”

2、您指定的 VPN 服务器动态 IP 地址以及指派给 VPN 客户端的虚拟 IP 地址,皆不能与局域网络中任一已使用的 IP 地址冲突。

关于客户端进行 VPN 联机时使用的网关设定

使用 VPN 联机至 Synology NAS 的局域网络之,客户端可能需要为 VPN 联机变更网关设定;否则,在 VPN 联机建立之后,它们可能会无法联机至因特网。

⑶ 防火墙技术有哪些

从实现原理上分,防火墙的技术包括四大类:网络级防火墙、应用级网关、电路级网关和规则检查防火墙。

1、网络级防火墙

一般是基于源地址和目的地址、应用、协议以及每个IP包的端口来作出通过与否的判断。防火墙检查每一条规则直至发现包中的信息与某规则相符。

如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。通过定义基于TCP或UDP数据包的端口号,防火墙能够判断是否允许建立特定的连接,如Telnet、FTP连接。

2、应用级网关

应用级网关能够检查进出的数据包,通过网关复制传递数据,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,并做精细的注册和稽核。

它针对特别的网络应用服务协议即数据过滤协议,并且能够对数据包分析并形成相关的报告。应用网关对某些易于登录和控制所有输出输入的通信的环境给予严格的控制,以防有价值的程序和数据被窃取。

3、电路级网关

电路级网关用来监控受信任的客户或服务器与不受信任的主机间的TCP握手信息,这样来决定该会话是否合法,电路级网关是在OSI模型中会话层上来过滤数据包,这样比包过滤防火墙要高二层。

电路级网关代理服务器功能,代理服务器是设置在Internet防火墙网关的专用应用级代码。这种代理服务准许网管员允许或拒绝特定的应用程序或一个应用的特定功能。包过滤技术和应用网关是通过特定的逻辑判断来决定是否允许特定的数据包通过,成功地实现了防火墙内外计算机系统的隔离。

4、规则检查防火墙

该防火墙结合了包过滤防火墙、电路级网关和应用级网关的特点。能够在OSI网络层上通过IP地址和端口号,过滤进出的数据包,也能够检查SYN和ACK标记和序列数字是否逻辑有序。当然它也象应用级网关一样,可以在OSI应用层上检查数据包的内容,查看这些内容是否能符合企业网络的安全规则。

规则检查防火墙虽然集成前三者的特点,但是不同于一个应用级网关的是,它并不打破客户机/服务器模式来分析应用层的数据,它允许受信任的客户机和不受信任的主机建立直接连接。规则检查防火墙不依靠与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据。

(3)linuxl2tpipsec扩展阅读

应用防火墙技术考虑以下方面:

1、防火墙是不能防病毒的。

2、防火墙技术的另外一个弱点在于数据在防火墙之间的更新是一个难题,如果延迟太大将无法支持实时服务请求。

防火墙采用滤波技术,滤波通常使网络的性能降低50%以上,如果为了改善网络性能而购置高速路由器,又会大大提高经济预算。

防火墙是企业网安全问题的常用方案,即把公共数据和服务置于防火墙外,使其对防火墙内部资源的访问受到限制。作为一种网络安全技术,防火墙具有简单实用的特点,并且透明度高,可以在不修改原有网络应用系统的情况下达到一定的安全要求。

⑷ 如何在Ubuntu下配置L2TP VPN

安装软件包
sudo apt-get install xl2tpd openswan ppp
IPSec / Openswan
打开 /etc/ipsec.conf 文件,做如下配置:
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,%v4:!10.152.2.0/24
# 这里包含的网络地址允许配置为远程客户端所在的子网。换句话说,
# 这些地址范围应该是你的NAT路由器后面的客户端的地址。
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
# Apple 的 iOS 不会发送 delete 提醒,
# 所以我们需要通过死亡对端(dead peer)检测来识别断掉的客户端
dpddelay=30
dpdtimeout=120
dpdaction=clear
# 设置 ikelifetime 和 keylife 和 Windows 的默认设置一致
ikelifetime=8h
keylife=1h
type=transport
# 替换 IP 地址为你的本地IP (一般是,私有地址、NAT内的地址)
left=x.x.x.x
# 用于升级过的 Windows 2000/XP 客户端
leftprotoport=17/1701
# 要支持老的客户端,需要设置 leftprotoport=17/%any
right=%any
rightprotoport=17/%any
# 强制所有连接都NAT,因为 iOS
forceencaps=yes
注意你的ipsec.conf文件,"config setup" 和 "L2TP-PSK-NAT"、 "L2TP-PSK-NAT"应该顶着行头写,而其它行应该以8个空格缩进。
打开 /etc/ipsec.secrets,配置:
x.x.x.x %any: PSK "somegoodpassword"
这里x.x.x.x 替换为你的服务器的IP地址,并设置一个复杂的密码。
启动 IPSEC 服务:
/etc/init.d/ipsec start
使用如下命令确认 ipsec 是否工作正常:
sudo ipsec verify
应该没有任何错误才行:
Checking your system to see ifIPsec got installed and started correctly:
Version check and ipsec on-path [OK]
LinuxOpenswan U2.6.28/K2.6.32-32-generic-pae (netkey)
CheckingforIPsec support in kernel [OK]
NETKEY detected, testing for disabled ICMP send_redirects [OK]
NETKEY detected, testing for disabled ICMP accept_redirects [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500[OK]
Pluto listening for NAT-T on udp 4500[OK]
Checkingfor'ip' command [OK]
Checkingfor'iptables' command [OK]
[DISABLED]
在 /etc/init.d 下创建一个名为 ipsec.vpn 的文件,内容如下:
case"$1"in
start)
echo "Starting my Ipsec VPN"
iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24-j 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 start
/etc/init.d/xl2tpd start
;;
stop)
echo "Stopping my Ipsec VPN"
iptables --table nat --flush
echo 0 > /proc/sys/net/ipv4/ip_forward
/etc/init.d/ipsec stop
/etc/init.d/xl2tpd stop
;;
restart)
echo "Restarting my Ipsec VPN"
iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24 -j 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
/etc/init.d/xl2tpd restart
;;
*)
echo "Usage: /etc/init.d/ipsec.vpn {start|stop|restart}"
exit 1
;;
esac
这会配置防火墙转发。记得修改上面文件的本地IP地址池10.152.2.0/24为你自己的。
然后给这个文件设置可执行权限:
sudo chmod 755 ipsec.vpn
禁止默认的 ipsec 服务脚本运行:
sudo update-rc.d -f ipsec remove
然后,启用我们刚才定制的这个:
sudo update-rc.d ipsec.vpn defaults
L2TP
修改 /etc/xl2tpd/xl2tpd.conf :
[global]
ipsec saref =no
[lns default]
ip range =10.152.2.2-10.152.2.254
local ip =10.152.2.1
require chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile =/etc/ppp/options.xl2tpd
length bit = yes
配置说明如下:
ip range = 可以连接VPN服务的客户端IP地址范围
local ip = VPN 服务器的IP,必须在客户端IP范围之外
refuse pap = 拒绝 pap 认证
ppp debug = 测试时打开
选择一个复杂的挑战-响应式验证字符串。虽然没有最短长度限制,不过它应该至少有16个字符,也应该足够复杂才能保证安全。
打开文件 /etc/xl2tpd/l2tp-secrets ,填入你的密码:
** exampleforchallengestring
打开文件 /etc/ppp/options.xl2tpd,做如下配置:

refuse-mschap-v2
refuse-mschap
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
idle 1800
mtu 1200
mru 1200
lock
hide-password
local
#debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
ms-dns 选项设置要给客户端分配的 DNS 服务器,当客户端连接时,就会被分配这些 DNS。如果要加入多个 DNS,就每行一个,分别写几行。
如果你要给客户端推送wins设置,可以分别设置如下选项。
mtu 和 mru 按照openswan.org的说法,减小 mru/mtu 的大小非常重要。因为 l2tp/ipsec 会封装几次,可能导致性能下降,减小这个配置的大小可以一次性传输全部的包。
proxyarp 可以将连接的客户端的IP地址和以太网地址加入的系统的ARP表中。这会影响到本地局域网内其它客户端。
name l2tpd 用在 PPP验证文件里面。
添加用户
打开文件 /etc/ppp/chap-secrets ,做如下配置:
user1 l2tpd chooseagoodpassword *
user2 * chooseagoodpassword *
每行包括如下字段:
客户端 = 用户名称
服务器 = 在上面的 /etc/ppp/options.xl2tpd 定义的名字
密码 = 用户密码,你应该设置一个足够复杂的密码
IP 地址 = * 表示用户可以从任何地址连接,否则设置用户只能从特定的地址连接
注意:你可以添加多个用户。
IP转发
打开文件 /etc/sysctl.conf,修改配置:
net.ipv4.ip_forward=1
载入新的配置:
sysctl -p
启动VPN
sudo /etc/init.d/ipsec.vpn restart
sudo /etc/init.d/xl2tpd restart
排除故障
如果遇到了问题,以下命令可以帮助你找到问题:
sudo tcpmp -i ppp0
sudo tail -f /var/log/auth.log
sudo tail -f /var/log/syslog
你可以可以在服务器上使用如下命令来监控:
sudo tcpmp -i eth0 host aaa.bbb.ccc.ddd andnot port ssh
这里aaa.bbb.ccc.ddd 是你的客户端的公网地址。

⑸ VPN相关技术

当您通过Internet使用VPN时,它会在两个设备/网络之间创建专用且加密的隧道。现在作为VPN,你很难对数据进行窃听,即使它被侵入,因为这是数据被加密,从这个加密数据中获取任何信息几乎是不可能的。有几种VPN隧道协议,如PPTP(点对点隧道协议),L2TP(第二层隧道协议),IPSec(Internet协议安全),SSL(安全套接字层)等,用于创建VPN隧道。

IPSec实现

工作于TCP/IP第三层IP层上网络数据安全地一整套体系结构;包括网络认证协议AH(Authentication Header,认证头)、ESP(Encapsulating Security Payload,封装安全载荷)、IKE(Internet Key Exchange,因特网密钥交换又称isakmp)和用于网络认证及加密的一些算法等。其中,AH协议和ESP协议用于提供安全服务,IKE协议用于密钥交换。

整个IPSec VPN地实现基本简化为两个SA协商完成

SA(security association):是两个通信实体经协商建立起来地一种协议,它们决定了用来保护数据包安全地IPsec协议,转码方式,密钥,以及密钥地有效存在时间等等

IKE(isakmp)SA: 协商对IKE数据流进行加密以及对对等体进行验证地算法(对密钥地加密和peer地认证) 对等体之间只能存在一个

第一阶段:建立ISAKMPSA协商的是以下信息:

1、对等体之间采用何种方式做认证,是预共享密钥还是数字证书。

2、双方使用哪种加密算法(DES、3DES)

3、双方使用哪种HMAC方式,是MD5还是SHA

4、双方使用哪种Diffie-Hellman密钥组

5、使用哪种协商模式(主模式或主动模式)

6、协商SA的生存期

IPSec SA: 协商对对等体之间地IP数据流进行加密地算法  对等体之间可以存在多个

第二阶段:建立IPsecSA协商的是以下信息:

1、双方使用哪种封装技术,AH还是ESP

2、双方使用哪种加密算法

3、双方使用哪种HMAC方式,是MD5还是SHA

4、使用哪种传输模式,是隧道模式还是传输模式

5、协商SA的生存期

名词解释:

AH协议(IP协议号为51): 提供数据源认证、数据完整性校验和防报文重放功能,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。AH的工作原理是在每一个数据包上添加一个身份验证报文头,此报文头插在标准IP包头后面,对数据提供完整性保护。可选择的认证算法有MD5(Message Digest)、SHA-1(Secure Hash Algorithm)等。

ESP协议(IP协议号为50): 提供加密、数据源认证、数据完整性校验和防报文重放功能。ESP的工作原理是在每一个数据包的标准IP包头后面添加一个ESP报文头,并在数据包后面追加一个ESP尾。与AH协议不同的是,ESP将需要保护的用户数据进行加密后再封装到IP包中,以保证数据的机密性。常见的加密算法有DES、3DES、AES等。同时,作为可选项,用户可以选择MD5、SHA-1算法保证报文的完整性和真实性。

IPSec有两种工作模式:

隧道(tunnel)模式: 用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常,隧道模式应用在两个安全网关之间的通讯。

传输(transport)模式: 只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,传输模式应用在两台主机之间的通讯,或一台主机和一个安全网关之间的通讯。

1. 数据认证

数据认证有如下两方面的概念:

身份认证:身份认证确认通信双方的身份。支持两种认证方法:预共享密钥(pre-shared-key)认证和基于PKI的数字签名(rsa-signature)认证。

身份保护:身份数据在密钥产生之后加密传送,实现了对身份数据的保护。

2. DH

DH(Diffie-Hellman,交换及密钥分发)算法是一种公共密钥算法。通信双方在不传输密钥的情况下通过交换一些数据,计算出共享的密钥。即使第三者(如黑客)截获了双方用于计算密钥的所有交换数据,由于其复杂度很高,不足以计算出真正的密钥。所以,DH交换技术可以保证双方能够安全地获得公有信息。

3. PFS

PFS(Perfect Forward Secrecy,完善的前向安全性)特性是一种安全特性,指一个密钥被破解,并不影响其他密钥的安全性,因为这些密钥间没有派生关系。对于IPsec,是通过在IKE阶段2协商中增加一次密钥交换来实现的。PFS特性是由DH算法保障的。

IKE的交换过程

IKE使用了两个阶段为IPsec进行密钥协商并建立SA:

第一阶段,通信各方彼此间建立了一个已通过身份认证和安全保护的通道,即建立一个ISAKMP SA。第一阶段有主模式(Main Mode)和野蛮模式(Aggressive Mode)两种IKE交换方法。

第二阶段,用在第一阶段建立的安全隧道为IPsec协商安全服务,即为IPsec协商具体的SA,建立用于最终的IP数据安全传输的IPsec SA。

如图2-1所示,第一阶段主模式的IKE协商过程中包含三对消息:

l 第一对叫SA交换,是协商确认有关安全策略的过程;

l 第二对消息叫密钥交换,交换Diffie-Hellman公共值和辅助数据(如:随机数),密钥材料在这个阶段产生;

l 最后一对消息是ID信息和认证数据交换,进行身份认证和对整个第一阶段交换内容的认证。

野蛮模式交换与主模式交换的主要差别在于,野蛮模式不提供身份保护,只交换3条消息。在对身份保护要求不高的场合,使用交换报文较少的野蛮模式可以提高协商的速度;在对身份保护要求较高的场合,则应该使用主模式。

IKE在IPsec中的作用

l 因为有了IKE,IPsec很多参数(如:密钥)都可以自动建立,降低了手工配置的复杂度。

l IKE协议中的DH交换过程,每次的计算和产生的结果都是不相关的。每次SA的建立都运行DH交换过程,保证了每个SA所使用的密钥互不相关。

l IPsec使用AH或ESP报文头中的序列号实现防重放。此序列号是一个32比特的值,此数溢出后,为实现防重放,SA需要重新建立,这个过程需要IKE协议的配合。

l 对安全通信的各方身份的认证和管理,将影响到IPsec的部署。IPsec的大规模使用,必须有CA(Certificate Authority,认证中心)或其他集中管理身份数据的机构的参与。

l IKE提供端与端之间动态认证。

IPsec与IKE的关系

图 5 IPsec与IKE的关系图

从图2-2中我们可以看出IKE和IPsec的关系:

l IKE是UDP之上的一个应用层协议,是IPsec的信令协议;

l IKE为IPsec协商建立SA,并把建立的参数及生成的密钥交给IPsec;

l IPsec使用IKE建立的SA对IP报文加密或认证处理。

SSL VPN简介

SSL VPN是以SSL协议为安全基础的VPN远程接入技术,移动办公人员(在SSL VPN中被称为远程用户)使用SSL VPN可以安全、方便的接入企业内网,访问企业内网资源,提高工作效率。

SSL VPN技术优势:

无客户端的便捷部署

应用层接入的安全保护

企业延伸的效率提升

SSL协议从身份认证、机密性、完整性三个方面确保了数据通信的安全 。

SSL VPN实现私密性 完整性 不可否认 源认证

SSL VPN的特点:

采用B/S架构,远程用户无需安装额外软件,可直接使用浏览器访问内网资源。

SSL VPN可根据远程用户访问内网资源的不同,对其访问权限进行高细粒度控制。

提供了本地认证、服务器认证、认证匿名和证书挑战多种身份认证方式,提高身份认证的灵活性。

可以使用主机检查策略。

缓存清理策略用于清理远程用户访问内网过程中在终端上留下的访问哼唧,加固用户的信息安全。

PN类型详解 PPTP VPN

PPTP:点对点隧道协议,一种支持多协议虚拟专用网络(VPN)的网络技术,工作在第二层数据链路层。以同样工作在第二层的点对点传输协议(PPP)为基础,PPTP将PPP帧封装成IP数据包,以便于在互联网上传输并可以通过密码验证协议(PAP),可扩展认证协议(EAP)增加安全性。远程用户能够通过安装有点对点协议的操作系统访问公司网络资源。

PPTP VPN的实现需要:客户机和服务器之间必须有联通并且可用的IP网络。

该VPN可在Windows、Linux环境下搭建,或者通过配置路由器来实现。

L2F:第二层转发协议。 用于建立跨越公共网络的安全隧道来将ISP POP连接到企业内部网关。这个隧道建立了一个用户与企业客户网络间的虚拟点对点连接。 L2F允许高层协议的链路层隧道技术,使得把原始拨号服务器的位置和拨号协议连接终止与提供的网络访问位置分离成为可能。

L2TP VPN

L2TP:二层隧道协议,结合PPTP与L2F两种二层隧道协议的优点,为众多公司接受。 L2TP扩展了PPP模型,它使用PPP来封装用户数据,允许多协议通过隧道传送,作为安全性增强,L2TP与IPSec(Internet协议安全性)结合——L2TP/IPsec, L2TP基于UDP协议,因此L2TP不保证数据消息的可靠投递,若数据丢失,不予重传。

L2TP 的实现:与PPTP不同, PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接。

该VPN可在Windows、Linux环境下搭建,或者通过配置防火墙、路由器来实现。

MPLS VPN

MPLS:多协议标签交换(MPLS)是一种用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由地址、转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制。

它提供了一种方式,将IP地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。

传统的VPN是基于 PPTP L2TP等隧道协议来实现私有网络间数据流在公网上的传送。而LSP本身就是公网上的隧道,所以用MPLS来实现VPN有天然的优势。

基于MPLS的VPN就是通过LSP将私有网络的不同分支联结起来,形成一个统一的网络。基于MPLS的VPN还支持对不同VPN间的互通控制。

MPLSVPN网络主要由CE、PE和P等3部分组成:

CE(Customer Edge):用户网络边缘设备,可以是路由器 交换机 主机。

PE(Provider Edge):是服务商边缘路由器,位于骨干网络。

P(Provider):是服务提供商网络中的骨干路由器

SSL工作Socket层,IPsec工作在网络层.

SSL(安全套接层)是一个基于标准的加密协议,提供加密和身份识别服务。SSL广泛应用于在互联网上提供加密的通讯。SSL最普通的应用是在网络浏览器中通过HTTPS实现的。然而,SSL是一种透明的协议,对用户基本上是不可见的,它可应用于任何基于TCP/IP的应用程序。

  通用路由封装协议GRE(Generic Routing Encapsulation) 提供了 将一种协议的报文封装在另一种协议报文中 的机制,是一种 隧道封装技术 。GRE可以 封装组播数据 ,并可以 和IPSec结合使用 ,从而保证语音、视频等组播业务的安全

 IPSec  用于在两个端点之间提供安全的IP通信,但只能加密并传播单播数据,无法加密和传输语音、视频、动态路由协议信息等组播数据流量

 GRE属于网络层协议 IP协议号为47

GRE的优点总结:

 GRE实现机制简单,对隧道两端的设备负担小

 GRE隧道可以通过IPv4网络连通多种网络协议的本地网络,有效利用了原有的网络架构,降低成本

 GRE隧道扩展了跳数受限网络协议的工作范围,支持企业灵活设计网络拓扑

 GRE隧道可以封装组播数据,和IPSec结合使用时可以保证语音、视频等组播业务的安全

 GRE隧道支持使能MPLS LDP,使用GRE隧道承载MPLS LDP报文,建立LDP LSP,实现MPLS骨干网的互通

 GRE隧道将不连续的子网连接起来,用于组建实现企业总部和分支间安全的连接

 GRE属于网络层协议 IP协议号为47

GRE的优点总结:

 GRE实现机制简单,对隧道两端的设备负担小

 GRE隧道可以通过IPv4网络连通多种网络协议的本地网络,有效利用了原有的网络架构,降低成本

 GRE隧道扩展了跳数受限网络协议的工作范围,支持企业灵活设计网络拓扑

 GRE隧道可以封装组播数据,和IPSec结合使用时可以保证语音、视频等组播业务的安全

 GRE隧道支持使能MPLS LDP,使用GRE隧道承载MPLS LDP报文,建立LDP LSP,实现MPLS骨干网的互通

 GRE隧道将不连续的子网连接起来,用于组建,实现企业总部和分支间安全的连接

隧道接口

 GRE隧道是通过隧道两端的 Tunnel接口 建立的,所以需要在隧道两端的设备上分别配置 Tunnel接口 。对于GRE的Tunnel接口,需要指定其协议类型为GRE、源地址或源接口、目的地址和Tunnel接口IP地址

  隧道接口(tunnel接口) 是为实现报文的封装而提供的一种点对点类型的虚拟接口 与loopback接口类似 都是一种 逻辑接

 GRE隧道接口包含 源地址 、 目的地址 和 隧道接口IP地址 和 封装类型

 Tunnel的源地址:配置报文传输协议中的源地址。

 当配置地址类型时,直接作为源地址使用

 当配置类型为源接口时,取该接口的IP地址作为源地址使用

  Tunnel的目的地址 :配置报文传输协议中的目的地址

  Tunnel接口IP地址 :为了在Tunnel接口上启用动态路由协议,或使用静态路由协议发布Tunnel接口,需要为Tunnel接口分配IP地址。Tunnel接口的IP地址可以不是公网地址,甚至可以借用其他接口的IP地址以节约IP地址。但是当Tunnel接口借用IP地址后,该地址不能直接通过tunnel口互通,因此在借用IP地址情况下,必须配置静态路由或路由协议先实现借用地址的互通性,才能实现Tunnel的互通。

L2TP基本概念:

L2TP(Layer 2 Tunneling Protocol) VPN是一种用于承载PPP报文的隧道技术,该技术主要应用在远程办公场景中为出差员工远程访问企业内网资源提供接入服务。

L2TP VPN的优点:

身份验证机制,支持本地认证,支持Radius服务器等认证方式

多协议传输,L2TP传输PPP数据包,PPP本身可以传输多协议,而不仅仅是IP可以在PPP数据包内封装多种协议

计费认证地址分配

可在LAC和LNS两处同时计费,即ISP处(用于产生账单)及企业网关(用于付费及审计)。L2TP能够提供数据传输的出入包数、字节数以及连接的起始、结束时间等计费数据,可根据这些数据方便地进行网络计费

LNS可放置于企业网的USG之后,对远端用户地址进行动态分配和管理,可支持私有地址应用

不受NAT限制穿越,支持远程接入,灵活的身份验证及时以及高度的安全性,L2TP协议本身并不提供连接的安全性,但它可以依赖于PPP提供的认证(CHAP、PAP等),因此具有PP所具有的所有安全特性。

L2TP和PPTP区别:

L2TP:公有协议、UDP1701、支持隧道验证,支持多个协议,多个隧道,压缩字节,支持三种模式

PPTP:私有协议、TCP1723、不支持隧道验证,只支持IP、只支持点到点

PPTP:

点对点隧道协议(PPTP)是由包括Microsoft和3com等公司组成的PPTP论坛开发的,一种点对点隧道协议,基于拔号使用的PPP协议使用PAP或CHAP之类的加密算法,或者使用Microsoft的点对点加密算法MPPE。

L2TP:

第二层隧道协议(L2TP)是IETF基于L2F(Cisco的2层转发协议)开发的PPTP后续版本,是一种工业标准Internet隧道协议。

两者的主要区别主要有以下几点:

PPTP只能在两端间建立单一隧道,L2TP支持在两端点间使用多隧道,这样可以针对不同的用户创建不同的服务质量

L2TP可以提供隧道验证机制,而PPTP不能提供这样的机制,但当L2TP或PPTP与IPSec共同使用时,可以由IPSec提供隧道验证,不需要在第二层协议上提供隧道验证机制

PPTP要求互联网络为IP网络,而L2TP只要求隧道媒介提供面向数据包的点对点连接,L2TP可以在IP(使用UDP),FR,ATM,x.25网络上使用

L2TP可以提供包头压缩。当压缩包头时,系统开销(voerhead)占用4个字节,而PPTP协议下要占用6个字节

⑹ linux l2tp是怎么使用ipsec加密的

羌无意识肿 muwtuo739

⑺ RouterOSv7WireGuard隧道协议

RouterOS v7加入了WireGuard,WireGuard是一个极简而快速的加密VPN协议。其设计目标是比IPsec更快、更精简和高效,同时性能要比OpenVPN提升很多。WireGuard被设计成一种通用VPN,可以在多个平台上运行,适合许多不同的环境。最初是为Linux内核发布的,后支持跨平台(Windows, macOS, BSD, iOS, Android),能进行广泛的部署。

从官方测试性能看,WireGurad对于IPsec优势非常明显,而对于OpenVPN几乎是碾压。

在部署方面,WireGurad各个节点是Peer对等体的概念,而非是Server与Client关系,相互之间是对等的,一个节点既可以是发起者,也可以是接收者,比如网上提到VPN的拓扑方案中,可以是点对点,点对多点的中心覆盖,而WireGuard不一样了,不仅可以点对点,也可以点对多点,每个节点同时可连接多个 Peer,看到过有人通过WireGuard建立全互联模式,三层的Mesh网状网络。

WireGuard只支持UDP协议,不支持传统的TCP-over-TCP隧道,因为TCP网络性能并不理想,如果对TCP连接有需求,将wiredguard的UDP包转换为TCP,并可以使用如udptunnel和udp2raw来协助完成。

关于NAT穿透,通常情况下,WireGuard网络在未被使用的情况下,会尽量保持“安静”。在大多数情况下,它只在Peer对等体,希望发送数据包时传输数据,当它没有被要求发送数据包时,它就停止发送,直到再次被请求。在点对点公网IP连接的网络环境是这样的,然而,当一个Peer端位于NAT或防火墙之后时,即使它不发送任何数据包的情况下,也希望能接收传入的数据包。因为NAT和防火墙会跟踪“会话连接”,他必须通过定期发送数据包来维持NAT/防火墙连接会话映射的有效,即UDP的timeout时间,即被称为keepalive。WireGuard可以开启此选项,每隔一秒向对端点发送一个keepalive报文,当然适用于各种NAT/防火墙的合理间隔在25秒。默认设置keepalive是关闭状态,因为公网IP连接的用户不需要这个功能。

WireGuard加密使用ChaCha20,验证使用Poly1305,它几乎在所有通用CPU上的运行速度都非常快。虽然未被专用硬件支持(IPsec支持硬件加速),但在CPU上的矢量指令(vector instructions)与AES-NI指令处于相同的优先级(有时甚至更快)。

总结下WireGuard的特点:

是基于UDP协议连接,具备网络性能优势

运行在Linux内核,在性能上优于IPsec和OpenVPN

每个节点通过公钥识别进行验证,加密采用的是ChaCha20Poly1305。

每个节点是平等的,既可以作为server,又可以作为client

两端仅需要一个配置公网IP,另一端在nat后也能连接,nat后的节点,仅需要对端节点公钥,以及公网IP (endpoint)和端口(endpoint port),而公网节点只需要填写连接端的公钥即可

从测试结果看未使用IPsec加密的L2TP的传输带宽性能最好,超过了WireGuard,但在使用IPsec的L2TP加密后,性能远不如WireGuard,我平时喜欢使用SSTP在RouterOS设备之间建立连接,因为SSTP端口灵活,在RouterOS建立隧道无需证书,但SSTP的传输性能在RouterOS支持的所有隧道协议中性能是最差的,现在v7有了WireGuard就不一样了。

⑻ linux系统怎么添加永久路由

一、使用route命令添加
使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
A、添加到主机的路由
route add –host 192.168.1.10 dev eth0
route add –host 192.168.1.10 gw 192.168.1.1
B、添加到网络的路由
route add –net 192.168.1.0 netmask 255.255.255.0 eth0
route add –net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
route add –net 192.168.1.0/24 eth1
C、添加默认网关
route add default gw 192.168.1.1
D、删除路由
route del –host 192.168.1.10 dev eth0
二、添加永久路由
A、# vi /etc/rc.local(添加到末尾) 《Linux就该这么学》学习linux
语句:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254
[root@admin ~]# cat /etc/rc.local
/usr/bin/freshclam --daemon
/sbin/route add -net 192.168.168.0/24 gw 172.16.16.1
/etc/init.d/ipsec restart
/usr/bin/l2tpset
/usr/local/sbin/xl2tpd
iptables --table nat --append POSTROUTING --jump MASQUERADE
/etc/init.d/ipsec restart
/usr/bin/l2tpset
/usr/local/sbin/xl2tpd
/sbin/route add -net 192.168.99.108/30 gw 172.16.16.1
/sbin/route add -net 10.50.0.188/30 gw 172.16.16.1
/sbin/route add -net 103.227.72.32/27 gw 172.16.16.30
/sbin/route add -host 118.188.20.34 gw 172.16.16.30
/sbin/route add -net 192.168.168.0/24 gw 172.16.16.1
/sbin/route add -host 103.232.215.131 gw 172.16.16.1
/sbin/route add -net 103.227.72.160/27 gw 172.16.16.30
/sbin/route add -host 220.181.163.1 gw 172.16.16.30

⑼ 关于L2TP VPN与PPTP VPN的区别

L2TP VPN与PPTP VPN存在以下6个方面不同:

1、PPTP要求互联网络为IP网络。L2TP只要求隧道媒介提供面向数据包的点对点的连接。L2TP可以在IP(使用UDP),帧中继永久虚拟电路(PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用。

2、PPTP只能在两端点间建立单一隧道。L2TP支持在两端点间使用多隧道。使用L2TP,用户可以针对不同的服务质量创建不同的隧道。

3、L2TP可以提供包头压缩。当压缩包头时,系统开销(overhead)占用4个字节,而PPTP协议下要占用6个字节。

4、L2TP自身不提供隧道验证,从L2TP的包头可以看出。隧道认证是由PPP(pap或chap)协议提供!而PPTP则支持隧道验证,PPTP自身就是PPP的扩展!但是当L2TP或PPTP与IPsec共同使用时,可以由IPsec提供隧道验证,不需要在第2层协议上验证隧道。

5、L2TP访问集中器(L2TP Access Concentrator,LAC)是一种附属在网络上的具有PPP端系统和L2Tpv2协议处理能力的设备,它一般就是一个网络接入服务器软件,在远程客户端完成网络接入服务的功能。

6、L2TP网络服务器(L2TP Network Server,LNS)是用于处理L2TP协议服务器端的软件。

(9)linuxl2tpipsec扩展阅读

VPN的工作原理如下。

1、通常情况下,VPN网关采取双网卡结构,外网卡使用公网IP接入Internet。

2、网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B,其发出的访问数据包的目标地址为终端B的内部IP地址。

3、网络一的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查,如果目标地址属于网络二的地址,则将该数据包进行封装,封装方式根据所采用的VPN技术不同而不同。

4、网络一的VPN网关将VPN数据包发送到Internet,由于VPN数据包的目标地址是网络二的VPN网关的外部地址,所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关。

5、网络二的VPN网关对接收到的数据包进行检查,如果发现该数据包是从网络一的VPN网关发出的,即可判定该数据包为VPN数据包,并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离,再将数据包反向处理还原成原始的数据包。

6、网络二的VPN网关将还原后的原始数据包发送至目标终端B,由于原始数据包的目标地址是终端B的IP,所以该数据包能够被正确地发送到终端B。在终端B看来,它收到的数据包就和从终端A直接发过来的一样。

7、从终端B返回终端A的数据包处理过程和上述过程一样,这样两个网络内的终端就可以相互通讯了。

阅读全文

与linuxl2tpipsec相关的资料

热点内容
有pdf却打不开 浏览:460
七星彩软件app怎么下载 浏览:217
32单片机的重映射哪里改 浏览:816
为什么前端不用刷算法题 浏览:708
对称加密系统和公钥加密系统 浏览:428
历史地理pdf 浏览:606
物联网云服务器框架 浏览:648
sybaseisql命令 浏览:183
android权威编程指南pdf 浏览:663
哪些软件属于加密软件 浏览:646
文件夹75丝什么意思 浏览:470
最便宜sop8单片机 浏览:966
图解周易预测学pdf 浏览:420
c盘莫名奇妙多了几个文件夹 浏览:171
贵州花溪门票优惠app哪个好 浏览:803
如何说话不会让人有被命令的感觉 浏览:440
哪里可下载湘工惠app 浏览:265
福特python 浏览:312
pdf转换成word表格 浏览:353
无线远端服务器无响应是什么意思 浏览:672