• 使用lanproxy自建内网穿透及远程桌面连接内网


    使用lanproxy自建内网穿透及远程桌面连接内网

    搭建内网穿透

    GitHub原文介绍:lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。

    准备

    • 一台公网服务器,用来运行服务端 proxy-serve
    • 一台内网电脑,用来运行客户端 proxy-client
    • 代码包,访问github地址下载源码构建或者直接访问发布包下载地址

    本示例的环境为Centos&win10,下载了如下的软件包

    请选择和自己操作系统对应的发行包,服务器文件存放位置请参看Linux目录结构及命名规范

    下载服务端至服务器

    直接下载服务端至服务器

    cd /opt
    wget https://file.nioee.com/d/2e81550ebdbd416c933f/files/?p=/proxy-server-0.1.zip -O proxy-server-0.1.zip
    unzip proxy-server-0.1.zip
    复制代码

    或者也可以下载至本地通过rz上传至服务器

    yum install lrzsz
    cd /opt
    rz
    复制代码

    rz命令会弹出文件选择框

    安装JAVA依赖

    #卸载服务器自带的java版本
    rpm -e --nodeps `rpm -qa | grep java`
    #查看yum中的java版本
    yum search java | grep jdk
    #选择具体的版本进行安装
    yum install java-1.8.0-openjdk.x86_64
    #默认安装目录 查看安装的具体版本号
    cd /usr/lib/jvm/
    #复制安装路径,本示例目录如下
    pwd
    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64
    #配置JAVA_HOME环境变量
    vim /etc/profile
    #在文件末尾添加如下配置,注意替换实际的安装路径
    #--------------java
    JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64
    JRE_HOME=$JAVA_HOME/jre
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export JAVA_HOME JRE_HOME CLASS_PATH PATH
    #--------------end
    #刷新环境变量
    source /etc/profile
    复制代码

    修改服务端配置参数

    #修改服务端的配置文件,位于服务端conf目录下
    vi /opt/proxy-server-0.1/conf/config.properties
    #根据实际情况进行修改
    #---------------config.properties
    server.bind=0.0.0.0
    
    #与代理客户端通信端口
    server.port=8001
    
    #ssl相关配置
    server.ssl.enable=true
    server.ssl.bind=0.0.0.0
    server.ssl.port=8002
    server.ssl.jksPath=test.jks
    server.ssl.keyStorePassword=123456
    server.ssl.keyManagerPassword=123456
    
    #这个配置可以忽略
    server.ssl.needsClientAuth=false
    
    #WEB在线配置管理相关信息
    config.server.bind=0.0.0.0
    config.server.port=8003
    config.admin.username=admin
    config.admin.password=admin
    #---------------end
    复制代码

    启动服务端

    #启动脚本位于服务端bin目录下
    cd /opt/proxy-server-0.1/bin
    #运行sh脚本
    ./start.sh
    #查看服务是否启动,下面通过查看端口判断是否启动
    netstat -tnlp
    复制代码

    设置服务端自启动和客户端自启动

    #创建服务的service文件
    vi /usr/lib/systemd/system/penetration.service
    #加入如下配置
    #---------------penetration.service
    [Unit] 
    Description=Intranet Penetration 
    After=network.target 
    
    [Service] 
    Type=forking 
    ExecStart=/opt/proxy-server-0.1/bin/startup.sh
    #ExecReload=/opt/proxy-server-0.1/bin/reload.sh
    ExecStop=/opt/proxy-server-0.1/bin/stop.sh 
    
    [Install] 
    WantedBy=multi-user.target
    #---------------end
    #如果刚才已经运行了startup.sh脚本,请先停止该脚本
    cd opt/proxy-server-0.1/bin
    ./stop.sh
    #启动服务
    systemctl start penetration
    #设置开机自动启动
    systemctl enable penetration
    #如果需要取消开机启动则输入以下命令
    systemctl disable penetration
    复制代码

    启动客户端

    浏览器访问服务端管理页面,http://公网IP:配置文件下的config.server.port/,进入如下页面

    生成一个供客户端注册的随机码查看客户端的当前状态注册客户端,根据自己的操作系统执行相应启动命令,并替换对应参数
    #--------------普通端口连接
    # mac 64位
    nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &
    
    # linux 64位
    nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &
    
    # windows 64 位
    ./client_windows_amd64.exe -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY
    #--------------end
    
    #--------------SSL端口连接
    # mac 64位
    nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true &
    
    # linux 64位
    nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true &
    
    # windows 64 位
    ./client_windows_amd64.exe -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true
    #--------------end
    复制代码

    启动后根据输出日志判断是否注册成功,或者通过服务端后台查看客户端的当前状态

    到此内网穿透已经搭建完毕,下面演示配置端口映射的步骤

    尝试远程桌面连接到内网电脑

    本示例演示的是对window远程桌面所用端口3389进行转发,达到不借助TeamViewer等远程软件控制内网电脑,请先保证内网的电脑已开启允许远程连接开关

    进入服务端后台,在配置管理菜单下选择创建的客户端,创建对该客户端的端口映射

    命令行输入mstsc唤出远程桌面连接,输入公网地址和内网电脑的登录账号

    ——————————————————————————————————————————————————————————————

    转载地址:https://juejin.im/post/6868556181451833358#comment

    感谢原作者:

    xinjiangyuangit

  • 相关阅读:
    服务器×××上的MSDTC不可用解决办法
    安装VS2010后,更改iis的asp.net版本
    刷新后 页面 保持滚动条位置
    Atitit.java 反编译 工具  attilax 总结
    Atitit.收银系统模块架构attilax 总结
    Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc
    atitit.guice3 绑定方式打总结生成非单例对象toInstance toProvider区别 v2 pb29
    Atitit. Derby的使用总结attilax
    Atitit.attilax的 case list 项目经验 案例列表
    Atitit.收银系统pos 以及打印功能的行业标准
  • 原文地址:https://www.cnblogs.com/worldbugMsg/p/13618977.html
Copyright © 2020-2023  润新知