• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

dnat,本机上面打开模拟器里的服务器

2天前提问
  • 0关注
  • 0收藏,42浏览
粉丝:0人 关注:0人

问题描述:

3 个回答
粉丝:2人 关注:9人

配置DNAT将公网IP的端口映射到模拟器服务器的内网IP和端口。

关键命令(接口视图下):
nat server protocol tcp global [公网IP] [外部端口] inside [服务器内网IP] [内部端口]

例如,将公网IP 1.1.1.1的TCP 80端口映射到内网服务器192.168.1.100的80端口:
nat server protocol tcp global 1.1.1.1 80 inside 192.168.1.100 80

配置前确保安全策略或ACL允许相应流量通过。

粉丝:8人 关注:0人

这个错误 SSL_ERROR_RX_RECORD_TOO_LONG 非常经典,它意味着客户端(你的浏览器)尝试用 HTTPS(SSL/TLS)协议与服务器通信,但服务器返回的却是非 SSL 的明文数据

结合你“做了 DNAT”且“能 telnet 通”的情况,问题几乎可以确定是:DNAT 映射的端口是 8080,但你在浏览器里使用了 https:// 去访问,而服务器实际运行的是 HTTP 服务(或者 TCP 层服务)



 问题分析

检查项你的情况结论
访问方式https://1.1.1.2:8080浏览器用 SSL/TLS 握手
服务器服务模拟器里的服务器,telnet 通服务器可能是 HTTP 或其他 TCP 服务,没有配置 SSL
冲突结果服务器返回明文数据(如 "HTTP/1.1 200 OK")浏览器解析为 SSL 记录失败,报 RECORD_TOO_LONG
telnet 能通说明 TCP 连接没问题,DNAT 本身也工作正常。问题出在应用层协议不匹配


 解决方案

方案一:使用正确的协议(最可能解决)

将浏览器地址栏的 https:// 改为 http://

http://1.1.1.2:8080
如果服务器运行的是普通的 HTTP 服务,这样就能正常打开了。


方案二:确认服务器实际监听的协议

如果不确定模拟器里的服务器到底是什么服务,可以用 curl 或 telnet 看一眼响应。

用 curl 查看响应头(推荐):

curl -v http://1.1.1.2:8080
curl -v https://1.1.1.2:8080 # 会报错,但能看出差异如果 http:// 返回正常页面或响应,说明就是 HTTP 服务。

用 telnet 手动请求

telnet 1.1.1.2 8080
连接后输入:
GET / HTTP/1.1
Host: 1.1.1.2如果返回 HTTP 响应,说明是 HTTP 服务,用 http:// 访问。


方案三:如果确实需要 HTTPS(SSL 加密)

如果你确实需要让这个服务走 HTTPS,有几种方式:

  1. 在模拟器里的服务器上配置 SSL

    • 如果服务器是 nginx、tomcat 等,需要配置 SSL 证书并监听 443 或 8080 的 HTTPS 服务。

    • 配置完成后,再用 https://1.1.1.2:8080 访问。

  2. 在 DNAT 之前加一层 SSL 卸载

    • 在路由器或防火墙上配置 SSL 卸载(SSL offload),把外部 HTTPS 流量解密后转成 HTTP 发给后端服务器。

    • 这需要设备支持,且配置较复杂。

  3. 改用端口转发,把 443 映射成后端的 HTTP 服务

    • 如果只是想通过 8080 端口访问 HTTP 服务,直接用 http:// 即可,不需要 SSL。



方案四:检查 DNAT 配置是否正确

确认你的 DNAT 规则是否正确映射了端口。

假设你的模拟器服务器 IP 是 192.168.100.10,服务端口是 80

正确 DNAT 示例(将公网/本机 8080 映射到内网 80)

ip nat inside source static tcp 192.168.100.10 80 interface Loopback0 8080
或更简单
ip nat inside source static tcp 192.168.100.10 80 1.1.1.2 8080
如果模拟器里的服务器确实监听在 8080 端口(而不是 80),则映射:
ip nat inside source static tcp 192.168.100.10 8080 1.1.1.2 8080
然后用 http://1.1.1.2:8080 访问。


在界面打开显示建立安全连接失败

zhiliao_Sm6khF 发表时间:2天前 更多>>

在界面打开显示建立安全连接失败

zhiliao_Sm6khF 发表时间:2天前
粉丝:0人 关注:0人

现在是这样的情况,这是为什么,能telnet到服务器

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明