pfSense book之入网门户

入网门户

  • 入网门户区域
  • 常见的入网门户场景
  • 区域配置选项
  • MAC地址控制
  • 允许的IP地址
  • 允许的主机名
  • 凭证
  • 文件管理器
  • 查看经过身份验证的入网门户用户
  • 入网门户网站疑难解答

在允许Internet访问之前,pfSense的Captive Portal功能会将用户重定向到防火墙上托管的网页。在此页面中,可以强制用户在授予访问权限之前进行身份验证,或执行简单的点击。Captive Portal最常见用途是用于无线热点,或者在允许从无线客户端访问内部网络之前进行其他身份验证。如果需要,它还可以与有线客户端一起使用。入网门户在系统服务>入网门户下配置。

限制

pfSense中的Captive Portal实现也存在一些局限性。本节将介绍这些内容以及在可能的情况下解决这些问题的常用方法。

还不支持

目前,Captive Portal不支持IPv6。

不能反向门户

无法对从Internet访问本地网络的流量进行反向身份验证。

入网门户区域

入网门户区域为不同的接口集定义单独的门户。例如,LAN和Wireless可以使用一个门户,而会议室则可以使用单独的门户页面。每个区域都有单独的HTML页面设置、身份验证、允许的地址等。必须先创建区域,然后才能更改区域的设置。

注意:区域可以具有多个接口,但是接口只能是一个区域的成员。尝试将同一接口添加到多个区域将会出现错误。

管理入网门户区域

入网门户区域在系统服务>入网门户处进行管理。此处显示区域列表,可以从该列表中添加,编辑或删除区域。

要创建新的入网门户区域:

  • 导航到系统服务>入网门户
  • 单击 添加
  • 输入区域名称,该名称可能仅包含字母,数字,数字和下划线。不得使用空格和其他特殊字符
  • 如果需要,输入区域描述来进一步描述区域的特性
  • 单击“保存并继续以转到该区域的门户网站设置
  • 要编辑现有区域,请单击该行末尾的
  • 要删除现有区域,请单击该行末尾的,然后单击来确认操作。

常见的入网门户场景

以下是使用入网门户的一些基本常见方案。下面介绍如何执行所描述的所有操作的详细信息。

没有身份认证的门户配置

对于没有身份验证的简单门户:

可以按区域配置选项中的详细信息添加其他 配置选项

使用本地认证或凭证的门户配置

要使用本地身份验证设置门户:

  • 创建一个区域
  • 选中启用入网门户
  • 选择一个接口
  • 身份验证方法设置为本地用户管理器/凭证
  • 上传带有身份验证的Portal页面的HTML页面 。

可以按区域配置选项中的详细信息添加其他 配置选项。然后在用户管理器用户管理和身份验证)中配置本地用户。

要使用凭证,请转到凭证选项卡并在那里创建凭证。有关凭证券的更多信息,请参阅 凭证券,并使用门户页面中的示例门户页面HTML代码 凭证券

使用RADIUS认证进行Portal配置

使用RADIUS身份验证设置门户:

  • 配置RADIUS服务器以允许来自防火墙的请求
  • 创建一个区域
  • 选中启用入网门户
  • 选择一个接口
  • 认证方法设置为RADIUS认证
  • 主要验证来源下填写主RADIUS服务器的设置

区域配置选项

本节介绍每个Captive Portal配置选项。只要在系统服务>入网门户下创建了入网门户区域,就可以使用这些选项 。这些选项对于每个区域都彼此独立。例如,区域中指定的允许IP地址仅影响该区域。

接口

确定将为此Captive Portal区域激活的接口。不能是WAN接口。它可以是桥接接口,只要它是实际的桥接器(例如bridge0)并且桥接接口有分配的IP地址。

最大并发连接数:

指定每个IP地址到门户网站服务器的最大并发连接数。默认值为 4,对大多数环境都足够了。存在此限制是为了防止单个主机耗尽防火墙上的所有资源,无论是无意还是故意。这可能是一个问题的一个例子是感染蠕虫的宿主。如果主机未经过身份验证,则发出的数千个连接将导致重复生成强制门户页面,否则会产生如此大的负载,从而使防火墙无法响应。

空闲超时

以分钟为单位指定的超时,此时将断开空闲用户的连接。用户可以立即重新登录。

超时断开

以分钟为单位指定的超时,将在指定时间段后强制注销用户。应输入超时断开,空闲超时或两者,以确保在用户不注销时删除会话,因为大多数用户可能不会注销。如果用户的凭据仍然有效(对于本地帐户,未过期,并且对于RADIUS身份验证,用户仍可以成功向RADIUS进行身份验证),用户将能够在超时断开后立即重新登录。

注意:如果设置了超时值,则超时必须小于DHCP租用时间,或者对于已切换到不同设备的IP地址,入网门户会话可以保持活动状态。将超时设置为较低将确保门户会话在将租约重新分配给新客户端之前结束。

