标签: ipsec

通过 VPN 隧道的选择性路由

问题:在建立IPsec VPN 隧道后,所有流量都被路由到远程端点,而我需要路由发往该内部网络的数据包,并且仍然能够在我的本地机器上访问互联网。目前,当我启用相应的 VPN 连接时 - 所有连接都会中断,这意味着无法通过我的 LAN 到达这台机器或通过它访问互联网(远程端有限制以进行进一步的 WAN 转发)。因此,在这种情况下,只有 VPN 有效。

拓扑:http : //i.imgur.com/9HEru.png

我在基于Debian的发行版上使用OpenSwan,也在NAT后面(启用遍历)。

以下是ipsec.conf的详细信息:

2.0版

配置设置
plutodebug="none"
plutoopts="--perpeerlog"
plutoopts="--interface=wlan2"
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:10.196.0.0/17,%v4:! 192.168.1.0/24
oe=off
protostack=netkey

康恩ž
authby =秘密
密钥有效期= 1H
PFS =是
自动=添加
phase2alg = AES128-SHA1; modp1024
keyingtries = 3
ikelifetime = 8H
类型=隧道
左= 192.168.1.76
leftsubnet = 0.0.0.0 / 0
leftprotoport = 0/0
右= YYYY
rightsubnet=0.0.0.0/0
rightprotoport=0/0

以下是ifconfig 的 …

linux vpn routing ipsec tunnel

5
推荐指数
1
解决办法
1746
查看次数

小型网络的最佳安全实践 - wifi、lan、

我们定期为不同地点的客户设置小型网络,以允许他们使用不同的产品,现在的问题是什么才是最佳安全实践。

目前我们有一个支持 WPA2 的 wifi,大多数笔记本电脑都连接到这个,但有些会连接到连接到路由器的有线交换机。

我们正在考虑我们应该做些什么来提高我们小型网络的安全性 - 我们确实在笔记本电脑上设置了安全性,因此您可以通过一个简单的 Windows 用户帐户直接与其他人共享驱动器。

一些建议是:

  1. 我们得到了一个带有 ACL 控制和 mac 过滤的 LAN 交换机,用于硬连线连接?

  2. 我们通过一个好的 Cisco 路由器让 acl 在 wifi 上工作?

  3. 所有机器上的 ipSec 策略?

  4. IP过滤和固定IP?

我想人们担心任何人都可以插入交换机并访问网络。

概括:

保持体面的安全级别,可以轻松复制到我们为客户所做的每个设置

networking security local-area-network wifi ipsec

5
推荐指数
1
解决办法
742
查看次数

如何通过 IPSEC VPN 路由公共 IP 范围?

所以,我已经建立了一个 IPSec 站点到站点隧道。

站点 A 有一个 SonicWall,站点 B 有一个 EdgeRouter。

第一条隧道由站点 A 的 NAT 化 ips 到站点 B 的 NAT 化 ips 组成。

一切都按预期工作。

接下来,我有一个站点 B 需要访问的公共 IP 范围,但是,请求需要看起来像是来自站点 A。当我设置这个隧道时,我只能看到网关处的流量下降。

我无法访问任何这些 ip。由于它在 lan 到 lan 的相同配置中工作正常,我相信这可能是 NAT 问题 - 但我不确定,也不知道如何进一步诊断。

这可能是一个红鲱鱼,因为我不是很自信......我已经尝试在 VPN>WAN/WAN>VPN 上加入“允许所有”规则,然后过滤到一个单独的 IP,然后从站点 B ping 它.. . 我看到丢包了。

任何人都可以在这里提供任何建议吗?

vpn nat ipsec sonicwall

5
推荐指数
1
解决办法
8465
查看次数

strongswan:完全虚拟的子网

我最近设置了一个 strongswan IPSec VPN 来从我的 android 智能手机访问我的家庭服务器的一些非公共服务。我在其他一些设备上使用 OpenVPN 执行相同的任务,但为电话选择了 strongswan,因为 IKEv2 被认为(如果我错了,请纠正我)在移动设备上对资源非常友好。

