华为配置访客接入WLAN网络示例(MAC优先的Portal认证)

配置访客接入WLAN网络示例(MAC优先的Portal认证)

组网图形

图1 配置WLAN MAC优先的Portal认证示例组网图
  • 业务需求
  • 组网需求
  • 数据规划
  • 配置思路
  • 配置注意事项
  • 操作步骤
  • 配置文件
业务需求

某企业为了提高WLAN网络的安全性,采用MAC优先的外置Portal认证方式,实现对用户的接入控制。

组网需求
  • AC组网方式:旁挂二层组网。
  • DHCP部署方式:
    • AC作为DHCP服务器为AP分配IP地址。
    • 汇聚交换机SwitchB作为DHCP服务器为STA分配IP地址。
  • 业务数据转发方式:隧道转发。
  • 认证方式:MAC优先的Portal认证。
  • 安全策略:开放认证。
数据规划
表1 AC数据规划表

配置项

数据

AP管理VLAN

VLAN100

STA业务VLAN

VLAN101

DHCP服务器

AC作为DHCP服务器为AP分配IP地址

汇聚交换机SwitchB作为DHCP服务器为STA分配IP地址,STA的默认网关为10.23.101.2

AP的IP地址池

10.23.100.2~10.23.100.254/24

STA的IP地址池

10.23.101.4~10.23.101.254/24

AC的源接口IP地址

VLANIF100:10.23.100.1/24

AP组

  • 名称:ap-group1
  • 绑定模板:VAP模板wlan-net、域管理模板default

域管理模板

  • 名称:default
  • 国家码:中国

SSID模板

  • 名称:wlan-net
  • SSID名称:wlan-net

安全模板

  • 名称:wlan-net
  • 安全策略:开放认证

RADIUS认证参数

RADIUS认证方案名称:wlan-net

RADIUS计费方案名称:wlan-net

RADIUS服务器模板名称:wlan-net,其中:

  • IP地址:10.23.102.1
  • 认证端口号:1812
  • 共享密钥:Huawei123

Portal服务器模板

  • 名称:wlan-net
  • IP地址:10.23.103.1
  • AC向Portal服务器主动发送报文时使用的目的端口号:50200
  • Portal认证共享密钥:Huawei123

Portal接入模板

  • 名称:wlan-net
  • 绑定的模板:Portal服务器模板wlan-net

MAC接入模板

名称:wlan-net

免认证规则模板

  • 名称:default_free_rule
  • 免认证资源:DNS服务器的地址(8.8.8.8)

认证模板

  • 名称:wlan-net
  • 绑定的模板和认证方案:Portal接入模板wlan-net、MAC接入模板wlan-net、RADIUS服务器模板wlan-net、免认证规则模板default_free_rule、认证方案wlan-net

VAP模板

  • 名称:wlan-net
  • 转发模式:隧道转发
  • 业务VLAN:VLAN101
  • 绑定模板:SSID模板wlan-net、安全模板wlan-net、认证模板wlan-net
配置思路
  1. 配置AP、AC和周边网络设备之间实现网络互通。
  2. 配置AP上线。
  3. 配置MAC优先的Portal认证。
    1. 配置RADIUS服务器参数。
    2. 配置针对外置Portal服务器的Portal接入模板,管理Portal接入控制参数。
    3. 配置MAC接入模板,用于MAC优先的Portal认证。
    4. 配置免认证规则模板,实现AC放行访问DNS服务器的报文。
    5. 配置认证模板,管理MAC优先Portal认证的相关配置。
  4. 配置WLAN业务参数。
  5. 配置第三方服务器参数。