信用传递

这些信用为设备提供宽限期,然后才能通过门户进行身份验证。例如,设备可以在一天内连接3次而无需查看门户网站页面,但除此之外,他们需要登录。通过将超时断开设置为诸如1小时的值,在需要进行身份验证之前,客户端实际上将被限制为三小时访问。默认情况下,此选项处于禁用状态,并且所有客户端都将显示门户网站登录页面。

注意:为使其有效,请设置超时断开和/或空闲超时。

每个MAC地址允许的传递信用:

特定MAC地址可通过门户连接的次数。一旦用完,客户端只能使用有效凭据登录,直到下面指定的等待时间到期为止。

等待期以恢复传递信用:

在使用第一个客户端之后,客户将其可用的传递信用恢复到原始计数的小时数。如果启用了直通信用,则必须高于数小时。

重置尝试访问的等待时间:

如果启用,则在所有传递信用已用尽时尝试访问时,等待时间将重置为原始持续时间。这将阻止反复尝试访问门户的人过快地获得开放访问权限。

注销弹出窗口:

选中后,会向用户显示一个注销弹出窗口,允许客户端在发生空闲或超时断开之前明确断开连接。遗憾的是,由于大多数浏览器都启用了弹出窗口阻止程序,因此除非可以在浏览器中恢复弹出窗口功能,否则此窗口可能无法用于大多数客户端。

预认证重定向网址:

顾名思义,此选项会在用户进行身份验证之前将用户重定向到指定的URL 。通常,这用于显示描述本地或其他地方托管在服务器上的设备位置的自定义登录页面。登录页面必须包含链接,该链接又将用户重定向回门户页面,例如http://x.x.x.x:8002/index.php?zone=somezone&redirurl=http%3A%2F%2Fsomesite.example.com

自定义入网门户网站页面顶部必须有额外的代码才能正确处理此重定向。在下面的示例代码中,预身份验证重定向目标页面还必须将其自己的URL在redirurl其链接的 参数中返回到门户网站,以便显示登录页面。

<?php
require_once("globals.inc");
$request_uri = urldecode(str_replace("/index.php?zone={$_REQUEST['zone']}&redirurl=", "", $_SERVER["REQUEST_URI"]));
$portal_redirurl = urldecode("$PORTAL_REDIRURL$");
if(!stristr($portal_redirurl, $request_uri)) {
      Header("Location: $PORTAL_REDIRURL$");
      exit;
}
?>
认证后重定向网址:

在对门户进行身份验证或单击后,用户将被重定向到此URL,而不是他们最初尝试访问的URL。如果此字段留空,则用户将被重定向到用户最初尝试访问的URL。

并发用户登录:

选中后,每个用户帐户只允许登录一次。允许最近登录,并且将断开该用户名下的所有先前登录。这不是整个门户的总限制,而是每个帐户的限制。

MAC地址过滤:

设置后,禁用MAC地址过滤。在无法可靠地确定MAC地址的情况下,例如在使用门户的单独路由器后面存在多个子网时,这是必要的。在这种情况下,路由器后面的所有用户都将使用路由器的MAC地址显示在门户网站上。如果设置了此选项,则不会尝试确保客户端的MAC地址在登录门户时保持不变。

注意:如果选中此选项,则不能使用RADIUS MAC身份验证。

直通MAC自动进入:

在某些应用中,用户可能只需要对每个设备进行一次身份验证,除非他们更改设备,否则永远不用再通过门户网站登录。设置直通MAC条目可以自动实现此目标。

直通MAC自动添加:

如果设置了此选项,则在用户成功通过身份验证后会自动添加MAC直通条目。除非手动删除该条目,否则该MAC地址的用户将永远不必再次进行身份验证。要删除直通MAC条目,请从“直通MAC”选项卡中手动登录并将其删除。

注意:如果启用此选项,则无法使用RADIUS MAC身份验证,也不会显示注销窗口。

使用用户名直通MAC自动添加:

如果设置了此选项,则身份验证期间使用的用户名将与直通MAC条目一起保存。要删除直通MAC条目,请从“直通MAC”选项卡中手动登录并将其删除。

每用户带宽限制:

入网门户还可以选择对用户进行带宽限制,以防止用户占用太多带宽。在默认的下载和 默认上传字段定义用户的带宽。要对特定的用户使用不同限制,可以通过RADIUS来覆盖这些值(从RADIUS服务器传回配置)。如果字段为空或设置为0,则用户带宽不受限制。

认证

本节允许配置身份验证。身份验证可以使用本地用户管理器或RADIUS进行身份验证。

无身份验证:

选择后,用户只需单击门户页面即可访问。表单仍然必须提交,但不需要用户输入任何字段,只需点击提交按钮。

本地用户管理器/凭证:

此选项允许用户使用用户名和密码进行身份验证,但不能使用RADIUS服务器进行身份验证。此模式下的入网门户用户在pfSense GUI中进行管理。本地用户添加在用户管理器中完成。

