部署
foliant
利用httpd做远程yum源的配置
利用yum做多个组件源
linux环境上传github代码
vncserver可视化
centos7可视化
metabase安装
linux图形化安装
vm使用桥接连接网络
ElasticSearch使用
nginx多级构建
docker多架构构建镜像
svn和gitlab-ce迁移
代理搭建
GNS3部署使用
sftp搭建
Jenkins部署
yum源配置
js学习
通过一个公网ip联通一个vpc下所有服务
frp远程搭建
html语法
win下本地非80端口dns域名解析配置
利用nginx实现html跨域请求第三方接口
搭建自己的邮箱系统
docker构建mrdoc
内网穿透-利用nps实现本地web服务在公网访问
ipsec
-
+
首页
内网穿透-利用nps实现本地web服务在公网访问
## 内网穿透-利用nps实现本地web服务在公网访问 - what: 内网穿透-利用nps实现本地web服务在公网访问 - where: centos7,云服务器 - when: 2022.6.3 - who: jiaorongtao - why: 记录,本地搭建一个web服务,没公网ip,但有一个云服务器(绑定公网ip),如何通过端口映射实现公网访问本地电脑的web服务 - how: ### 搭建web服务 为快速搭建,利用vm虚拟软件和docker快速启动两个服务 ``` [root@master ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70c9aadf5fcc jrt101/mrdoc:latest "./docker_mrdoc.sh sh" 58 minutes ago Up 58 minutes 0.0.0.0:8000->10086/tcp, :::8001->10086/tcp doc1 d470033f08d9 jrt101/mrdoc:latest "./docker_mrdoc.sh sh" 59 minutes ago Up 59 minutes 0.0.0.0:8001->10086/tcp, :::8000->10086/tcp doc2 [root@master ~]# ip a |grep ens33 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 inet 192.168.3.100/24 brd 192.168.3.255 scope global noprefixroute ens33 [root@master ~]# ``` ### 本地访问 ``` web1: http://192.168.3.100:8000/ web2: http://192.168.3.100:8001/ ``` ### 服务端下载 ``` [root@JRT data]# mkdir nps [root@JRT data]# cd nps [root@JRT nps]# wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz [root@JRT nps]# ls linux_amd64_server.tar.gz [root@JRT nps]# tar -xf linux_amd64_server.tar.gz [root@JRT nps]# ls conf linux_amd64_server.tar.gz nps web ``` ### 服务端配置 ``` #端口规划 server需要放开的端口:9001 9002 9003 9004 9005 9006 server 80-9001 网站访问 443-9002 端口访问 8080-9003 面板 brige-9004 网桥端口 #local 9005-8000 web1 9006-8001 web2 #修改配置 [root@JRT conf]# diff nps.conf /root/nps/conf/nps.conf 7,8c7,8 < http_proxy_port=80 < https_proxy_port=443 --- > http_proxy_port=9001 > https_proxy_port=9002 16c16 < bridge_port=8024 --- > bridge_port=9004 42c42 < web_port = 8080 --- > web_port = 9003 [root@JRT conf]# cd .. #配置环境变量 [root@JRT nps]# nps install #启动 [root@JRT nps]# nps start #查启动状态 [root@JRT nps]# netstat -nltp |grep nps tcp6 0 0 :::9001 :::* LISTEN 3324175/nps tcp6 0 0 :::9002 :::* LISTEN 3324175/nps tcp6 0 0 :::9003 :::* LISTEN 3324175/nps tcp6 0 0 :::9004 :::* LISTEN 3324175/nps tcp6 0 0 :::9005 :::* LISTEN 3324175/nps tcp6 0 0 :::9006 :::* LISTEN 3324175/nps [root@JRT nps]# ``` ### 服务端nps面板访问 ``` http://1.117.176.116:9003/ 账号密码见服务端配置文件 ``` ![](/media/202206/2022-06-03_234708_272956.png) ![](/media/202206/2022-06-03_234734_068603.png) ### 服务端管理配置 ![](/media/202206/2022-06-03_234937_239494.png) ![](/media/202206/2022-06-03_234915_366356.png) ![](/media/202206/2022-06-03_235000_368410.png) ![](/media/202206/2022-06-03_235039_615540.png) ![](/media/202206/2022-06-03_235021_262687.png) ### 客户端配置 ``` [root@master nps]# wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz [root@master nps]#tar -xf linux_amd64_client.tar.gz [root@master nps]# cd nps [root@master nps]# ls conf npc #不做任何配置 #配置环境变量 [root@master nps]# ./npc install -server=1.117.176.116:9004 -vkey=abcdefg #启动 [root@master nps]# npc start ``` ![](/media/202206/2022-06-03_235757_733081.png) ### 查服务 ![](/media/202206/2022-06-03_235953_950172.png) ![](/media/202206/2022-06-04_000015_376200.png) ### 测试 ``` http://1.117.176.116:9005/ http://1.117.176.116:9006/ ``` ![](/media/202206/2022-06-04_000123_640202.png) ### 参考 ``` #nps 使用教程 https://ehang-io.github.io/nps/#/nps_use #下载 https://github.com/ehang-io/nps/releases #server https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz #client https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz ```
JRT
2022年6月4日 00:05
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码