配置注意事项
操作步骤
  1. 配置周边设备

    # 配置接入交换机SwitchA的GE0/0/1和GE0/0/2接口加入VLAN100,GE0/0/1的缺省VLAN为VLAN100。
    <span style="color:#333333"><span style="background-color:#dddddd"><HUAWEI> <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1378448865190921">system-view</strong>
    [HUAWEI] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1648629339190921">sysname SwitchA</strong>
    [SwitchA] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1879648753190921">vlan batch 100</strong>
    [SwitchA] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1340153122190921">interface gigabitethernet 0/0/1</strong>
    [SwitchA-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b629503485190921">port link-type trunk</strong>
    [SwitchA-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1384660746190921">port trunk pvid vlan 100</strong>
    [SwitchA-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b857905420190921">port trunk allow-pass vlan 100</strong>
    [SwitchA-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1233357300190921">port-isolate enable</strong>
    [SwitchA-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b994568433190921">quit</strong>
    [SwitchA] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b562585562190921">interface gigabitethernet 0/0/2</strong>
    [SwitchA-GigabitEthernet0/0/2] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1829872941190921">port link-type trunk</strong>
    [SwitchA-GigabitEthernet0/0/2] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1270991033190921">port trunk allow-pass vlan 100</strong>
    [SwitchA-GigabitEthernet0/0/2] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b917081183190921">quit</strong></span></span>
    # 配置汇聚交换机SwitchB的接口GE0/0/1和GE0/0/2加入VLAN100,接口GE0/0/2和GE0/0/3加入VLAN101。
    <span style="color:#333333"><span style="background-color:#dddddd"><HUAWEI> <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1540762340190921">system-view</strong>
    [HUAWEI] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b733737892190921">sysname SwitchB</strong>
    [SwitchB] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b625700484190921">vlan batch 100 101</strong>
    [SwitchB] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1740338427190921">interface gigabitethernet 0/0/1</strong>
    [SwitchB-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b819345497190921">port link-type trunk</strong>
    [SwitchB-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1981678118190921">port trunk allow-pass vlan 100</strong>
    [SwitchB-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b788140868190921">quit</strong>
    [SwitchB] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1074199566190921">interface gigabitethernet 0/0/2</strong>
    [SwitchB-GigabitEthernet0/0/2] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b687704922190921">port link-type trunk</strong>
    [SwitchB-GigabitEthernet0/0/2] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b963557263190921">port trunk allow-pass vlan 100 101</strong>
    [SwitchB-GigabitEthernet0/0/2] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b208179163190921">quit</strong>
    [SwitchB] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1144409798190921">interface gigabitethernet 0/0/3</strong>
    [SwitchB-GigabitEthernet0/0/3] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1587006719190921">port link-type trunk</strong>
    [SwitchB-GigabitEthernet0/0/3] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b936690975190921">port trunk allow-pass vlan 101</strong>
    [SwitchB-GigabitEthernet0/0/3] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b128121589190921">quit</strong></span></span>
    # 配置Router的接口GE1/0/0加入VLAN101,创建接口VLANIF101并配置IP地址为10.23.101.2/24。
    <span style="color:#333333"><span style="background-color:#dddddd"><Huawei> <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b118005268190921">system-view</strong>
    [Huawei] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1176501588190921">sysname Router</strong>
    [Router] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b995805857190921">vlan batch 101</strong>
    [Router] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b906637926190921">interface gigabitethernet 1/0/0</strong>
    [Router-GigabitEthernet1/0/0] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b406876624190921">port link-type trunk</strong>
    [Router-GigabitEthernet1/0/0] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1226529678190921">port trunk allow-pass vlan 101</strong>
    [Router-GigabitEthernet1/0/0] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1131638750190921">quit</strong>
    [Router] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b648829236190921">interface vlanif 101</strong>
    [Router-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1969966747190921">ip address 10.23.101.2 24</strong>
    [Router-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1246477905190921">quit</strong></span></span>
  2. 配置AC与其它网络设备互通

    如果AC直接连接AP,需要在AC直连AP的接口上配置缺省VLAN为管理VLAN100。

    # 配置AC的接口GE0/0/1加入VLAN100和VLAN101。
    <span style="color:#333333"><span style="background-color:#dddddd"><HUAWEI> <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1533901828190921">system-view</strong>
    [HUAWEI] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b783909607190921">sysname AC</strong>
    [AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b362960974190921">vlan batch 100 101</strong>
    [AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1510739881190921">interface gigabitethernet 0/0/1</strong>
    [AC-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1936092745190921">port link-type trunk</strong>
    [AC-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b273575249190921">port trunk allow-pass vlan 100 101</strong>
    [AC-GigabitEthernet0/0/1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912351_b1361668507190921">quit</strong></span></span>
  3. 配置DHCP服务器为STA和AP分配IP地址

    # 在AC上配置VLANIF100接口为AP提供IP地址。
    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b711639644190921">dhcp enable</strong>
    [AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b1055227818190921">interface vlanif 100</strong>
    [AC-Vlanif100] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b878432229190921">ip address 10.23.100.1 24</strong>
    [AC-Vlanif100] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b902042368190921">dhcp select interface</strong>
    [AC-Vlanif100] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b228085806190921">quit</strong></span></span>
    # 在SwitchB上配置VLANIF101接口为STA提供IP地址,并指定10.23.101.2作为STA的默认网关地址。
    <span style="color:#333333"><span style="background-color:#dddddd">[SwitchB] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b445048241190921">dhcp enable</strong>
    [SwitchB] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b1144904700190921">interface vlanif 101</strong>
    [SwitchB-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b1559304752190921">ip address 10.23.101.1 24</strong>
    [SwitchB-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b1149346953190921">dhcp select interface</strong>
    [SwitchB-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b1579355491190921">dhcp server gateway-list 10.23.101.2</strong>
    [SwitchB-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b1369127985190921">dhcp server dns-list 8.8.8.8</strong>
    [SwitchB-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b164513563115">dhcp server excluded-ip-address 10.23.101.3</strong>
    [SwitchB-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b498563281190921">quit</strong></span></span>
  4. 配置AC的缺省路由,下一跳为Router的VLANIF101

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b101939117119">interface vlanif 101</strong> 
    [AC-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b165133819117">ip address 10.23.101.3 24</strong> 
    [AC-Vlanif101] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_b14781391117">quit</strong>
    [AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912405_zh-cn_task_0176912407_b353437490190921">ip route-static 0.0.0.0 0.0.0.0 10.23.101.2</strong></span></span>
  5. 配置AP上线

    # 创建AP组,用于将相同配置的AP都加入同一AP组中。
    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b1451837292190921">wlan</strong>
    [AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b1710308668190921">ap-group name ap-group1</strong>
    [AC-wlan-ap-group-ap-group1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b294415960190921">quit</strong></span></span>
    # 创建域管理模板,在域管理模板下配置AC的国家码并在AP组下引用域管理模板。
    <span style="color:#333333"><span style="background-color:#dddddd">[AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b1815954045190921">regulatory-domain-profile name default</strong>
    [AC-wlan-regulate-domain-default] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b1765454957190921">country-code cn</strong>
    [AC-wlan-regulate-domain-default] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b464951690190921">quit</strong>
    [AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b1132959133190921">ap-group name ap-group1</strong>
    [AC-wlan-ap-group-ap-group1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b4510754102210">regulatory-domain-profile default</strong>
    Warning: Modifying the country code will clear channel, power and antenna gain configurations of the radio and reset the AP. Continue?[Y/N]:<strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_zh-cn_task_0175818418_b17491131153716">y</strong>  
    [AC-wlan-ap-group-ap-group1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b101836067190921">quit</strong>
    [AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b465166413190921">quit</strong></span></span>
    # 配置AC的源接口。

    V200R021C00版本开始,配置CAPWAP源接口或源地址时,会检查和安全相关的配置是否已存在,包括DTLS加密的PSK、AC间DTLS加密的PSK、登录AP的用户名和密码、全局离线管理VAP的登录密码,均已存在才能成功配置,否则会提示用户先完成相关的配置。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b806281647190921">capwap source interface vlanif 100</strong>
    Set the DTLS PSK(contains 6-32 plain-text characters, or 48 or 68 cipher-text characters that must be a combination of at least two of the following: lowercase letters a to z, uppercase letters A to Z, digits, and special characters):******Set the DTLS inter-controller PSK(contains 6-32 plain-text characters, or 48 or 68 cipher-text characters that must be a combination of at least two of the following: lowercase letters a to z, uppercase letters A to Z, digits, and special characters):******Set the user name for FIT APs(contains 4-31 plain-text characters, which can only include letters, digits and underlines. And the first character must be a letter):adminSet the password for FIT APs(plain-text password of 8-128 characters or cipher-text password of 48-188 characters that must be a combination of at least three of the following: lowercase letters a to z, uppercase letters A to Z, digits, and special characters):********Set the global temporary-management psk(contains 8-63 plain-text characters, or 48-108 cipher-text characters that must be a combination of at least two of the following: lowercase letters a to z, uppercase letters A to Z, digits, and special characters):********</span></span>
    # 开启CAPWAP DTLS不认证方式。(V200R021C00及之后版本)
    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b15163144818377">capwap dtls no-auth enable</strong></span></span>
    # 在AC上离线导入AP,并将AP加入AP组“ap-group1”中。假设AP的MAC地址为60de-4476-e360,并且根据AP的部署位置为AP配置名称,便于从名称上就能够了解AP的部署位置。例如MAC地址为60de-4476-e360的AP部署在1号区域,命名此AP为area_1。

    ap auth-mode命令缺省情况下为MAC认证,如果之前没有修改其缺省配置,可以不用执行ap auth-mode mac-auth

    举例中使用的AP为AP5030DN,具有射频0和射频1两个射频。AP5030DN的射频0为2.4GHz射频,射频1为5GHz射频。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b763711121190921">wlan</strong>
    [AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b1389711844190921">ap auth-mode mac-auth</strong>
    [AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b1382708357190921">ap-id 0 ap-mac 60de-4476-e360</strong>
    [AC-wlan-ap-0] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b1272920990190921">ap-name area_1</strong>
    Warning: This operation may cause AP reset. Continue? [Y/N]:<strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_zh-cn_task_0175818418_b460951517190906">y</strong>  
    [AC-wlan-ap-0] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b614746147190921">ap-group ap-group1</strong>
    Warning: This operation may cause AP reset. If the country code changes, it will clear channel, power and antenna gain configuration s of the radio, Whether to continue? [Y/N]:<strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_zh-cn_task_0175818418_b1651706244190906">y</strong>  
    [AC-wlan-ap-0] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b959850628190921">quit</strong></span></span>
    # 将AP上电后,当执行命令display ap all查看到AP的“State”字段为“nor”时,表示AP正常上线。
    <span style="color:#333333"><span style="background-color:#dddddd">[AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b482061123190921">display ap all</strong>
    Total AP information:
    nor  : normal          [1]
    Extra information:
    P  : insufficient power supply
    --------------------------------------------------------------------------------------------------
    ID   MAC            Name   Group     IP            Type            State STA Uptime      ExtraInfo
    --------------------------------------------------------------------------------------------------
    0    60de-4476-e360 area_1 ap-group1 10.23.100.254 AP5030DN        nor   0   10S         -
    --------------------------------------------------------------------------------------------------
    Total: 1</span></span>
    # 关闭CAPWAP DTLS不认证方式。(V200R021C00及之后版本)
    <span style="color:#333333"><span style="background-color:#dddddd">[AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b3420155514467">quit</strong>
    [AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b1898583494615">undo capwap dtls no-auth enable</strong>
    [AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_zh-cn_task_0176912351_b9381917104714">wlan</strong></span></span>
  6. 配置RADIUS服务器模板、RADIUS认证方案和RAIUDS计费方案

    请确保AC上的RADIUS服务器地址、端口号、共享密钥配置正确,并且和RADIUS服务器保持一致。

    # 配置RADIUS服务器模板。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b492904745190921">radius-server template wlan-net</strong>
    [AC-radius-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1411295529190921">radius-server authentication 10.23.102.1 1812</strong>
    [AC-radius-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1938007053190921">radius-server shared-key cipher Huawei123</strong>
    [AC-radius-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1499613248190921">quit</strong></span></span>

    # 创建认证方案并配置认证方式为RADIUS。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1264663344190921">aaa</strong>
    [AC-aaa] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1098154721190921">authentication-scheme wlan-net</strong>
    [AC-aaa-authen-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1677618136190921">authentication-mode radius</strong>
    [AC-aaa-authen-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b370464704190921">quit</strong></span></span>

    # 创建计费方案并配置计费方式为RADIUS。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC-aaa] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1762425233190921">accounting-scheme wlan-net</strong>
    [AC-aaa-accounting-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b55021767190921">accounting-mode radius</strong>
    [AC-aaa-accounting-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b2108345858190921">accounting realtime 15</strong>
    [AC-aaa-accounting-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b714368537190921">quit</strong>
    [AC-aaa] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1215217005190921">quit</strong></span></span>
  7. 配置Portal认证页面URL地址,在用户认证成功前,AC将用户的访问地址重定向到Portal服务器

    为了重定向更安全和快速,建议采用域名方式,但需要提前在DNS服务器配置域名与服务器IP地址的映射关系。

    AC上配置的URL携带的参数字段名称,和服务器侧应保持一致。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1736090673190921">url-template name wlan-net</strong>
    [AC-url-template-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b712872385190921">url http://portal.com:8080/portal</strong>
    [AC-url-template-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b326131409190921">url-parameter ssid ssid redirect-url url</strong> 
    [AC-url-template-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1636877311190921">quit</strong></span></span>
  8. 配置Portal服务器模板

    请确保AC上Portal服务器地址、URL地址、端口号、共享密钥配置正确,并且和Portal服务器保持一致。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b20330122471">web-auth-server wlan-net</strong>
    [AC-web-auth-server-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b188253944190921">server-ip 10.23.103.1</strong>
    [AC-web-auth-server-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b22775658190921">shared-key cipher Huawei123</strong>
    [AC-web-auth-server-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b861772058190921">port 50200</strong>
    [AC-web-auth-server-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1167730443190921">url-template wlan-net ciphered-parameter-name cpname iv-parameter-name iv-value key cipher Huawei123</strong>
    [AC-web-auth-server-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1331362300190921">quit</strong></span></span>
  9. 配置Portal接入模板“wlan-net”,并配置Portal认证为二层Portal认证

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1662254875190921">portal-access-profile name wlan-net</strong>
    [AC-portal-access-profile-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b847482265190921">web-auth-server wlan-net direct</strong>
    [AC-portal-access-profile-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1932523822190921">quit</strong></span></span>
  10. 配置MAC接入模板,用于MAC优先的Portal认证

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1150285380190921">mac-access-profile name wlan-net</strong>
    [AC-mac-access-profile-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b367512255190921">quit</strong></span></span>
  11. 配置免认证规则模板

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b634544889190921">free-rule-template name default_free_rule</strong>
    [AC-free-rule-default_free_rule] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b644366632190921">free-rule 1 destination ip 8.8.8.8 mask 32</strong>
    [AC-free-rule-default_free_rule] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1254320304190921">quit</strong></span></span>
  12. 配置认证模板“wlan-net”,并启用MAC优先的Portal认证

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1535137013190921">authentication-profile name wlan-net</strong>
    [AC-authentication-profile-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b690170990190921">portal-access-profile wlan-net</strong>
    [AC-authentication-profile-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b576846439190921">mac-access-profile wlan-net</strong>
    [AC-authentication-profile-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b853952414190921">free-rule-template default_free_rule</strong>
    [AC-authentication-profile-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1975032986190921">authentication-scheme wlan-net</strong>
    [AC-authentication-profile-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1572706533190921">radius-server wlan-net</strong>
    [AC-authentication-profile-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_b1257778287190921">quit</strong></span></span>
  13. 配置WLAN业务参数

    # 创建名为“wlan-net”的安全模板,并配置安全策略为open方式的开放认证。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b982468269190921">wlan</strong>
    [AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b2027528593190921">security-profile name wlan-net</strong>
    [AC-wlan-sec-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b310418272495">security open</strong>
    [AC-wlan-sec-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b1660879724190921">quit</strong></span></span>

    # 创建名为“wlan-net”的SSID模板,并配置SSID名称为“wlan-net”。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b1513267590190921">ssid-profile name wlan-net</strong>
    [AC-wlan-ssid-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b1952602602190921">ssid wlan-net</strong>
    [AC-wlan-ssid-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b436090000190921">quit</strong></span></span>

    # 创建名为“wlan-net”的VAP模板,配置业务数据转发模式、业务VLAN,并且引用安全模板、SSID模板和认证模板。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b2127803072190921">vap-profile name wlan-net</strong>
    [AC-wlan-vap-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b1688225981190921">forward-mode tunnel</strong>
    [AC-wlan-vap-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b669007821190921">service-vlan vlan-id 101</strong>
    [AC-wlan-vap-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b295713043190921">security-profile wlan-net</strong>
    [AC-wlan-vap-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b286235336190921">ssid-profile wlan-net</strong>
    [AC-wlan-vap-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b605340407190921">authentication-profile wlan-net</strong>
    [AC-wlan-vap-prof-wlan-net] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b577474560190921">quit</strong></span></span>

    # 配置AP组引用VAP模板,AP上射频0和射频1都使用VAP模板“wlan-net”的配置。

    <span style="color:#333333"><span style="background-color:#dddddd">[AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b1757833944190921">ap-group name ap-group1</strong>
    [AC-wlan-ap-group-ap-group1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b1334631011190921">vap-profile wlan-net wlan 1 radio 0</strong>
    [AC-wlan-ap-group-ap-group1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b167799938190921">vap-profile wlan-net wlan 1 radio 1</strong>
    [AC-wlan-ap-group-ap-group1] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b465567152190921">quit</strong>
    [AC-wlan-view] <strong id="ZH-CN_TASK_0176912322__zh-cn_task_0176912407_zh-cn_task_0176912406_b1912085097190921">quit</strong></span></span>
  14. 配置第三方服务器

    具体配置方法建议参考相应的产品手册。

  15. 检查配置结果

    • 完成配置后,STA可以搜索到SSID为wlan-net的无线网络。

    • STA关联到无线网络上后,能够被分配相应的IP地址。
    • STA上打开浏览器访问网络时,会自动跳转到外置Portal服务器提供的认证页面,在页面上输入正确的用户名和密码后,STA认证成功并可以正常访问网络。
    • 假设服务器配置的MAC地址有效时间为60分钟。用户断开无线网络5分钟,重新连接无线网络时,可以直接访问;用户断开无线网络65分钟,重新连接无线网络时,会被重定向到Portal认证页面。
配置文件
  • SwitchA的配置文件

    <span style="color:#333333"><span style="background-color:#dddddd">#
    sysname SwitchA
    #
    vlan batch 100
    #
    interface GigabitEthernet0/0/1port link-type trunkport trunk pvid vlan 100port trunk allow-pass vlan 100port-isolate enable group 1
    #
    interface GigabitEthernet0/0/2port link-type trunkport trunk allow-pass vlan 100
    #
    return</span></span>
  • SwitchB的配置文件

    <span style="color:#333333"><span style="background-color:#dddddd">#
    sysname SwitchB
    #
    vlan batch 100 to 101
    #
    dhcp enable
    #
    interface Vlanif101ip address 10.23.101.1 255.255.255.0dhcp select interfacedhcp server gateway-list 10.23.101.2dhcp server dns-list 8.8.8.8dhcp server excluded-ip-address 10.23.101.3
    #
    interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 100
    #
    interface GigabitEthernet0/0/2port link-type trunkport trunk allow-pass vlan 100 to 101
    #
    interface GigabitEthernet0/0/3port link-type trunkport trunk allow-pass vlan 101
    #
    return</span></span>
  • Router的配置文件

    <span style="color:#333333"><span style="background-color:#dddddd">#
    sysname Router
    #
    vlan batch 101
    #
    interface Vlanif101ip address 10.23.101.2 255.255.255.0
    #
    interface GigabitEthernet1/0/0port link-type trunkport trunk allow-pass vlan 101
    #
    return
    </span></span>
  • AC的配置文件

    <span style="color:#333333"><span style="background-color:#dddddd">#sysname AC
    #
    vlan batch 100 to 101
    #
    authentication-profile name wlan-netmac-access-profile wlan-netportal-access-profile wlan-netfree-rule-template default_free_ruleauthentication-scheme wlan-netradius-server wlan-net
    #
    dhcp enable
    #
    aaaauthentication-scheme wlan-netauthentication-mode radiusaccounting-scheme wlan-netaccounting-mode radiusaccounting realtime 15
    #
    interface Vlanif100ip address 10.23.100.1 255.255.255.0dhcp select interface
    #
    interface Vlanif101ip address 10.23.101.3 255.255.255.0
    #
    interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 100 101
    #
    ip route-static 0.0.0.0 0.0.0.0 10.23.101.2 
    #
    capwap source interface vlanif100
    #
    radius-server template wlan-netradius-server shared-key cipher %^%#Oc6_BMCw#9gZ2@SMVtk!PAC6>Ou*eLW/"qLp+f#$%^%#radius-server authentication 10.23.102.1 1812 weight 80
    #
    free-rule-template name default_free_rulefree-rule 1 destination ip 8.8.8.8 mask 255.255.255.255
    #
    url-template name wlan-neturl http://portal.com:8080/portal
    #
    web-auth-server wlan-netserver-ip 10.23.103.1port 50200shared-key cipher %^%#4~ZXE3]6@BXu;2;aw}hA{rSb,@"L@T#e{%6G1AiD%^%#url-template wlan-net ciphered-parameter-name cpname iv-parameter-name iv-value key cipher %^%#4~ZXE3]6@BXu;2;aw}hA{rSb,@"L@T#e{%6G1AiD%^%#
    #
    portal-access-profile name wlan-netweb-auth-server wlan-net direct
    #
    wlansecurity-profile name wlan-netssid-profile name wlan-netssid wlan-netvap-profile name wlan-netforward-mode tunnelservice-vlan vlan-id 101ssid-profile wlan-netsecurity-profile wlan-netauthentication-profile wlan-netap-group name ap-group1regulatory-domain-profile defaultradio 0vap-profile wlan-net wlan 1radio 1vap-profile wlan-net wlan 1ap-id 0 type-id 35 ap-mac 60de-4476-e360 ap-sn 210235554710CB000042ap-name area_1ap-group ap-group1
    #
    mac-access-profile name wlan-net
    #
    return</span></span>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/255249.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【力扣 51】N 皇后(回溯+剪枝+深度优先搜索)

按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 每一种…

开源微服务平台框架的特点是什么?

借助什么平台的力量&#xff0c;可以让企业实现高效率的流程化办公&#xff1f;低代码技术平台是近些年来较为流行的平台产品&#xff0c;可以帮助很多行业进入流程化办公新时代&#xff0c;做好数据管理工作&#xff0c;从而提升企业市场竞争力。流辰信息专业研发低代码技术平…

MySQL-SQL优化

文章目录 1. SQL性能分析1.1 SQL执行频率1.2 慢查询日志1.3 profile详情1.4 explain 2. SQL优化2.1 Insert 优化2.2 Group By 优化2.3 Order By 优化2.4 Limit 优化2.5 Count() 优化2.6 Update 优化 3. 拓展3.1 请你说一下MySQL中的性能调优的方法&#xff1f;3.2 执行 SQL 响应…

Unity2D 学习笔记 0.Unity需要记住的常用知识

Unity2D 学习笔记 0.Unity需要记住的常用知识 前言调整Project SettingTilemap相关&#xff08;创建地图块&#xff09;C#脚本相关程序运行函数private void Awake()void Start()void Update() Collider2D碰撞检测private void OnTriggerStay2D(Collider2D player)private void…

4.0 Zookeeper Java 客户端搭建

本教程使用的 IDE 为 IntelliJ IDEA&#xff0c;创建一个 maven 工程&#xff0c;命名为 zookeeper-demo&#xff0c;并且引入如下依赖&#xff0c;可以自行在maven中央仓库选择合适的版本&#xff0c;介绍原生 API 和 Curator 两种方式。 IntelliJ IDEA 相关介绍&#xff1a;…

离开亚马逊7.5年后的真心话

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

深度学习(14)--x.view()详解

在torch中&#xff0c;常用view()函数来改变tensor的形状 查询官方文档&#xff1a; torch.Tensor.view — PyTorch 2.2 documentationhttps://pytorch.org/docs/stable/generated/torch.Tensor.view.html#torch.Tensor.view示例 1.创建一个4x4的二维数组进行测试 x torch.…

鸿蒙开发系列教程(十四)--组件导航:Tabs 导航

Tabs 导航 Tabs组件的页面组成包含两个部分&#xff0c;分别是TabContent和TabBar。TabContent是内容页&#xff0c;TabBar是导航页签栏 每一个TabContent对应的内容需要有一个页签&#xff0c;可以通过TabContent的tabBar属性进行配置 设置多个内容时&#xff0c;需在Tabs…

尚硅谷 Vue3+TypeScript 学习笔记(下)

目录 五、组件通信 5.1. 【props】 5.2. 【自定义事件】 5.3. 【mitt】 5.4.【v-model】 5.5.【$attrs】 5.6. 【$refs、$parent】 5.7. 【provide、inject】 5.8. 【pinia】 5.9. 【slot】 1. 默认插槽 2. 具名插槽 3. 作用域插槽 六、其它 API 6.1.【shallowR…

发送get请求并且发送请求头(header),java实现

发送get请求时&#xff0c;发送请求头&#xff08;Header&#xff09;中的内容 方便第二次调用其他url时传递参数&#xff0c;例如userCode或者租户编码 调用方式 Autowired private HttpServletRequest request;先注入HttpServletRequestpublic xxx xxx(){String url &quo…

【C++修行之道】(引用、函数提高)

目录 一、引用 1.1引用的基本使用 1.2 引用注意事项 1.3 引用做函数参数 1.4 引用做函数返回值 1.5 引用的本质 1.6 常量引用 1.7引用和指针的区别 二、函数提高 2.1 函数默认参数 2.2函数占位参数 2.3 函数重载 2.4函数重载注意事项 一、引用 1.1引用的基本使用 …

Vue代理模式和Nginx反向代理(Vue代理部署不生效)

在使用axios时&#xff0c;经常会遇到跨域问题。为了解决跨域问题&#xff0c;可以在 vue.config.js 文件中配置代理&#xff1a; const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,devServer: {port: 7070,prox…

Nginx 配置 SSL证书

成功配置SSL证书后&#xff0c;您将能够通过HTTPS加密通道安全访问Nginx服务器。 一、准备材料 SSL证书绑定的域名已完成DNS解析&#xff0c;即您的域名与主机IP地址相互映射。您可以通过DNS验证证书工具&#xff0c;检测域名DNS解析是否生效。具体操作&#xff1a; 【1】登录…

python-游戏篇-初级-超级画板

文章目录 开发环境要求运行方法PyCharmVScode 代码main.pytools.py 效果 开发环境要求 本系统的软件开发及运行环境具体如下。 操作系统&#xff1a;Windows 7、Windows 10。Python版本&#xff1a;Python 3.7.1。开发工具&#xff1a;PyCharm 2018。Python内置模块&#xff…

13. Threejs案例-绘制3D文字

13. Threejs案例-绘制3D文字 实现效果 知识点 FontLoader 一个用于加载 JSON 格式的字体的类。 返回 font&#xff0c;返回值是表示字体的 Shape 类型的数组。 其内部使用 FileLoader 来加载文件。 构造器 FontLoader( manager : LoadingManager ) 参数类型描述managerLo…

微信小程序(三十四)搜索框-带历史记录

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.搜索框基本模板 2.历史记录基本模板 3.细节处理 源码&#xff1a; index.wxml <!-- 1.点击搜索按钮a.非空判断b.历史记录&#xff08;去重&#xff09;c.清空搜索框d.去除前后多余空格2.删除搜索 3.无搜索…

问题:老年人心理健康维护与促进的原则为________、________、发展原则。 #媒体#知识分享

问题&#xff1a;老年人心理健康维护与促进的原则为________、________、发展原则。 参考答案如图所示

深度学习驱动下的自然语言处理进展及其应用前景

文章目录 每日一句正能量前言技术进步应用场景挑战与前景自然语言处理技术当前面临的挑战未来的发展趋势和前景 伦理和社会影响实践经验后记 每日一句正能量 一个人若想拥有聪明才智&#xff0c;便需要不断地学习积累。 前言 自然语言处理&#xff08;NLP&#xff09;是一项正…

【C++第二阶段】空指针访问成员函数常成员函数常成员属性

你好你好&#xff01; 以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 空指针访问成员函数常成员函数&常成员属性 空指针访问成员函数 类对象类型的空指针可以访问成员函数&#xff0c;但是不能够访问带有成员属性的成员函数。…

[C#] 如何使用ScottPlot.WPF在WPF桌面程序中绘制图表

什么是ScottPlot.WPF&#xff1f; ScottPlot.WPF 是一个开源的数据可视化库&#xff0c;用于在 WPF 应用程序中创建高品质的绘图和图表。它是基于 ScottPlot 库的 WPF 版本&#xff0c;提供了简单易用的 API&#xff0c;使开发人员能够通过简单的代码创建各种类型的图表&#…