此外,如果选中仅允许具有“入网门户登录”权限的用户/组,则要访问门户网站,用户必须拥有其帐户的入网门户权限,或者是包含此权限的组的成员。

凭证是预先生成的访问代码,可以提供给用户以授予短期访问权限。可以使用凭证作为本地用户认证的补充或替代。

RADIUS身份验证:

选择后,将显示RADIUS服务器选项,并且将针对配置的RADIUS服务器验证此区域中的入网门户用户。

RADIUS认证选项

RADIUS是一种根据包含帐户信息的中央服务器对用户进行身份验证的方法。RADIUS有许多实现方式,例如Windows服务器上的FreeRADIUS,Radiator和NPS。对于具有Microsoft Active Directory网络基础结构的用户,可以使用RADIUS通过Microsoft NPS从Active Directory对入网门户用户进行身份验证。在使用Windows Server的RADIUS身份验证中对此进行了描述。可以启用RADIUS计费,以将每个用户的使用信息发送到RADIUS服务器。有关更多信息,请参阅RADIUS服务器的文档。

要使用RADIUS,请在“ 身份验证”下选择“ RADIUS身份验证”,然后填写有关RADIUS服务器的信息。

RADIUS协议:

控制RADIUS服务器可以用于身份验证的协议。可用的选择是:

PAP(密码验证协议):
PAP是最安全但最兼容的选项,它以纯文本形式发送密码。
CHAP_MD5(质询握手身份验证协议):
CHAP比PAP更安全,它使用MD5并在传输过程中加密密码。虽然比线路上的PAP更安全,但服务器端必须知道明文密码才能计算质询。
MSCHAPv1(Microsoft CHAP,版本1):
Microsoft设计的CHAP变体主要用于旧版本的Windows(NT 3.x到Windows 95)。有些程序可以轻松地从交换中捕获密码哈希值。
MSCHAPv2(Microsoft CHAP,版本2):
在CHAP / MS-CHAP v1之上添加更多安全功能。

这些协议的相对安全性可能没什么影响,具体取决于网络布局和RADIUS服务器的位置,但仍应予以考虑。

从RADIUS服务器回传配置

RADIUS服务器的回传属性可以覆盖某些默认的入网门户设置。确切的属性可能因供应商而异,并且可能不受所有RADIUS服务器的支持。

用户带宽限制:
定义用户的带宽,从常用选项中提取,例如:

WISPr-Bandwidth-Max-Up/WISPr-Bandwidth-Max- Down, 或 ChilliSpot-Bandwidth-Max-Up/ChilliSpot-Bandwidth-Max-Down

会话超时:
从RADIUS属性中提取Session-Timeout,它将在RADIUS服务器指定的时间后断开用户连接。
空闲超时: 从RADIUS属性中提取Idle-Timeout,它将在RADIUS服务器指定的时间后断开用户连接。
计费间隔期间:
从中获取Acct-Interim-Interval,它指示门户以指定的间隔发送临时计费更新。
URL重定向:
允许RADIUS服务器通过以后定义认证后重定向URL WISPr-Redirection-URL

主认证源

主要/辅助RADIUS服务器用于登录表单上的主用户名和密码字段,auth_userauth_pass,例如:

<tr>
    <td align="right">Username:</td>
    <td><input name="auth_user" type="text" style="border: 1px dashed;"></td>
 </tr>
<tr>
    <td align="right">Password:</td>
    <td><input name="auth_pass" type="password" style="border: 1px dashed;"></td>
</tr>

如果主RADIUS服务器已关闭,则将尝试使用辅助RADIUS服务器。

IP地址: RADIUS服务器的IP地址或主机名
端口: 通常是RADIUS服务器的身份验证端口1812
共享秘密: RADIUS服务器上此防火墙的共享密钥。

辅助认证源

辅助身份验证源定义与主服务器完全独立的RADIUS身份验证设置。例如,主RADIUS源可以是传统的用户名和密码,而辅助源可以是预付卡号或PIN。与主认证源一样,可以定义主服务器和辅助服务器。

辅助身份验证源使用入网门户网站HTML的表单字段auth_user2和 auth_pass2,例如:

<tr>
    <td align="right">Username:</td>
    <td><input name="auth_user2" type="text" style="border: 1px dashed;"></td>
</tr>
<tr>
    <td align="right">Password:</td>
    <td><input name="auth_pass2" type="password" style="border: 1px dashed;"></td>
</tr>

计费

RADIUS计费会将会话信息发送回RADIUS服务器,指示用户的会话何时开始,结束以及他们传输了多少数据。

警告:并非所有RADIUS服务器都支持或配置为接受记帐数据,因此在启用此功能之前,请确保已正确设置RADIUS服务器。

计费端口:

通常配置RADIUS服务器接受记帐数据包的端口1813

计费更新:

