华为防火墙ssl xxx配置

本文详细介绍了如何在EVE-NG平台上配置SSLVPN,通过华为USG6K防火墙和思科交换机,实现员工在家或出差时远程访问内网资源,包括Web服务器、文件共享、设备管理及指定网段。步骤包括交换机配置、防火墙SSLVPN设置和安全策略制定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ipsec vpn,gre vpn 适合企业间的连接,要求连接的两端设备都可以配置;如果是出差的员工,或员工在家想连接到企业网的内部,这两类vpn就不能满足条件。

可以使用PPTP VPN ,L2TP VPN,SSL VPN,EZVPN(CISOCO 专有),其中以SSL VPN最为安全,应用最普遍。

SSL VPN(CISCO称为 web vpn),使用SSL(安全套接层)协议,实现隧道加密数据传输,客户端使用浏览器即可(L2TP要手工在系统中建立一个连接),浏览器使用HTTPS协议加密数据,客户端只要能上网,连接到SSLVPN设备即可。

本实验使用 EVE-NG平台,华为USG6K防火墙和思科的路由交换机实现。

拓扑:

在这里插入图片描述

图中,内网使用ospf 协议,防火墙使用默认路由访问外网。内网服务器使用eve-ng中的linux服务器模拟,如EVE中 没有的话也可以使用桥接到Vmware 中的虚拟机,外网用户模拟客户端,使用vmware中的windows。

准备:eve-ng中添加两块网卡,用于桥接到vmware虚拟机

在eve-ng中查看ip

目标:在防火墙上配置SSL VPN,使windows10客户端,可以访问到内网的web服务器、文件共享服务器、可以远程管理内网交换机、可以访问内网的指定网段。

配置步骤:

1、交换机配置

sw
ena
conf t

ip routing
int lo 0
ip add 172.16.100.254 255.255.255.255
int g0/0
ip add 192.168.10.2 255.255.255.0
no sh
int g0/1
ip add 172.16.10.1 255.255.255.0
no sh
int g0/2
ip add 172.16.20.1 255.255.255.0
no sh
exit

router ospf 1
net 172.16.10.0 0.0.0.255 area 0
net 172.16.10.0 0.0.0.255 area 0
net 192.168.10.0 0.0.0.255 area 0
net 172.16.100.254 0.0.0.0 area 0
exit

line vty 0 4
login
password 1234
exit

========intnet路由器配置
ena
conf t

int g0/0
ip add 11.1.1.2 255.255.255.0
no sh
int g0/1
ip add 192.168.20.20 255.255.255.0
no sh
exit
=======防火墙修改默认的ip地址,使其与宿主机一个网段,
sys
int g0/0/0
ip add 192.168.8.100 24

2、配置防火墙

使用web 配置,eve-ng中console密码为admin,web默认用户名、密码为:admin\Admin@123,首次登录要修改密码

​ 配置网络接口、加入到相应的域

​ 配置对象

​ 配置路由

​ 配置ssl vpn

​ 配置策略

​ 2.1 配置接口

image-20220217192419853

​ 2.2 配置路由

​ 默认路由,访问外网

image-20220217192651588