当前 (openvpn) 设置由一台服务器(虚拟 IP:10.0.0.2)和多个客户端(都在 10.0.0.0/24 子网中)组成。所有各方的路由都设置为仅通过专用于此子网的 vpn 路由数据包。(我不想从客户端访问我的服务器的本地子网,我也不想通过服务器路由我的客户端的所有流量)

现在我设法使用 strongswan(服务器:5.0.4,客户端:官方 strongswan android 应用程序 1.3.0)让事情顺利进行,但我还没有完全到位。首先是服务器配置:

config setup

conn %default
  keyexchange=ikev2

conn android
  left=%any
  leftauth=pubkey
  leftcert=serverCert.pem
  leftid=vpn.mydomain.com
  leftsourceip=10.10.10.128
  leftfirewall=yes
  right=%any
  rightsourceip=10.10.10.0/24
  rightauth=pubkey
  rightcert=clientCert_mymobilephone.pem
  rightauth2=eap-mschapv2
  auto=start
Run Code Online (Sandbox Code Playgroud)

这将 IP 10.10.10.1 分配给我的电话,但没有任何接口上的服务器的 IP,这正是我想要的。我仍然可以使用我的本地 IP (192.168.1.2) 通过 VPN 访问我的服务器,这不是我真正想要的 ;)

我想将所有客户端(主要是笔记本)从 OpenVPN 迁移到 strongswan,但上述问题阻止我进行切换。我尝试了许多不同的 strongswan 配置,但没有一个可以匹配我的 OpenVPN 配置。这甚至可能吗,如果有的话怎么办?

vpn ipsec strongswan

5
推荐指数
1
解决办法
6630
查看次数

超过 PMTU 后,通过 IPSec(Linux/Strongswan)的 TCP 连接停止

我的一台服务器(“A”)的备份(通过 Bacula)通过 IPSec(Debian 测试中的 Strongswan)连接到存储守护进程(“B”),它们运行的​​时间没有完成 95%。显然发生的是:

  1. Bacula 打开到存储守护进程的 VPN IP 的 TCP 连接。(甲?乙)
  2. 由于内核设置net.ipv4.ip_no_pmtu_disc=0是默认设置的,因此在明文数据包中设置了 IP Don't Fragment 位。
  3. 当将数据包路由到 IPSec 隧道时,有效载荷的 DF 位被复制到 ESP 数据包的 IP 标头。
  4. 经过一段时间(通常大约 20 分钟)并发送多达几 GB 的数据后,会发送一个比之前的 ESP 数据包稍大的数据包。(甲?乙)
  5. 由于存储守护程序接口的 MTU 低于发送主机之一,因此沿途的路由器会向主机发送 ICMP 类型 3、代码 4(需要分段且未设置分段)错误。(一些路由器?A)
  6. 连接停止,出于某种原因,主机 A 将约 100 个空的重复 ACK 泛洪到 B(在约 20 毫秒内)。

(ICMP 数据包到达主机 A,并且没有阻止 ICMP 的 iptables 规则。)

