在没有固定公网IP的情况下实现内网穿透

frp的简要介绍

远程访问管理服务器需要一个公网的IP frp是一款好用内网穿透工具,FRP 全名:Fast Reverse Proxy。FRP 是一个使用 Go 语言开发的高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。

下载frp

https://link.zhihu.com/?target=https%3A//github.com/fatedier/frp/releases

frp文件内容

frps与frps.ini是外网服务器端要使用的文件 frpc与frpc.ini是内网主机要使用的文件

准备

需要一个具有公网ip的服务器,例如阿里云租用的服务器

公网服务器端
修改配置文件

vi frps.ini

如下:

[common]
bind_port = 7000  #frp服务端端口

配置很简单,然后启动:

nohup ./frps -c frps.ini &

内网机器上配置并启动
修改配置文件

 vi frpc.ini

如下:

[common]
server_addr = 0.0.0.0   #frp服务端地址,可以填ip或者域名,这里假设为0.0.0.0
server_port = 7000      #frp服务端端口,即填写服务端配置中的 bind_port

[ssh1]
type = tcp              #连接类型,填tcp或udp
local_ip = 127.0.0.1    #填127.0.0.1或内网ip都可以
local_port = 22         #需要转发到的端口,ssh端口是22
remote_port = 5000      #frp服务端的远程监听端口,即你访问服务端的remote_port就相当于访问客户端的 local_port,如果填0则会随机分配一个端口

启动客户端程序:

nohup ./frpc -c frpc.ini &

访问内网机器

ssh -p 5000 username@server_addr

username 是内网机器的用户名,server_addr是公网服务器的IP, port 5000就是设置的 remote_port,登录密码是内网机器的密码

注意
需要在公网服务器端开放相应的端口(例如阿里云),在安全组配置中设置,本例中开放7000与5000端口

映射多台内网机器
如果链接多个主机,将frpc中的remote_port设置为不一样的端口。同时修改frpc中的【ssh1】这个实例名

重启应用

创建脚本frp.sh

touch restartfrp.sh
sudo chomd +x frp.sh
vim restartfrp.sh

编辑脚本frp.sh

restartService(){
        app_name='frpc' #frpc对应客户端;frps对应服务端
        dir_base='/usr/local/frp/frp_0.27.0_linux_amd64' # 安装目录
        #检查进程是否关闭
        pidlist=`ps -ef|grep ${app_name} |grep -v "grep"|awk '{print $2}'`
        if [ "$pidlist" = "" ]
           then
                   echo "no eappt pid alive!"
        else
          echo "java Id list :$pidlist"
          kill $pidlist
          echo "KILL $pidlist:"
          echo "service stop success"
        fi
        sleep 5
        nohup ${dir_base}/frpc -c ${dir_base}/frpc.ini  >frpc.log &   #frpc对应客户端;frps对应服务端
}
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值