OSPF 访问内网

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s2jn7gEn-1645103076269)(https://raw.githubusercontent.com/github2cx/picgo/master/image-20220217192922820.png)]

​ 注,web界面配置ospf时,先新建ospf进程,确定后,点后面的“高级”,配置区域、网段等

​ 另:web界面没有引入默认路由的选项,在终端自行配置

​ default-route-advertise always

​ 查看路由表.,防火墙已经学到了内网的路由,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xNkt67M4-1645103076291)(https://raw.githubusercontent.com/github2cx/picgo/master/image-20220217194236231.png)]

2.3 配置对象

​ 地址对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jypFvcTD-1645103076293)(https://raw.githubusercontent.com/github2cx/picgo/master/image-20220217194441446.png)]

​ 用户对象,这里为ssl vpn的4种应用分别创建了4个用户,应用于web访问、

image-20220217194705779

2.4 配置ssl vpn

image-20220217194947055

​ 在模拟 器中,如果不能点下一步配置,配置完后点下一步没有反应,这时点“取消”,然后可以在SSL 配置进到下一步继续配置

​ ssl 配置默认,不用修改。

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IgLD6g0D-1645103076302)(https://raw.githubusercontent.com/github2cx/picgo/master/image-20220217195244940.png)]

​ 业务功能选择,即防火墙ssl vpn所支持的ssl vpn类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q5EIHhDf-1645103076305)(https://raw.githubusercontent.com/github2cx/picgo/master/image-20220217195434445.png)]

​ 配置web代理,填写相应资源

image-20220217195633749

​ 文件共享

image-20220217200321132

​ 端口转发

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gcT6k2TJ-1645103076311)(https://raw.githubusercontent.com/github2cx/picgo/master/image-20220217200520501.png)]

角色授权、用户,:创建角色授权资源,将资源关联到相应用户。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wDFIdOf9-1645103076313)(https://raw.githubusercontent.com/github2cx/picgo/master/image-20220217201010342.png)]

​ 分别为不同的类型vpn创建相应的用户和授权,完成

image-20220217201335393

4、创建相应的安全策略

​ 4。1 ssl vpn用户访问防火墙,

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sEtCN0lg-1645103076317)(https://raw.githubusercontent.com/github2cx/picgo/master/image-20220217203216038.png)]

​ 4。2 防火墙代理 访问内网的资源,web代理、文件共享都是这个策略生效

5、验证:在vmware 中的windows10虚拟机上访问防火墙外网接口,使用firefox,chrome浏览器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ui0M9l4u-1645103076319)(https://raw.githubusercontent.com/github2cx/picgo/master/image-20220217204401730.png)]

<think>好的,我现在需要帮助用户在树莓派上配置MQTT并连接到华为云平台。首先,我得回忆一下MQTT的基本概念和配置步骤。用户提到他们已经在华为云有相关的工具,比如生成鉴权三元组的在线工具,这可能涉及到ClientID、用户名和密码的设置。 首先,树莓派上安装MQTT客户端库,通常是用Python的paho-mqtt库。我需要确保用户正确安装了这个库,可以通过pip安装。然后,连接到华为云需要获取正确的连接参数,比如服务器地址、端口、设备ID、密钥等。用户提供的引用里提到,华为云的MQTT连接参数包括服务器地址、端口1883或8883(SSL),以及鉴权三元组。 接下来,生成鉴权三元组可能需要使用华为云提供的工具,引用[1]中的链接可能相关。用户需要登录华为云IoT平台,创建设备,获取设备ID、密钥,然后用工具生成用户名和密码。用户名通常包含设备ID、产品ID和时间戳,密码可能是使用密钥加密后的字符串。 然后,编写Python代码连接到MQTT服务器。代码结构可能包括导入库、设置参数、定义回调函数、连接和订阅主题。需要注意的是,引用[2]提到命令中的会话编号和消息格式,虽然这是针对AT指令的,但MQTT库的使用也需要正确处理参数,比如client_id、用户名、密码,以及保持连接的心跳间隔。 可能还需要处理SSL连接,如果需要使用8883端口,用户可能需要下载华为云的CA证书,并在代码中指定证书路径。引用[3]提到不同云平台的参数类似,可以用数组存储,所以用户可能需要灵活配置参数。 测试连接时,用户需要确保树莓派联网,并且防火墙允许MQTT端口的通信。发布和订阅消息时,主题需要符合华为云的规定,比如$oc/devices/{device_id}/sys/properties/report上报属性。 最后,用户可能需要参考示例代码,确保消息格式正确,并处理异常情况,比如网络断开重连。引用[4]中的树莓派示例可能提供了基本的框架,用户可以根据华为云的文档进行调整。 总结步骤:安装依赖、获取华为云连接参数、编写连接代码、测试连接并处理消息。需要提醒用户注意参数的正确性,尤其是设备ID和密钥,以及SSL证书的使用。可能的问题包括网络连接问题、参数错误或权限问题,需要逐步排查。</think>### 在树莓派上配置MQTT并连接华为云平台的步骤 #### 1. 安装MQTT客户端库 在树莓派终端执行以下命令安装Python的`paho-mqtt`库: ```bash pip install paho-mqtt ``` #### 2. 获取华为云MQTT连接参数 - **服务器地址**: 参考华为云IoT平台中设备详情页的接入地址,例如:`xxx.iotda.cn-north-4.myhuaweicloud.com`[^1] - **端口**: 非加密端口为`1883`,加密端口为`8883`(需配置SSL证书) - **设备ID**(ClientID): 在华为云IoT平台创建设备时分配的ID,格式如`xxx_xxx` - **用户名**: 格式为`{设备ID}@{产品ID}|{时间戳}|安全模式` - **密码**: 通过华为云工具生成的加密字符串,使用设备密钥和工具生成[^1] #### 3. 编写MQTT连接代码 ```python import paho.mqtt.client as mqtt # 华为云连接参数(替换为实际值) huawei_params = { "server": "xxx.iotda.cn-north-4.myhuaweicloud.com", "port": 1883, "client_id": "your_device_id", "username": "your_username", "password": "your_password" } def on_connect(client, userdata, flags, rc): if rc == 0: print("Connected to Huawei Cloud!") client.subscribe("$oc/devices/#") # 订阅设备主题 else: print(f"Connection failed with code {rc}") client = mqtt.Client(client_id=huawei_params["client_id"]) client.username_pw_set(huawei_params["username"], huawei_params["password"]) client.on_connect = on_connect try: client.connect(huawei_params["server"], huawei_params["port"], 60) client.loop_forever() except Exception as e: print(f"Connection error: {e}") ``` #### 4. 数据上报与订阅 - **上报属性**(JSON格式): ```python topic = f"$oc/devices/{huawei_params['client_id']}/sys/properties/report" payload = '{"services": [{"service_id": "temperature","properties": {"value": 25}}]}' client.publish(topic, payload) ``` - **订阅命令**:通过`on_message`回调处理云端下发的指令[^3] #### 5. 配置SSL加密(可选) 若使用8883端口,需下载华为云CA证书并修改代码: ```python client.tls_set(ca_certs="/path/to/ca.crt") client.connect(huawei_params["server"], 8883, 60) ``` #### 关键注意事项 1. 确保树莓派已通过`sudo raspi-config`启用网络接口并连接互联网 2. 设备密钥需通过华为云工具生成 3. 若使用企业版IoTDA,需核对地域节点地址 4. 心跳间隔建议设置为`60-120`秒[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值