发生这种情况的可能原因,我能想到的:

  • 内核错误 (Debian 3.13.7-1)
  • Linux 的 IPSec 实现故意忽略 PMTU 消息作为安全措施,因为它不受保护并且会影响现有的 SA。(根据RFC 4301 8.2.1似乎是有效的行为)
  • 必须对 PMTU 老化(RFC 4301 …

networking linux vpn ipsec strongswan

5
推荐指数
1
解决办法
3623
查看次数

两个 Pfsense 主机之间的 IPSec 带宽具有可预测的可变带宽

我在两台 Pfsense 机器之间有一个 IPSec 隧道。两台机器都连接到 100mbps 的对称连接。两个路由器之间的延迟约为 70 毫秒。我正在使用 AES-GCM-128 和 SHA1,两台机器都支持 AES 的硬件加速,并且 CPU 使用率保持 < 5%。但我遇到了最奇怪的问题..

带宽在 6MB/s 左右达到峰值,然后逐渐下降到 2MB/s,然后又逐渐增加到 6MB/s。这是一个可预测的正弦波。如何让我的带宽更加一致?

我尝试启用/禁用压缩(当前禁用),使用 MSS-clamp 和 MTU 设置(分别为 1500/1460),似乎没有什么区别。

当我直接通过公共互联网下载文件时,我得到 11MB/s,接近我的 100mbps 最大值。

我可以尝试哪些事情?

networking vpn ipsec pfsense

5
推荐指数
0
解决办法
984
查看次数

在桥接模式下设置站点到站点 IPsec

我想在桥接模式下设置站点到站点 IPsec:也就是说,不需要修改每个站点中的主机即可使用 IPsec 网关,但 IPsec 网关充当伪线。

我的计划是:

  1. 在每个网关上设置主机到主机的 IPsec
  2. 在每个网关之间设置 L2TP(通过 IPsec)
  3. 桥接每个网关上的 eth0 和 lt2p-eth

此后,到达任何网关的 eth0 的任何第 2 层数据包都应自动通过隧道 (L2TP) 安全地 (IPsec) 到其他网关。

它是否正确?这是推荐的方法吗?

另外:如何为> 2 个网关执行此操作?每个网关是否都需要与其他网关建立 IPsec SA和L2TP 隧道?理想情况下,我想让 gw 不需要了解其他每个 gw 的明确知识,但我找不到可靠的甚至标准的方法来做到这一点。

networking ipsec gateway l2tp bridge

5
推荐指数
1
解决办法
7187
查看次数

站点到站点 VPN 错误“收到的哈希负载与计算值不匹配”

我们需要访问位于客户端的几台 Linux 机器。我们需要访问客户端计算机的 Linux 计算机位于云端。

要建立的连接是站点到站点 VPN。

通过'命令重新启动 ipsec 服务时,sudo service ipsec restart连接因收到错误而结束,哈希有效负载与计算值不匹配

不过,我们已经重新验证了该密钥是否ipsec.secrets具有正确的密钥,因为它是由客户共享的。另外,在运行命令时,sudo ipsec auto --up vpncli 会挂起。

作为网络方面的新手,我分享了我认为可能与错误相关的大部分输出。如果需要更多信息,请告诉我。

现将相关信息分享如下:

  • ipsec 服务重启的输出
  • /var/log/secureipsec服务启动时完成登录
  • 配置在ipsec.conf
  • 配置在ipsec.secrets
  • 输出ipsec.verify
  • 输出ifconfig
  • 客户和我们共享记录的 VPN 信息

ipsec 服务重启的输出

[root@gbox-1 ~]# service ipsec restart
ipsec_setup: Stopping Openswan IPsec...
ipsec_setup: Starting Openswan IPsec 2.6.32...
ipsec_setup: No KLIPS support found while requested, desperately falling back to netkey
ipsec_setup: NETKEY support found. Use protostack=netkey in /etc/ipsec.conf to …
Run Code Online (Sandbox Code Playgroud)

vpn ipsec site-to-site-vpn linux-networking openswan

5
推荐指数
1
解决办法
7347
查看次数

Linux 中基于策略的 IPsec 路由

在 Linux 中,当谈到基于路由的 IPsec 隧道时,它非常简单。安装主要的 ipsec 实现之一。建立安全关联,在每个端点上添加 VTI 接口,向 VTI 添加标记,更改一些 sysctl 选项,然后您可以在两个端点之间路由流量。

在进行基于策略的路由时如何路由流量?到目前为止,我遇到的所有教程都只提到如何设置 ipsec 连接,但没有一个真正解释如何在两个端点之间路由流量或此过程需要哪些额外步骤。我要创建一条隧道吗?我必须标记它吗?添加路线?如果是这样,那么这与基于路由的设置有什么不同?

有人可以解释一下吗?

ipsec

5
推荐指数
1
解决办法
6430
查看次数

如何在 VPN 服务器上捕获 IPSEC 数据包?

我正在 Ubuntu 16.04 上运行 StrongSwan (U5.3.5/K4.4.0-62-generic) VPN 服务器。

通常,当我想检查服务器上的流量时,我只需运行如下所示的命令:

tcpdump -ni eth0 "tcp port 80" -w log.pcap

但在 VPN 服务器上它对我没有太大帮助。我只捕获“常规”流量,没有 IPSEC 流量。我想这是因为 IPSEC 在 TCP 下面运行一层。但我仍然想捕获一些数据包以在 Wireshark 上进行检查。

我怎样才能做到这一点?

ipsec tcpdump strongswan

5
推荐指数
2
解决办法
2万
查看次数