这将配置服务器支持的特定类型的记帐。

没有更新: 与禁用记帐同义,它不会向服务器发送记帐更新。
停止/启动: 将仅为用户会话发送START和STOP记录。
停止/开始(FreeRADIUS):
将以与FreeRADIUS兼容的方式仅为用户会话发送START和STOP记录。
临时: 将发送START和STOP记录,并在用户会话处于活动状态时定期向服务器发送更新。如果防火墙重新启动而不通知RADIUS服务器发送STOP消息,则不太可能丢失会话数据,但会导致RADIUS服务器上的数据库使用量增加。

RADIUS选项

这些选项可以微调RADIUS身份验证的行为方式。

重新验证:

如果启用,对于每分钟登录的每个用户,Access-Reject命令将被发送到RADIUS服务器。如果收到用户的Access-Reject,则该用户立即与入网门户断开连接。这允许主动终止来自RADIUS服务器的用户会话。注意如果在RADIUS中定义了并发登录限制,则此选项可能无法正常工作,因为附加请求将失败,因为重新认证尝试将被视为第二次并发登录。

注意:如果将重新认证与RADIUS记帐结合使用,则 必须使用临时记费更新来跟踪会话期间的使用情况,否则RADIUS服务器将无法知道用户是否超出限制,直到他们注销为止。

RADIUS MAC认证:

如果启用此选项,入网门户将尝试通过将其MAC地址作为用户名和密码输入到RADIUS服务器的MAC身份验证密钥验证用户身份。如果禁用MAC过滤,则不能使用此选项。

RADIUS NAS IP属性:

此字段控制在Calling-Station属性中发送到RADIUS服务器的内容。从下拉列表中选择要使用的接口/ IP地址。

会话超时:

启用“使用RADIUS会话超时”属性后,将在“RADIUS Session-Timeout”属性检索的时间量后断开客户端连接。

类型:

设置客户端行为的RADIUS供应商类型。如果RADIUS 类型设置为Cisco,则Access-Request数据包的值将 Calling-Station-Id设置为客户端IP地址,Called-Station-Id设置为客户端MAC地址。默认行为是 Calling-Station-Id=客户端MAC地址,Called-Station-Id=防火墙WAN IP地址。

记帐方式:

当启用Invert Acct-Input-Octets和Acct-Output-Octets时,将从客户端角度而不是NAS获取RADIUS计费数据包的数据计数。Acct-Input-Octets将代表下载,Acct-Output-Octets代表上传。

NAS标识符:

默认情况下,防火墙的主机名作为NAS标识符发送。在此指定NAS标识符以覆盖默认值。

MAC地址格式:

此选项更改RADIUS中使用的MAC地址格式。更改此项以将RADIUS MAC身份验证的用户名格式更改为以下样式之一:

默认: 冒号分隔的数字对: 00:11:22:33:44:55
单个短划线: 两组中的数字,中间用一个短划线分隔: 001122-334455
IETF: 连字符分隔的数字对: 00-11-22-33-44-55
思科: 由句点分隔的四位数组: 0011.2233.4455
无格式: 所有数字无格式分隔符: 001122334455

HTTPS登录

选中此框使用HTTPS协议来登录门户网站页面。如果启用,还必须选择SSL证书。

HTTPS服务器名称:
指定要用于HTTPS的FQDN(主机名+域)。这必须与证书上的通用名(CN)匹配,以防止用户在其浏览器中收到错误证书。
SSL证书:
选择门户网站用于HTTPS登录的SSL证书。证书在证书管理中管理
禁用HTTPS转发:
选中时,尝试连接到端口443上的HTTPS站点不会重定向到门户。这可以防止用户收到无效的证书错误。用户必须尝试连接到HTTP站点,然后才会转发到门户。

HTML页面内容

使用这些控件,可以上传自定义HTML页面,以便在用户重定向到门户时改变呈现给用户的页面外观。

页面可以自定义,如果内容留空将使用pfsense的内部默认设置。

门户页面可以包含PHP代码,也可以包含其他内容,如图像和CSS文件。

警告:由于自定义门户网站页面可以运行PHP,因此请确保正确保护页面中的代码,以便连接用户无法利用它。同时避免向不受信任的管理员这个页面的编辑的权限。

在每个单独的部分中,可以使用显示的控件管理页面:

  • 要上传新页面,请单击“ 浏览”并选择要上载的文件。保存门户选项后,将复制该文件。
  • 要查看现有页面,请单击“  查看”
  • 要下载现有页面的副本,请单击“  下载”
  • 要删除自定义页面,请单击 “恢复默认页面”

门户页面内容

此控件用于呈现给用户的主门户页面。根据所选的门户选项,使用以下示例之一作为自定义页面的基础。

没有认证的门户页面

下面的示例是在不进行身份验证的情况下使用的门户页面的HTML。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<html>
<head>
	<title>Welcome to our portal</title>
