• Ubuntu使用frp进行内网穿透


    1. frp介绍

    frp是一种快速反向代理,可以帮助您将NAT或防火墙后的本地服务器公开到Internet。目前,它支持TCP和UDP,以及HTTP和HTTPS协议,请求可以通过域名转发到内部服务。frp还具有P2P连接模式。

    2. frp如何部署

    首先根据你的操作系统下载最新的源码包,然后将frpsfrps.ini放到带有公网IP的服务器A中,将frpcfrpc.ini放到局域网中服务器B中(无法从公共互联网连接),最后通过配置两个ini文件分别启动服务器上的frpsfrpc

    2.1 通过SSH访问局域网中的计算机

    1. 修改服务器A上的frps.ini文件,设置bind_port连接到frp客户端:
    # frps.ini
    [common]        
    bind_port = 7000
    
    1. 在服务器A上启动frps
    ./frps -c ./frps.ini
    
    1. 在服务器B上,修改frpc.ini配置文件,将frps的公网IP地址填写到server_addr
    # 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_port(在客户机上监听)和remote_port(在服务器上公开)用于进出frp系统的流量,而server_port在frps之间使用。

    1. 在服务器B上启动frpc
    ./frpc -c ./frpc.ini
    
    1. 从另一台机器,通过SSH访问服务器B(假定用户名是ubuntu)
    ssh -oPort=6000 ubuntu@x.x.x.x
    
    1. frpsfrpc设置成开机自启动
      frps为例,首先通过下面命令行配置frps.service文件
    [Unit]
    Description=frps service
    After=network.target syslog.target
    Wants=network.target
    
    [Service]
    Type=simple
    #启动服务的命令(此处写你的frps的实际安装目录)
    ExecStart=/your/path/frps -c /your/path/frps.ini
    
    [Install]
    WantedBy=multi-user.target
    

    然后启动frps,命令行如下
    sudo systemctl start frps
    再打开开机自启动,命令如下
    sudo systemctl enable frps

    • 如果要重启应用,用该命令行sudo systemctl restart frps
    • 如果要停止应用,用该命令行sudo systemctl stop frps
    • 如果查看运行状态,用该命令行sudo systemctl status frps
      对于frpc的开机自启动设置,过程基本一样。

    3. frp其他功能

    1 通过自定义域访问LAN中的web服务
    2 转发DNS查询请求
    3 前向Unix域套接字
    4 公开一个简单的HTTP文件服务器
    5 为本地HTTP服务启用HTTPS
    6 私下公开服务
    7 P2P模式

  • 相关阅读:
    Mysql数据库(三)Mysql表结构管理
    Mysql数据库(二)Mysql数据库管理
    Mysql数据库(一)数据库设计概述
    设计模式(二十三)Interpreter模式
    设计模式(二十二)Command模式
    设计模式(二十一)Proxy模式
    设计模式(二十)Flyweight模式
    python 全局变量
    python 装饰器
    python 文件读写
  • 原文地址:https://www.cnblogs.com/zhongzhaoxie/p/13213290.html
Copyright © 2020-2023  润新知