起因

  • 当用本地服务器作为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. Eclipse为不同的文件类型设置编码格式和编辑器

    不知道大家遇到项目中编码格式不统一的情况没有,哈哈,我们就是,比如java的编码格式是GBK,html等编码是UTF-8,这样会导致很多问题,比如提交了一个UTF-8的java文件到SVN,会导致后端 ...

  2. Linux PXE + Kickstart 自动装机

    大规模装机时,使用无人值守装机便可大大简便人工操作,提高效率. PXE 网络安装 配置双网卡 这里ens33为nat网络,ens37为仅主机网络,配置ens37 [root@localhost ~]# ...

  3. [Go] gocron源码阅读-判断是否使用root用户执行

    判断是linux系统,并且uid为0,allowRoot是通过命令行传参传进来的,通过flag包解析出来的,可以使用go run node.go -h看到这些参数 && !allowR ...

  4. centos安装php5、卸载php、安装php7

    这篇文章主要介绍了centos安装php5.卸载php.安装php7 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 首先安装php5很简单 yum install php 然后如果不 ...

  5. 6.Java基础_Java自增自减/关系/逻辑/三元运算符

    /* 自增自减运算符 关系运算符 逻辑运算符 三元运算符 (同C++) */ public class OperatorDemo01 { public static void main(String[ ...

  6. jQuery中的事件(七)

    1. ready(fn), 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数 这个方法纯粹是对向window.load事件注册事件的替代方法.通过使用这个方法,可以在DOM载入就绪能够读取并操纵时 ...

  7. 让人又爱又恨的this

    this是个神奇的东西, 既可以帮助我们把模拟的类实例化. 又可以在事件绑定里准确指向触发元素. 还可以帮助我们在对象方法中操作对象的其他属性或方法. 甚至可以在使用apply.call.bing.f ...

  8. windows端口转发工具(LCX)

    端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法.端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过 ...

  9. Redis系列1——概述

    1. 简介 Redis,key-value内存存储的数据库,全称“”Remote Dictionary Service(Sever)“”,默认端口号:6379 Redis是一个开源的使用ANSI C语 ...

  10. mysql id 自增实现

    1.在mysql中建表 2.使用: >insert into 表名 values(id,'www',66); 连续运行5次后结果: =============================== ...