</head>
<body>
	<p>Welcome to our portal</p>
	<p>Click Continue to access the Internet</p>
	<form method="post" action="$PORTAL_ACTION$">
		<input name="redirurl" type="hidden" value="$PORTAL_REDIRURL$">
		<input name="zone" type="hidden" value="$PORTAL_ZONE$">
		<input name="accept" type="submit" value="Continue">
	</form>
</body>
</html>
有认证的门户页面

这是一个需要身份验证的门户页面示例。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<html>
<head>
	<title>Welcome to our portal</title>
</head>
<body>
	<p>Welcome to our portal</p>
	<p>Enter your username and password and click Login to access the Internet</p>
	<form method="post" action="$PORTAL_ACTION$">
		<input name="auth_user" type="text">
		<input name="auth_pass" type="password">
		<input name="redirurl" type="hidden" value="$PORTAL_REDIRURL$">
		<input name="zone" type="hidden" value="$PORTAL_ZONE$">
		<input name="accept" type="submit" value="Login">
	</form>
</body>
</html>
带凭证的门户页面

以下是与凭证一起使用的示例门户页面。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<html>
<head>
	<title>Welcome to our portal</title>
</head>
<body>
	<p>Welcome to our portal</p>
	<p>Enter your voucher code and click Login to access the Internet</p>
	<form method="post" action="$PORTAL_ACTION$">
		<input name="auth_voucher" type="text">
		<input name="redirurl" type="hidden" value="$PORTAL_REDIRURL$">
		<input name="zone" type="hidden" value="$PORTAL_ZONE$">
		<input name="accept" type="submit" value="Login">
	</form>
</body>
</html>

认证错误页面内容

使用此控件,可以选择上传在发生身份验证错误时显示的自定义HTML页面。当用户输入错误的用户名或密码时,或者在RADIUS身份验证的情况下,无法访问RADIUS服务器时发生身份验证错误。

默认情况下,此错误页面只是登录页面。

注销页面内容

注销页面在登录后显示给用户,并触发弹出窗口。默认代码使用JavaScript以下列方式创建新窗口:

