好物优选点击查看详情 京东购买

暂无内容

frp实现内网穿透

frp是一个能进行内网穿透的高性能反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。通过在具有公网IP的节点上部署frp服务端,可以将内网服务穿透到公网。

准备工作

阿里云服务器(Ubuntu18.04)

内网机器(Ubuntu18.04)

frp下载

通过SSH访问内网机器

  1. 在阿里云服务器上部署frps,修改frps.ini文件。

    [common] bind_port = 7000 
  2. 在需要被访问的内网机器上部署frpc,修改frpc.ini文件。

    [common] server_addr = x.x.x.x server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 

    local_ip和local_port配置为本地需要暴露到公网的服务地址和端口(ssh服务默认是22端口)。remote_port表示在frp服务端监听的端口,访问此端口的流量将会转发到本地服务对应的端口。

    注意事项:

    • bind_port和server_port可任意设定,但需保持一致
    • server_addr为阿里云服务器公网IP
    • remote_port可任意设定,不与server_port相同即可
    • 在阿里云实例安全组中开放设定的server_port和remote_port端口号
  3. 在阿里云服务器启动frps

    ./frps -c ./frps.ini 
  4. 在内网机器上启动frpc

    ./frpc -c ./frpc.ini 
  5. 通过ssh访问内网机器

    ssh [内网机器系统用户名]@[阿里云公网IP地址] -p [remote_port] 

ps:frps和frpc启动可设置后台不挂断运行(借助nohup和&)或将命令写进开机启动项中

通过自定义域名访问内网的web服务

  1. 在阿里云服务器上部署frps,修改frps.ini文件。

    [common] bind_port = 7000 vhost_http_port = 8080 
  2. 在需要被访问的内网机器上部署frpc,修改frpc.ini文件。

    [common] server_addr = x.x.x.x server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 [web] type = http local_port = 6006 custom_domains = 域名或IP 

    注意事项:

    • local_port为内网机器web服务监听的端口,根据对应需求更改,例如tensorboard的默认端口为6006。
    • custom_domains可为域名或IP地址,例如127.0.0.1。
    • 在阿里云实例安全组中开放设定的vhost_http_port端口号
  3. 在本地浏览器访问域名或IP:local_port即可访问内网机器上[web]local_port端口的服务

设置开机自启动

vim /lib/systemd/system/rc.local.service # 在文件后面添加 [Install] WantedBy=multi-user.target Alias=rc-local.service vim /etc/rc.local /xxx/frpc -c /xxx/frpc.ini & ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/ 

原文链接:https://www.cnblogs.com/liuzulong/p/13973981.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享