内网穿透服务器搭建

目录

一、服务器端安装frp服务

二、服务端配置

三、客户端配置

四、启动

五、设置开机启动

六、问题


环境:外网服务器(CentOS 7)

           内网(Ubuntu 18.04)

准备:域名一个,指向外网服务器

一、服务器端安装frp服务

下载frp,地址:https://github.com/fatedier/frp/releases​​ 

wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz
tar  -zxvf frp_0.29.0_linux_amd64.tar.gz #解压

 

 二、服务端配置

        服务器端配置文件是frps_full.ini  frps.ini,所以删除frpc  frpc_full.ini  frpc.ini,修改服务端配置文件:

# vim frps.ini
[common]
bind_port = 7000
vhost_http_port = 6081

 三、客户端配置

        下载解压到内网客户端,删除frps_full.ini  frps.ini  frps,编辑客户端配置文件:

# vim frpc.ini
[common]
server_addr = 127.0.0.1 #外网服务器IP
server_port = 7000 #外网服务器端口,同frps.iniz中的bind_port

[ssh]
type = tcp
local_ip = 127.0.0.1 #内网客户端IP
local_port = 22 #SSH端口
remote_port = 6000 #自定义SSH端口

[web]
type = http         #访问协议
local_port = 8081   #内网web服务的端口号
custom_domains = domain.com   #所绑定的公网服务器域名

 四、启动

启动服务端: ./frps -c frps.ini

启动客户端:./frpc -c frpc.ini

内网穿透服务器搭建_第1张图片

 连接成功。

五、设置开机启动

  1. Ubuntu(客户端):写一个简单的开机脚本start_frpc.sh 
    #!/bin/bash
    ### BEGIN INIT INFO
    # Provides:          hxd
    # Required-Start:    $local_fs $network
    # Required-Stop:     $local_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: start frp service
    # Description:       start frp service
    ### END INIT INFO
    
    cd /usr/local/frp
    ./frpc -c frps.ini
    
     把脚本放到/etc/init.d/下面,添加执行权限,chmod +x start_frpc.sh                                                                                         更新启动项:sudo update-rc.d -f start_frpc.sh defaults 90 
  2. Centos7.6 (服务器)脚本类似:
    #!/bin/bash
    
    # description:Start frp service
    
    # chkconfig:   2345 10 90
    
    #
    
    cd /usr/local/frp
    
    ./frps -c frps.ini

    注:脚本注释部分不可删除

           移动到/etc/rc.d/init.d,加执行权限,然后

            cd /etc/rc.d/init.d

            chkconfig --add start.sh

            chkconfig start.sh on

            service start_frps.sh restart

六、问题

     如果要访问内网的Web项目,就得用www.domain.com:port的形式访问,看着很别扭,那就需要用nginx做一下反向代理。后续解决。

你可能感兴趣的:(Linux)