FritzBox 配置

FritzBox 配置

我已成功在本地 FritzBox 7590 和办公室之间创建了 IPSEC 隧道,该办公室运行带有 pfsense 2.4.5-RELEASE-p1 和 coreboot 固件 v4.11.0.6 的 pfsense 硬件防火墙(APU2)。

但是,隧道仅在启用积极模式的情况下才有效,这会生成以下 pfSense 日志条目:

/rc.newipsecdns:警告:设置 i_dont_care_about_security_and_use_aggressive_mode_psk 选项,因为阶段 1 是使用预共享密钥的激进模式配置的。这不是一个安全的配置。

我如何在这些位置之间创建安全隧道?

答案1

这个问题困扰了我两年,直到最近我才发现如何在没有激进模式的情况下进行连接。我在这里发布我的答案,以防其他人有同样的问题。我发现的几乎所有指南都使用激进模式,如果配置正确,则不需要激进模式。

适用以下参数:

  • FritzBox 有一个动态 IP 地址,并已注册到 myFritz.net。您将获得一个使用最新 IP 地址更新的 DynDNS 名称。
  • pfsense 具有静态公共 IP 地址。如果不是这种情况,您需要使用另一个 DynDNS 服务来广播 pfsense IP
  • 我建议将 pfsense 和 FritzBox 更新到最新固件,以支持现代加密哈希算法
  • 为了方便测试具有两个远程位置的 IPSEC 隧道,首先使用 OpenVPN 配置 pfSense,以便能够从其他位置配置 pfSense
  • FritzBox LAN 配置为 ,192.168.178.0而 pfsense LAN 配置为192.168.10.0。这可以更改,但两个 LAN 不能相同。

禁用攻击模式的关键是通过导入加载 VPN 配置。FritzBox 界面隐藏了大部分重要内容,这就是为什么只有在使用导入功能时才能禁用攻击模式。

FritzBox 配置

这是我的ipsec-fritzbox.cfg,我将在下面解释参数和 pfSense 配置:

vpncfg {
connections {
  enabled = yes;
  conn_type = conntype_lan;
  name = "FritzBox-pfsense IPSEC"; // Name of Connection
  always_renew = yes; // Always connect
  reject_not_encrypted = no;
  dont_filter_netbios = yes;
  localip = 0.0.0.0;
  local_virtualip = 0.0.0.0;
  remoteip = xxx.xxx.xxx.xxx; // Static IP of pfsense
  remote_virtualip = 0.0.0.0;
  localid {
    fqdn = "xxx.myfritz.net"; // dyndns name of FritzBox
    }
  remoteid {
    ipaddr = xxx.xxx.xxx.xxx; // Static IP of pfsense
    }
  mode = phase1_mode_idp;
  phase1ss = "dh14/aes/sha"; //phase one hashing algorithms to use
  keytype = connkeytype_pre_shared;
  key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; //strong pre-shared key
  cert_do_server_auth = no;
  use_nat_t = no;
  use_xauth = no;
  use_cfgmode = no;
  phase2localid {
    ipnet {
      ipaddr = 192.168.178.0; //Local network of FritzBox
      mask = 255.255.255.0; //Local subnet FritzBox
      }
    }
  phase2remoteid {
    ipnet {
      ipaddr = 192.168.10.0; //Remote network of Pfsense
      mask = 255.255.255.0; //Remote subnet Pfsense
      }
    }
  phase2ss = "esp-aes256-3des-sha/ah-no/comp-lzs-no/pfs"; //phase two hashing algorithms to use
  accesslist = "permit ip any 192.168.10.0 255.255.255.0"; //firewall settings for pfsense lan
  }
  ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
                      "udp 0.0.0.0:4500 0.0.0.0:4500";
}

pfSense 配置

在 pfSense Web 界面中,转到 VPN > IPsec,然后单击添加

阶段1

一般信息

远程网关:输入 FritzBox 的 DynDNS 名称

在此处输入图片描述

第一阶段提案(认证)

对等标识符:输入 FritzBox 预共享密钥的 DynDNS 名称:输入强静态密钥。协商模式:主要(非激进)我的标识符:如果是 DynDNS,则使用专有名称;否则使用 pfsense 的静态公共 IP

在此处输入图片描述

第一阶段提案(加密算法)

您需要使用现代加密算法。下面我使用了 256 位 AES 和 SHA1(哈希)以及 DH Group 14(2048 位)。DH14 仅适用于 3600(不是 28800)的生命周期。

这导致以下 phase2ss 条目ipsec-fritzbox.cfg

mode = phase1_mode_idp;
phase1ss = "dh14/aes/sha";

在此处输入图片描述

高级选项

我这里没有改变任何东西。

在此处输入图片描述

阶段2

保存设置并添加具有以下配置的第 2 阶段条目。

一般信息

在此处输入图片描述

第 2 阶段提案(SA/密钥交换)

我使用了 ESP 和 AES(256 位)以及 3DES(加密)和 SHA1(哈希),生命周期为 3600 秒。这导致以下 phase2ss 条目ipsec-fritzbox.cfg

phase2ss = "esp-aes256-3des-sha/ah-no/comp-lzs-no/pfs";

在此处输入图片描述

高级配置

在此处添加 FritzBox 的本地 IP。

在此处输入图片描述

检查连接

配置完成后,您将在 pfSense 的状态 > IPsec 下看到状态:

在此处输入图片描述

在 FritzBox 中,查看系统下的日志条目。初始连接可能会失败,因为 FritzBox 重新连接到新 IP,需要将其广播到 DynDNS 服务。几分钟后,主仪表板中的连接状态应变为绿色。

这对我来说已经管用了一段时间了。欢迎提出任何意见或改进!

问题:

如有任何问题,请检查状态 > 系统日志 > IPsec,它为您提供来自 pfSense ipsec 的实时日志记录。

例如,我无法让 dh14 正常工作(而不是 dh1 或 dh2)。我可以通过使用 Sha1 作为哈希算法(而不是 sha512)、检查 3des(除了 aes)并将生命周期缩短至 3600(而不是 28800)来解决这个问题。

还请注意,如果两个站点都使用 DynDNS,则此设置会变得越来越复杂。事实上,mode = phase1_mode_idp;只有使用静态远程站点才有可能进入。

注意事项

如果有人让 dh14 与 Sha512 哈希(而不是 sha1)一起工作,并且不使用 3des,请添加评论。根据 FritzBox 文档,Sha512 或 Sha256 应该是可行的,但在第 1 阶段或第 2 阶段使用除 sha1 之外的 sha 的任何组合对我来说都不起作用。此外,我必须保持 3des 加密启用(建议 2),否则我将无法使用 dh14(没有 3des 只有在使用 dh1 或 dh2 时才有效)。

据我所知,FritzBox 仍然只支持 IKEv1。

阅读文档

以下两个文档条目应该提供一些额外的知识:

相关内容