<html>
<head><title>Redirecting...</title></head>
<body>
<span style="font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 11px;">
<b>Redirecting to <a href="<?=$my_redirurl;?>"><?=$my_redirurl;?></a>...</b>
</span>
<script type="text/javascript">
//<![CDATA[
LogoutWin = window.open('', 'Logout', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=256,height=64');
if (LogoutWin) {
	LogoutWin.document.write('<html>');
	LogoutWin.document.write('<head><title>Logout</title></head>') ;
	LogoutWin.document.write('<body style="background-color:#435370">');
	LogoutWin.document.write('<div class="text-center" style="color: #ffffff; font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 11px;">') ;
	LogoutWin.document.write('<b>Click the button below to disconnect</b><p />');
	LogoutWin.document.write('<form method="POST" action="<?=$logouturl;?>">');
	LogoutWin.document.write('<input name="logout_id" type="hidden" value="<?=$sessionid;?>" />');
	LogoutWin.document.write('<input name="zone" type="hidden" value="<?=$cpzone;?>" />');
	LogoutWin.document.write('<input name="logout" type="submit" value="Logout" />');
	LogoutWin.document.write('</form>');
	LogoutWin.document.write('</div></body>');
	LogoutWin.document.write('</html>');
	LogoutWin.document.close();
}

document.location.href="<?=$my_redirurl;?>";
//]]>
</script>
</body>
</html>

大多数浏览器都有弹出窗口阻止程序,很可能会阻止该注销窗口出现,因此请研究使用类似代码创建JavaScript弹出窗口的其他可能方法。

MAC地址控制

“ MAC”选项卡定义MAC地址的操作,这些操作可以通过此区域的门户网站直通访问而无需身份验证,也可以阻止其到达门户网站。

要管理这些MAC条目:

  • 导航到“ 系统服务”>“入网门户”
  • 在要编辑的区域的行单击
  • 单击MAC选项卡
  • 单击  添加新条目
  • 填写表格如下:
    动作: 定义要对此条目执行的操作:

    通过: 始终允许来自此MAC地址的流量而无需身份验证。
    阻止: 始终拒绝来自此MAC地址的流量
    MAC地址: 允许的设备的MAC地址。该值必须是以冒号分隔的数字对,例如00:11:22:33:44:55
    描述: 如果需要,可以使用一些文本描述条目。
    带宽上/下:
    此设备可能使用的带宽量,以每秒千比特数指定。留空则不进行限制。
  • 单击保存

在此页面中,在特定的某一行可以通过单击来编辑条目,也可以通过单击将其删除。

允许的IP地址

“ 允许的IP地址”选项卡与“ MAC”选项卡的工作方式类似,不同之处在于它检查IP地址而不是MAC地址。将始终允许通过门户网站匹配指定IP地址和配置方向的流量,并且此区域中不进行身份验证。

IP地址:

始终通过门户网站的设备IP地址。

描述:

如果需要,可以使用一些文本描述条目。

方向:

允许流量匹配此IP地址的方向。

从: 允许通过门户从此IP地址获取的流量,例如尝试访问Internet的本地客户端IP地址,或必须到达门户网络上的主机的管理客户端的IP地址。
到: 允许使用此IP地址作为目标的流量,例如必须通过端口转发到达的本地Web服务器IP地址,或客户端必须始终到达的远程Web服务器IP地址。
两者: 允许此IP地址任意方向的流量。
带宽上/下:

此设备可以使用的带宽量。留空则不进行限制。

允许的主机名

允许的主机名允许的IP地址条目类似,但它们是通过主机名而不是IP地址配置的。守护程序会定期将主机名解析为IP地址,并允许它们通过门户网站而无需在此区域中进行身份验证。

此功能最常见的用途是创建一个“带围墙的花园”样式门户,允许用户访问一组受限制的站点,而无需对门户进行身份验证。如果该页面是在外部托管的,则这也常用于 预身份验证重定向URL

注意:网站通常会将许多主机名,内容交付网络或广告服务器用作其内容的一部分。为了允许站点完全加载,必须将所有这些附加站点添加到允许的主机名列表中。

方向:

允许流量匹配此主机名的方向。在允许主机名的大多数典型用例中,两者方向最适合。

到: 允许从本地客户端到与此主机名匹配的远程站点的连接,而不进行身份验证。例如,本地客户端必须始终可以访问的远程Web服务器,即使它们未登录也是如此。
从: 允许通过门户从此主机名获得的流量,例如尝试访问Internet的本地客户端的主机名。
两者: 允许此主机名的所有流量。
主机名:

目标主机或站点的完全限定域名(FQDN)。主机名必须存在于DNS中,以便可以将其解析为IP地址。

描述:

如果需要,可以使用一些文本描述条目。

带宽上/下:

进入或来自此主机名的带宽。留空则不进行限制。

凭证

凭证是一次性代码,用于通过入网门户获取Internet访问权限。每卷凭证都是以密码方式生成的,包括设定的时间限制。凭证通常在需要经过身份验证但有时间限制的Internet访问的地方实施,而无需向用户提供用户名和密码。

这种配置经常出现在咖啡店,酒店和机场等场所。用户在门户登录表单中输入凭证代码,并被授予对凭证卷配置的时间量的访问权限。凭证卷可以导出为CSV文件,有些公司甚至将导出的凭证列表集成到他们的销售点应用程序中,作为打印客户收据的凭证。

如果用户退出,凭证时间不会停止倒计时; 它们只允许从会话开始访问,直到凭证设定的持续时间结束。在此期间,凭证可以从相同或不同的计算机重复使用。如果再次从另一台计算机使用凭证,则会停止上一个会话。

需要公共/私有RSA密钥对来生成和验证凭证。第一次访问页面时,防火墙会自动生成32位密钥集,如果需要,可以手动生成自定义密钥对。支持的最大密钥长度为64位。使用较短的密钥将使生成的凭证更短,但可能不太安全。

要配置凭证:

  • 导航到“ 系统服务”>“入网门户”
  • 在要编辑的区域的行单击
  • 单击凭证选项卡
  • 选中启用
  • 根据需要填写表格。在大多数情况下,此屏幕上的其余选项可以保留其默认值。
凭证卷:

凭证卷在屏幕的此部分进行管理。列出了有关每个卷的信息以及添加新卷的链接。在配置并保存其他设置之后,此处不会显示任何选项。

凭证卷密钥:

用于生成和验证凭证的密钥。在区域上启用凭证之前,每次加载页面时都会随机生成这些值。一旦启用并保存凭证,就会设置密钥。

警告:保存后请注意不要更改密钥或其他卷位、票位,或者使所有当前凭证无效并且必须创建新的凭证卷。

凭证公钥:
此密钥用于解密凭证。可以使用预生成的密钥,或单击生成新密钥以创建新的公钥和私钥对。密钥也可以在别处生成,然后通过在此处粘贴PEM格式的RSA公钥(64位或更小)来使用。
凭证私钥:
此密钥用于生成凭证代码,如果凭证已脱机生成,则无需使用此密钥。如果密钥是在其他地方生成的,则可以使用预生成的密钥,或粘贴在PEM格式的RSA私钥(64位或更小)中。
字符集:

字符集定义哪些字符对凭证文本有效。字符集区分大小写,并且应包含难以与其他人混淆的可打印字符(数字,小写字母和大写字母)。例如,避免0(数字零),O(字母O), l(小写L)和1(数字一)。它不能包含空格,双引号或逗号。使用较小的字符集通常会导致更长的凭证以确保随机性。

凭证位:

以“位”字段控制凭证本身的生成方式。建议将这些值保留为默认值,但如果需要,可以对其进行调整。所有位字段的总和必须小于RSA密钥大小。例如,默认值是1610和 5。这些的总和是31,比默认的RSA密钥大小32小一位。

卷位: 用于存储卷ID的位数。将其设置得更大,以便同时激活大量卷。可以从1-31,默认值是16
票位:
用于存储故障单ID的位数。如果每个卷具有大量凭证,则将其设置得更大。可以从1到16,默认值是10
校验和位数:
在每个凭证中保留一个范围,以便在Roll位Ticket位上存储简单的校验和。允许范围为0-31,默认值为5
幻数:

幻数存储在每个凭证中,并在凭证检查期间进行验证。幻数的大小取决于卷位、票位和校验和的总数。如果使用了所有位,则不会使用或检查任何幻数。

无效凭证消息:

如果用户尝试输入不存在或除了过期之外的任何方式无效的凭证,则会向用户显示此消息。

过期凭证信息:

如果用户输入有效但已过期的凭证,则会向用户显示此消息。

  • 单击保存

保存设置后,凭证管理控件将处于活动状态。

管理凭证卷

凭证分批创建,名为Rolls。每个卷都具有该卷独有的特定设置。例如,卷可以具有8小时的时间限制,并且单独的卷可以具有12小时的时间限制。然后,用户可以根据他们购买的服务级别获得相应的凭证代码。

创建凭证卷

要创建卷,请单击卷列表下的“  添加 ”。

卷号:

卷的编号。每个卷必须具有唯一的编号。这可以是0到65535之间的任何数字。

时长:

定义凭证持续的时间,以分钟为单位。凭证时间从使用凭证开始倒计时,并且不会停止,因此请相应地计算凭证时长。因为这是以分钟为单位定义的,所以请确保使用正确的时长,例如,1440分钟为24小时。

凭证数量:

定义将在此卷上制作多少张优惠券。该值可以是0到1023。

注意:如果更改现有卷上的数量,则会使卷上的所有其他凭证无效 ,因此最好不要在创建卷后更改此凭证数量。

描述:

卷的描述供参考,例如。2 hour vouchers for coffee purchases

单击“ 保存”,即可使用新卷。

编辑现有的卷

可以通过单击编辑现有的凭证卷,但在进行更改时要小心。更改卷号凭证数量将导致卷上的当前凭证无效。

删除凭证卷

可以通过单击行的末尾来删除凭证卷。当卷被删除时,该卷中的所有凭证都将变为无效,因此除非已经完全使用,否则不要删除卷。

导出/下载凭证卷

单击下载包含指定卷的凭证文件。此操作会下载包含此卷的所有凭证代码的.csv格式电子表格。

在门户页面上使用凭证

凭证必须通过auth_voucher表格字段提交。有关示例,前面的介绍。

查看活动凭证券

当前活动凭证及其计时器的列表可以在系统状态>入网门户,区域的活动凭证选项卡上找到,如下图所示。


查看凭证卷利用率

系统状态>入网门户区域的凭证卷选项卡上可以找到凭证卷列表和已使用的数量,如下图所示。


测试凭证

可以系统状态>入网门户,区域的“ 测试凭证”选项卡中输入凭证代码来验证凭证的有效性。提交后,页面将显示代码是否有效,如果有效,则会显示凭证时间限制,如下图所示。测试凭证不会将其视为已使用或已过期,它仍可在以后免费使用。


过期凭证券

通过在系统状态>入网门户区域的“ 过期凭证”选项卡中输入凭证,可以在使用期间或之前使凭证无效。提交后,表单中列出的任何凭证将不再有效。在此页面上输入的有效凭证也会立即过期。如果需要批量过期任意数量的凭证券,输入由换行符分隔的凭证即可。

同步凭证券

凭证选项卡的底部,有用于将凭证与另一个设备同步的选项。这与高可用性设置中的XML-RPC配置同步类似。配置后,这会将凭证卷复制到目标单元,并在使用凭证时将有关活动凭证的信息推送到目标设备。

同步凭证数据库IP:
凭证同步的其他节点的目标IP地址或主机名。
凭证同步端口:
GUI正在侦听的目标节点上的端口(通常443)。
凭证同步用户名:
同步访问的用户名(必须 admin)。
凭证同步密码:
目标系统的GUI密码。

与高可用性集群中的配置同步不同,此同步在主节点和从节点上都配置。这样做是为了确保在从属节点处于活动状态时使用的优​​惠券在返回到活动状态时也会被发送回主节点。与配置同步不同,这不会创建循环。

为凭证券手动生成RSA密钥

RSA公钥和私钥可以在单独的系统上手动创建,以便与凭证一起使用。为凭证生成64位密钥的命令是:

$ openssl genrsa 64 > key64.private
$ openssl rsa -pubout < key64.private >key64.public

文件管理器

入网门户区域中的文件管理器选项卡用于上传可在门户页面内使用的文件,例如样式表,图像文件,PHP或JavaScript文件。所有文件的总大小限制为1 MB

文件名约定

使用文件管理器上传文件时,文件名将自动添加前缀captiveportal-。例如,如果logo.png上传,它将成为captiveportal-logo.png。如果文件名称中已包含该前缀,则不会更改名称。

这些文件将在此区域的入网门户网站服务器的根目录中提供。可以使用相对路径直接从门户页面HTML代码引用文件。

示例:使用文件管理器上传了captiveportal-logo.jpg文件,然后可以将其包含在门户页面中,如下所示:

<img src="captiveportal-logo.jpg" />

PHP脚本也可以上传,但是可能需要传递额外的参数才能正常工作,例如:

<a href="/captiveportal-aup.php?zone=$PORTAL_ZONE$&redirurl=$PORTAL_REDIRURL$">
    Acceptable usage policy
</a>

管理文件

要上传文件:

  • 导航到“ 系统服务”>“入网门户”
  • 在要进行上传的区域上单击编辑
  • 单击文件管理器选项卡
  • 点击
  • 单击“ 浏览”
  • 找到并选择要上传的文件
  • 单击上 执行上传

该文件将被传送到防火墙并存储在配置中。

要删除文件:

  • 导航到“ 系统服务”>“入网门户”
  • 在要进行上传的区域上单击编辑
  • 单击文件管理器选项卡
  • 在要删除的文件旁边单击
  • 单击“ 确定”来确认删除操作

该文件将从门户网站配置中删除,并且将不再可用于门户网站页面。

查看经过身份验证的入网门户用户

可以在系统状态>入网门户下找到该门户的当前活动用户列表。首先,选择一个区域,然后显示该区域的在线用户列表。根据身份验证设置,列表中可能会显示多种不同用户样式之一。

对于具有无身份验证的门户,显示内容如下图。


对于本地用户管理器或选择RADIUS身份验证,将显示如下图所示的列表。如果使用带有 MAC身份验证的RADIUS,则用户名将是MAC地址。


如果凭证处于活动状态,则使用凭证登录的用户将显示如下图所示。


入网门户故障排除

本节包含入网门户最常见问题的故障排除提示。

认证失败

身份验证失败通常是用户输入错误的用户名或密码的结果。在RADIUS身份验证的情况下,可能由于配置的RADIUS服务器的连接问题或RADIUS服务器本身的问题而发生这些情况。检查RADIUS服务器日志以获取拒绝访问的原因,并确保防火墙可以与RADIUS服务器通信。

对于本地用户,如果启用了要求入网门户登录权限的选项,请确保用户直接拥有该权限,或者是具有该权限的组的成员。

Portal页面长时间加载(超时),也不会加载任何其他页面

这通常是DNS故障。如果防火墙配置DNS,并且DNS服务器的“ 允许的IP地址”选项卡(允许的IP地址)下没有条目,则用户无法连接DNS来解析主机名。如果他们无法解析主机名,那么他们的浏览器甚至不会尝试加载网页,因此永远不会被重定向到门户页面。

要解决此问题,请使用防火墙IP地址和DNS转发器作为客户端DNS,或者为外部DNS服务器添加允许的IP地址条目。

另一种可能的情况是,与门户接口的防火墙规则不允许用户访问端口80上的网站。确保防火墙规则将流量传递到TCP端口80,并确保DNS正常工作,他们必须也能够在TCP和UDP端口53上访问配置的DNS服务器。

HTTPS主页用户不会被重定向到门户页面

无法以安全且无错误地为用户工作的方式重定向HTTPS浏览尝试。它要么根本不起作用,要么为用户提供他们通常信任的网站的可怕SSL证书警告。指示用户加载HTTP站点,然后将他们重定向到门户并接收登录提示。

Apple设备无法加载门户页面或登录

iOS上的某些版本的Safari无法正确处理入网门户页面的登录表单。最常见的解决方案是在iOS上的Safari中禁用表单的自动填充。

在某些情况下,如果无线网络使用加密,Apple设备将不会自动提示进行入网门户登录或测试其存在。在这些情况下,请手动打开浏览器并导航到HTTP站点以获取登录重定向。

有用户称,在旧版本的OS X上,Mac会拒绝加载任何HTTPS站点,包括HTTPS门户,直到它可以加载证书的CRL和OSCP URL。这已在当前版本的OS X中修复。

一些用户不得不添加www.apple.com到他们允许的主机名,以便Apple对他们的测试页面的调用成功。

转发到门户后面的主机的端口仅在目标系统登录时工作

这是门户网站运作方式的副作用。除非经过身份验证或通过门户网站传输,否则不允许任何流量到达门户网站后面的主机。如果端口转发必须始终对门户网站后面的设备起作用,则必须将其设置为绕过门户网站,并使用直通MAC条目(MAC地址控制)或允许的IP地址条目(允许的IP地址)来允许流量到达目标。