上海优化网站关键词,区域网址ip查询,保险平台官网,搜索优化推广公司前言#xff1a; 有时候我们受限于硬件设备和网络的的问题#xff0c;无法将内网的大容量、高性能存储设备或计算设备对外访问。这个时候就会变的特别苦恼#xff0c;上云呢成本太大#xff0c;不用云呢公网又无法直接访问#xff0c;这个时候怎么办呢#xff0c;NPS它来…前言 有时候我们受限于硬件设备和网络的的问题无法将内网的大容量、高性能存储设备或计算设备对外访问。这个时候就会变的特别苦恼上云呢成本太大不用云呢公网又无法直接访问这个时候怎么办呢NPS它来了
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发可支持任何tcp、udp上层协议访问内网网站、本地支付接口调试、ssh访问、远程桌面内网dns解析等等……此外还支持内网http代理、内网socks5代理、p2p等并带有功能强大的web管理端。
GitHub地址https://github.com/ehang-io/nps 下载地址https://github.com/ehang-io/nps/releases/tag/v0.26.10 详细介绍参考文档https://gitee.com/penry/nps?skip_mobiletrue#nps
一、环境准备
1、带公网的服务器一台以下均使用ECS代替配置不用特别高 2、内网的Linux服务器或者Windows服务器
二、源码包下载
1、先在ECS上下载NPS的服务端包进行安装配置
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/freebsd_amd64_server.tar.gztar -zxf linux_amd64_server.tar.gz[rootqingtong nps]# ls
conf linux_amd64_server.tar.gz nps web2、默认配置文件在conf目录下也可以先启动在配置文件启动后的配置文件在/etc/nps/conf/nps.conf 修改这个配置文件也是可以的 请参照下面的基础配置文件修改适配自己的配置 如需更高级的配置请参考https://gitee.com/penry/nps?skip_mobiletrue#nps
#应用程序的名称此处为NPS。
appname nps
#Boot mode(dev|pro)
#启动模式可以是开发模式dev或生产模式pro。
runmode dev#HTTP(S) proxy port, no startup if empty
#HTTP和 HTTPS代理的配置包括代理服务器的IP和端口以及是否只使用HTTPS代理。
http_proxy_ip0.0.0.0
http_proxy_port22000
https_proxy_port22001
https_just_proxytrue#default https certificate setting
默认的HTTPS证书和私钥文件路径。
https_default_cert_fileconf/server.pem
https_default_key_fileconf/server.key##bridge
#桥接bridge配置定义桥接的类型、端口和IP。
bridge_typetcp
bridge_port22002
bridge_ip0.0.0.0# Public password, which clients can use to connect to the server
# After the connection, the server will be able to open relevant ports and parse related domain names according to its own configuration file.
#公共密码客户端使用该密码连接到服务器。
public_vkey123#Traffic data persistence interval(minute)
#Ignorance means no persistence
#流量数据持久化间隔以分钟为单位。
#flow_store_interval1# log level LevelEmergency-0 LevelAlert-1 LevelCritical-2 LevelError-3 LevelWarning-4 LevelNotice-5 LevelInformational-6 LevelDebug-7
#日志级别数值从0到7表示从紧急LevelEmergency到调试LevelDebug。
log_level7
#log_pathnps.log#Whether to restrict IP access, true or false or ignore
#是否限制IP访问。
#ip_limittrue#P2P配置定义P2P的IP和端口。
#p2p
#p2p_ip127.0.0.1
#p2p_port6000#web
#Web管理界面的配置包括主机名、用户名、密码、端口和IP。
web_hosta.o.com
web_usernameadmin
web_password^hjkl/-321,
web_port 22003
web_ip0.0.0.0
#Web管理界面的基本URL路径。
web_base_url
#Web管理界面是否启用SSL以及SSL证书和私钥文件的路径。
web_open_sslfalse
web_cert_fileconf/server.pem
web_key_fileconf/server.key
# if web under proxy use sub path. like http://host/nps need this.
#web_base_url/nps#Web API unauthenticated IP address(the len of auth_crypt_key must be 16)
#Remove comments if needed
#auth_keytest
#Web API无需身份验证时允许访问的IP地址以及用于加密的密钥。
auth_crypt_key 1234567812345678#allow_ports9001-9009,10001,11000-12000
#允许连接的端口范围。TCP协议相关配置包括模式、服务器端口和目标端口范围。
[tcp]
modetcp
server_port22000-23000
target_port22000-23000#Web management multi-user login
#允许用户登录、注册和更改用户名的配置。
allow_user_logintrue
allow_user_registertrue
allow_user_change_usernametrue#extension
#不同功能的开关控制流量限制、速率限制、隧道数量限制、本地代理、连接数量限制、多IP支持以及系统信息显示等。
allow_flow_limitfalse
allow_rate_limitfalse
allow_tunnel_num_limitfalse
allow_local_proxyfalse
allow_connection_num_limitfalse
allow_multi_ipfalse
system_info_displayfalse#cache
#HTTP缓存的配置包括是否启用和缓存长度。
http_cachefalse
http_cache_length100#get origin ip
#是否在HTTP请求中添加原始IP头。
http_add_origin_headerfalse#pprof debug options
#pprof_ip0.0.0.0
#pprof_port9999#client disconnect timeout
#客户端断开连接的超时时间单位为秒。
disconnect_timeout60安装成功后对于linuxdarwin将会把配置文件和静态文件放置于/etc/nps/并将可执行文件nps复制到/usr/bin/nps或者/usr/local/bin/nps安装成功后可在任何位置执行
nps test|start|stop|restart|status3、安装配置完成后打开web页面控制端输入配置文件里的账号密码登录 1在左侧的导航栏点击客户端然后根据提示新增客户端 2新增客户端口新增TCP隧道与刚才新增客户端就行绑定(客户端ID与前边创建的客户端进行对应)服务端口的配置范围是配置文件里限制的请依照配置文件来
4、在内网的Linux主机上安装NPC客户端进行内网穿透
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
#解压
tar -zxf linux_amd64_client.tar.gzNPC客户端是不需要任何配置文件的所以只需要程序就可以 复制此处的命令到内网的主机上执行
扩展知识推荐大家使用第一种方法至于区别请看下列对比
要将 NPC 客户端的输出重定向到后台或文件你可以使用 shell 中的重定向功能。有两种常见的方法可以做到这一点1、后台运行并保存输出到文件npc -serverxxx.xxxxxxx.xxx:22002 -vkeyqingtongqingctest1 -typetcp /var/log/npc.log # 这将把 NPC 客户端的标准输出和标准错误输出都重定向到名为 npc.log 的文件并且客户端在后台运行使用 符号。2、后台运行并将输出保存到文件但仅记录标准错误输出npc -serverxxx.xxxxxxx.xxx:22002 -vkeyqingtongqingctest1 -typetcp 2 /var/log/npc_error.log # 这将把标准错误输出重定向到名为 npc_error.log 的文件而标准输出仍然会显示在终端上。5、确认没问题后进行验证 访问成功后就可以在任何地方去访问这台内网的机器 windows主机的添加方法类似后续有时间会在更新请大家持续关注~~~~~~~~