起因

  • 当用本地服务器作为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回环、端口回流的更多相关文章

  1. 小米路由器设置端口转发远程登录WEB管理页及安装MT工具箱

    1. 将小米路由器ROM升级到开发版 这一点是必须的,如果是稳定版是不行的 2. 获取高级管理权限 再次确认当前使用的是开发版ROM 到这个网址http://d.miwifi.com/rom/ssh ...

  2. centos 安装MATLAB :设置回环设备失败: 没有那个文件或目录

    基本参数:centos 7 x86_64,linux 系统, 安装matlab, 已经下载R2016b_glnxa64.iso 但挂载的时候遇到问题: [root@lf mnt]# mount -o  ...

  3. VirtualBox设置NAT端口映射

    原文地址 :http://www.2cto.com/os/201209/153863.html   VirtualBox设置NAT端口映射   好吧,我知道这个问题有很多人都讲过,但是,你们不觉得VB ...

  4. 为什么不能将客户端的连接请求跳转或转发到本机lo回环接口上?

    一.为什么不能将本机的请求跳转/转发到回环接口上? 如上图一样,服务器对外只开放了一个80端口,但是web服务监听在了lo 接口上8080端口上,现在要实现外网通过访问服务器的80端口,来提供web服 ...

  5. ping不通公网ip时路由器设置

    可能是路由器里设置了wan口禁ping了 另外,NAT地址转换不要动,默认是开启的 主服务器上防火墙关掉或者设置好访问规则 默认的80端口是不能用的,需要设置一个其它的端口

  6. Mysql不改默认侦听回环地址而ssh通道连接的办法

    Mysql不改默认侦听回环地址而ssh通道连接的办法 文:铁乐与猫 比较新版的mysql默认侦听的网卡地址是本地回环地址:127.0.0.1: 比如你在/etc/mysql/my.cnf配置文件中往往 ...

  7. 什么叫NAT,设置NAT的两个方法

    NAT是网络地址翻译就是把公网IP翻译成私有地址, 又叫端口映射或端口转发. 采用路由方式是指ADSL拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网.这时ADSL的 ...

  8. 静态NAT、动态NAT、PAT(端口多路复用)的配置

    静态NAT.动态NAT.PAT(端口多路复用)的配置   NAT的实现方式有三种,即静态转换Static Nat.动态转换Dynamic Nat 和 端口多路复用OverLoad.    静态转换 ( ...

  9. Wireshark抓本地回环

    最近正好要分析下本机两个端口之间通信状况.于是用wireshark抓包分析.对于本地回环要进行一些特殊的设置. 1.通过“运行”---“cmd” 输入“route add [本机IP]mask 255 ...

随机推荐

  1. mssql sqlserver 使用sql脚本剔除数据中的tab、空格、回车等特殊字符的方法分享

    摘要: 在sqlserver开发中,常常有同事反馈无法剔除空格,我们可以通过仔细检查发现,并不是空格字符,而是tab键,如下所示: 解决方法: 对于这些特殊字符的替换,我们需采用字符所对应的ascii ...

  2. Bn Bp Binder native层关系

    Servicemanager 源码在/frameworks/base/cmds/servicemanager/service_manager.c 编译成 systemmanager 可执行文件 sys ...

  3. day49_9_10jQuery剩余

    一.表单筛选器. 在jQuery中有,专门对表单中的元素,进行筛选的表单筛选器. 其实使用基本筛选器也可以筛选出相应的元素,但是,为了jQuery的简便性,以及对表单操作的频繁,这里可以使用专门的筛选 ...

  4. Mybatis日志(七)

    Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging 具体选择哪个日志 ...

  5. NAT技术详解

    一.IPv4协议和NAT的由来 1.IPv4协议介绍 2011年2月3日,IANA宣布:IPv4地址空间最后5个地址块已经被分配给下属的5个地区委员会.2011年4月15日,亚太区委员会APNIC对外 ...

  6. 本博客采用 CC BY-NC-SA 4.0 进行许可

    本博客采用 CC BY-NC-SA 4.0 进行许可

  7. sql语句优化的30种方法

    转载于:https://www.cnblogs.com/Little-Li/p/8031295.html 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的 ...

  8. mybatis+postgresql10插入返回主键ID

    MyBatis如果使用useGeneratedKeys去生成自增列会造成不成功,因为官方提供只支持这些数据库:mybatis generatedkeys,那么如果要用在oracle和postgresq ...

  9. Vue.js 源码分析(一) 代码结构

    关于Vue vue是一个兴起的前端js库,是一个精简的MVVM.MVVM模式是由经典的软件架构MVC衍生来的,当View(视图层)变化时,会自动更新到ViewModel(视图模型),反之亦然,View ...

  10. 如何在yii1.0.7中设置数据库连接超时?

    继承CDbConnection, 覆盖 init()方法 在 parent::init() 之前设置 $this->setAttribute(PDO::ATTR_TIMEOUT, $this-& ...