在 pfSense 的 OpenVPN 服务器中为 tap 客户端分配静态 IP

在 pfSense 的 OpenVPN 服务器中为 tap 客户端分配静态 IP

我正在尝试使用 OpenVPN 设置 pfSense 服务器。

OpenVPN 将使用tap界面,tun客户端对我们来说没有选择。

LAN 网络是10.0.0.0/24,pfSense 机器是10.0.0.10,客户端 DHCP 范围当前是10.0.0.200-10.0.0.220

客户端可以通过 DHCP 顺利连接并可以使用网络。

我尝试使用 pfSense 中的客户端特定覆盖来分配静态 IP。我使用了常用建议的ifconfig-push命令,但我测试的客户端(Windows 8 和 Arch Linux)不采用其各自覆盖中分配的 IP。我尝试ifconfig-push使用不同的参数(客户端 IP + 服务器、客户端 IP + 子网掩码,...)。

如果我让 tap-interface 的 DHCP 保持打开状态,客户端将从客户端 DHCP 范围中获取 IP 地址,如果我关闭 DHCP,客户端根本无法获取 IP。我尝试将静态 IP 推送到 DHCP 范围之内和之外。

有什么方法可以使覆盖工作并强制将分配的 IP 分配给客户端?我尤其需要这个,因为 pfSense 防火墙的访问限制。

答案1

经过一些深的挖掘时我发现了一个漏洞在 pfSense 的 Redmine 跟踪器中。这表明 OpenVPN 服务器缺少该client-config-dir变量。

添加

mode server;client-config-dir /var/etc/openvpn-csc;

高级服务器选项以及提供客户端特定的覆盖

ifconfig-push [IP] [netmask]

成功了。

答案2

根据我的经验,更新了一些内容:

适用于 pfSense 2.3.2

缺少的选项“client-config-dir”已修复。现在很好。

但现在,默认情况下,pfsense 中的 openvpn 服务器配置有选项“用户名作为通用名称”

因此,在客户端特定的覆盖字段“通用名称”中尝试写入用户名而不是通用名称

如果您在分配静态 IP 时遇到问题,请尝试检查“/var/etc/openvpn/server1.conf”中的 openvpn 服务器配置是否有该选项。

PS ifconfig-push 选项保持不变

答案3

我配置了两个 vpn 服务器,因此在 /var/etc/openvpn-csc 下有两个文件夹

 /var/etc/openvpn-csc/server2
 /var/etc/openvpn-csc/server3

我不确定索引为什么来自 server2。无论如何,在检查 cat /var/etc/openvpn/server2.conf 和 server3.conf 并确定每个服务器文件夹属于哪个文件夹后,我mode server;client-config-dir /var/etc/openvpn-csc/server2;在高级服务器选项以及客户端特定覆盖中添加了ifconfig-push [IP] [netmask]: 。之后我得到了静态 IP。

相关内容