H3C路由器设置NAT回环、端口回流
起因
- 当用本地服务器作为frp的服务端时,需要在路由器上设置端口映射,将公网ip和本地ip映射起来,用于作为frps的公网,这一步很简单一般都会有可视化界面来实现,但实际测试时发现问题:
- 当非局域网内通过frp访问时,正常。
- 当本地服务器所在同一局域网内访问时,不通。
- 一开始还以为是frp有什么问题,后来多方查证,才明白是路由相关的问题,而且这也不能算是问题,是路由器的正常现象,但是也可以通过设置来解决此问题。
准备
- 路由器:H3C MSR830-10BEI
串口连接线,用于连接电脑和路由器的console口,一端是网线头,一端是9针头的(类似显示器线接头,台式机后边可能会有此接口,笔记本没有则还需要一个转usb的转换头)
电脑,安装SecureCRT软件,用于串口连接
开始
- 连接线9针头一端接电脑上,网线头一端接路由器console端口上(路由器上有标识)
- 电脑上打开SecureCRT,同时需要到【计算机】选择【属性】--【设备管理器】--【端口】查看当前连接的端口是哪个,然后点“快速连接”来配置连接参数,按照下图设置:
- 连接成功会显示
<H3C>
字样。
相关命令
- 首先要弄明白自己路由的外网口(wan口)和内网口(lan口),可以登录路由后台,在【系统工具】 -- 【配置管理】可以看到所有的配置行,其中
interface
开头的就是网口相关,但是有很多个,并不容易区分,我的还是相对比较简单区分,内网口带关键字vlan,所以一下就分辨出来了interface Vlan-interface1
,外网口则不好找,一开始以为是interface GigabitEthernet0/0
,但后来发现并不是,由于我们一开始做了nat映射,所以在配置文件中找nat server protocol
关键字,看它是在哪个interface下,最终发现是interface Dialer0
. - 进入系统配置,命令:
sys
,会提示按Ctrl + Z
退出,此命令等同于system-view
,也可能提示无法登录等,可以输入命令super
,然后输入密码,我的是admin
,再次sys
就可以登录了此时提示符会由<H3C>
变成[H3C]
。 - 配置ACL 2000,允许对内部网络中192.168.1.0/24网段的报文进行地址转换:
- 命令:
acl basic 2000
,进入acl 2000配置,网上也有很多说是acl number 2000
,可能不同机器不一样,都试下。 - 命令:
rule permit source 192.168.1.0 0.0.0.255
,根据实际的192.168.x.x的网段来 - 命令:
quit
,退出
- 命令:
- 在外网口配置Easy IP方式的出方向动态地址转换,使得内网主机访问内网服务器的报文可以使用外网口的IP地址进行源地址转换:
- 命令:
interface Dialer0
,进入外网口配置 - 命令:
nat outbound 2000
,设置outbound - 命令:
quit
,退出
- 命令:
- 在内网口上开启NAT hairpin功能:
- 命令:
interface Vlan-interface1
,进入内网口配置 - 命令:
nat hairpin enable
,开启hairpin - 命令:
quit
,退出
- 命令:
- 以上配置完成后,正常来说是可以访问了,不需要重启,但是我的路由并不能,网上查找后又加入了一条命令:
security-zone intra-zone default permit
- 如果想删除某个上述命令,则需要用命令:
undo xxxx
,例如进入内网口配置后命令undo nat hairpin enable
来取消开启
结尾
- 后续完善的还有很多,但和路由设置没太多关系了,例如自动解析域名到公网IP,以免断网后公网IP变更导致frp失败等
- 本身对路由配置并不了解,记录下来,可能后续还会用到,以免忘了
参考
H3C路由器设置NAT回环、端口回流的更多相关文章
- 小米路由器设置端口转发远程登录WEB管理页及安装MT工具箱
1. 将小米路由器ROM升级到开发版 这一点是必须的,如果是稳定版是不行的 2. 获取高级管理权限 再次确认当前使用的是开发版ROM 到这个网址http://d.miwifi.com/rom/ssh ...
- centos 安装MATLAB :设置回环设备失败: 没有那个文件或目录
基本参数:centos 7 x86_64,linux 系统, 安装matlab, 已经下载R2016b_glnxa64.iso 但挂载的时候遇到问题: [root@lf mnt]# mount -o ...
- VirtualBox设置NAT端口映射
原文地址 :http://www.2cto.com/os/201209/153863.html VirtualBox设置NAT端口映射 好吧,我知道这个问题有很多人都讲过,但是,你们不觉得VB ...
- 为什么不能将客户端的连接请求跳转或转发到本机lo回环接口上?
一.为什么不能将本机的请求跳转/转发到回环接口上? 如上图一样,服务器对外只开放了一个80端口,但是web服务监听在了lo 接口上8080端口上,现在要实现外网通过访问服务器的80端口,来提供web服 ...
- ping不通公网ip时路由器设置
可能是路由器里设置了wan口禁ping了 另外,NAT地址转换不要动,默认是开启的 主服务器上防火墙关掉或者设置好访问规则 默认的80端口是不能用的,需要设置一个其它的端口
- Mysql不改默认侦听回环地址而ssh通道连接的办法
Mysql不改默认侦听回环地址而ssh通道连接的办法 文:铁乐与猫 比较新版的mysql默认侦听的网卡地址是本地回环地址:127.0.0.1: 比如你在/etc/mysql/my.cnf配置文件中往往 ...
- 什么叫NAT,设置NAT的两个方法
NAT是网络地址翻译就是把公网IP翻译成私有地址, 又叫端口映射或端口转发. 采用路由方式是指ADSL拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网.这时ADSL的 ...
- 静态NAT、动态NAT、PAT(端口多路复用)的配置
静态NAT.动态NAT.PAT(端口多路复用)的配置 NAT的实现方式有三种,即静态转换Static Nat.动态转换Dynamic Nat 和 端口多路复用OverLoad. 静态转换 ( ...
- Wireshark抓本地回环
最近正好要分析下本机两个端口之间通信状况.于是用wireshark抓包分析.对于本地回环要进行一些特殊的设置. 1.通过“运行”---“cmd” 输入“route add [本机IP]mask 255 ...
随机推荐
- jira Licenses更新步骤
有时候我们不想花钱使用jira,那么只有通过一个月以续期的方式来使用jira.下面提供下自己实测的方式 1.获取License Key 登录地址:https://my.atlassian.com 登录 ...
- flask接收跨域请求
ajax发送数据类型为json即可 接受数据详见下文 https://www.cnblogs.com/anxminise/p/9814326.html
- asp.net core全局异常过滤并监控系统BUG将异常信息记录到日志
添加: using Dw.Util.Helper; using Microsoft.AspNetCore.Mvc.Filters; using System; using System.Collect ...
- .net core 发布IIS 出现Http 500错误
首先再webconfig中设置stdoutLogEnabled="true",然后运行之后,到logs中查看登陆错误日志. 根据不同的错误进行解决: 我的错误是发布文件夹中缺少Dw ...
- 6.GC垃圾回收算法和垃圾收集器的关系
JAVAGC垃圾回收机制和常见垃圾回收算法 推荐博客:JVM垃圾回收机制和常见垃圾回收算法 JVM的内存结构.垃圾回收算法
- 5. Go语言—数据类型
一.变量作用域 在函数内部声明的变量叫做局部变量,声明周期仅限于函数内部. 在函数外部声明的变量叫做全局变量,声明周期作用于整个包,如果是大写的,则作用于整个程序. 二.类型 1. 类型转换 ty ...
- 201871010111-刘佳华《面向对象程序设计(java)》第十三周学习总结
201871010111-刘佳华<面向对象程序设计(java)>第十三周学习总结 实验十一 图形界面事件处理技术 实验时间 2019-11-22 第一部分:理论知识总结 1.事件源:能够产 ...
- 遗传算法求解旅行商(TSP)问题 -- python
参考资料: 遗传算法解决TSP旅行商问题(附:Python实现) 遗传算法详解(GA)(个人觉得很形象,很适合初学者) from itertools import permutations impor ...
- 计算多个点中距离最远的两个点 python
import numpy as npfrom scipy import spatial print("hello")# test pointspts = np.random.ran ...
- cookie:
Django Django处理一个请求的流程 在浏览器的地址栏中输入地址,回车,发了一个GET请求 wsgi模块接收了请求,将请求的相关信息封装成request对象 根据地址找到对应函数 执行函数获取 ...