利用NPS进行内网穿透,端口映射

使用场景:

        有一台本地服务器,性能较好、内存较大,但只能在局域网内访问,外网无法访问,就失去了使用价值。

        另有一台阿里飞天计划白嫖的阿里服务器,可以外网访问,但性能太差和内存太小,也基本没什么使用价值。

        如何将他们结合起来呢?

安装很简单,全程复制粘贴就行

安装步骤:

nps 分为 server(服务端 [安装在访问外网的机器上])和client(客户端 [安装在不能访问外网的机器上]

  1. 在阿里云服务器上安装nps(server):

    首先你得有docker !

    docker 安装教程很多,随便找 (也可以不用docker,参考https://developer.aliyun.com/article/878758

    之后执行以下内容安装nps:

    # 创建 /opt/nps 目录存放配置文件
    mkdir /opt/nps
    
    # 安装wget并且下载配置文件
    yum install -y wget && wget https://img.zeruns.tech/down/conf.zip
    
    # 解压配置文件到 /opt/nps 目录
    unzip conf.zip -d /opt/nps
    
    # 拉取 ffdfgdfg/nps 镜像
    docker pull ffdfgdfg/nps
    
    # 运行 nps 容器,配置文件夹 conf 在 /opt/nps/conf 目录下
    docker run -d --name=nps --restart=always --net=host -v /opt/nps/conf:/conf ffdfgdfg/nps
    

    然后docker ps 看看有没有,有的话应该就安装好了

    然后在浏览器里输入 你的阿里云ip:8080 就进入nps的管理界面了

    例如:

    然后登录 admin 密码 123,这个在刚刚下载的conf里的nps.conf里可以

  2. 在本地服务器上安装nps(client):
# 可以直接wget 也可以去链接里手动下载,然后rz上传

wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz

 下载之后 tar -zxvf linux_amd64_client.tar.gz 解压就行,自行调整压缩包的名字

然后换成自己的ip启动就行:

后面的vkey 也要换,自己的去nps管理页面里找,我这里是加了nohup后台启动和log日志

启动的记得切到nps的目录下:

# 注意 8.130.119.200 是我的阿里云服务器ip,要换成你自己的,vkey也要换

nohup ./npc -server=8.130.119.200:8024 -vkey=ilwna489c8t9xmzc -type=tcp > log 2>&1 &

安装大功告成!

然后再nps管理页面添加端口映射就ok了

客户端id填客户端里面那个就行 

比如图中的第一条,指将本地大内存服务器的22端口映射到能访问外网的阿里云服务器的40022端口上,通过访问阿里云服务器ip:40022即可访问本地服务器的22端口远程连接!

大功告成!此后就可以愉快的通过外网访问本地的服务器了!

补充:

方法一:(该方法不一定可行,方法二亲测有效)

防止服务器重启后端口映射失效,可以添加以下内容:

创建一个名为nps.service的新unit文件,命令如下:

vi /etc/systemd/system/nps.service

 将以下内容复制并粘贴到该文件中:

[Unit]
Description=nps
After=network.target

[Service]
ExecStart=/bin/bash -c "nohup /opt/nps -server=8.130.119.200:8024 -vkey=ilwna489c8t9xmzc -type=tcp > npc.log 2>&1 &"
#注意!!! 此处的引号内脚本换成你自己的


[Install]
WantedBy=multi-user.target

 保存并关闭该文件。

重新加载systemd守护程序以使其读取新添加的unit文件,执行命令:

sudo systemctl daemon-reload

 启用nps服务,使其在启动时自动启动,执行命令:

sudo systemctl enable nps.service

现在,nps服务将在CentOS 7服务器重启后自动启动。

方法二:

/etc/rc.d/rc.local 文件中加入启动nps的命令

[root@localhost rc.d]# cat /etc/rc.d/rc.local | tail -2
# start nps service daemon when computer start
nohup /opt/nps/npc -server=8.130.119.200:8024 -vkey=ilwna489c8t9xmzc -type=tcp > log 2>&1 &

注意:rc.local的权限要正确,如图:

按数字来说,应该是:744

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜雨听梧桐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值