frp实现内网穿透

本文详细介绍了如何通过frp实现内网穿透,包括下载frp软件、配置frps服务端与frpc客户端、nohup后台启动和systemctl开机自启步骤。适合想要在内网环境中提供服务并访问的读者。

frp实现内网穿透

0. 下载
#选择对应系统版本下载
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
#解压
tar zxvf filename.tar.gz
mv frp_0.37.1_linux_amd64/ /usr/local/bin/frp
1. frps服务端配置
  • 配置文件详解
[common]
bind_port        = 7000               # 服务监听端口
bind_addr        = 0.0.0.0             # 监听IP
token            = 123456              # 密钥
dashboard_port   = 7500               # web面板
dashboard_user   = admin               # 面板用户名
dashboard_pwd    = admin               # 面板密码
subdomain_host   = *.your_doming.com   # WEB访问域名绑定(绑定后只能绑定子域名访问)
vhost_http_port  = 10000               # web服务http端口
vhost_https_port = 10001               # web服务https端口
#注:以上配置根据需求设置,最简单的配置只需要前两行,既仅配置服务监听端口,其余按需配置。
  • 我的配置
[common]
bind_port = 7654
bind_addr = 0.0.0.0
2. frpc客户端配置
  • 配置文件详解
[common]
server_addr = free.frp.ioiox.com  # 服务器IP或者地址
server_port = 7007                # 服务器提供的端口号
token = www.ioiox.com             # 服务器提供的token

[web1]                            # 为避免错误,一定需更改为比较特殊的名称,不能和服务器端其他配置重名.
type = http                       # http协议
local_ip = 127.0.0.1              # 127.0.0.1指穿透本机,也可以填写内网IP.
local_port = 5000                 # 群晖内网HTTP端口,默认为5000.
custom_domains = nas.ioiox.com    # 填写你的域名

[web2]                            # 为避免错误,一定需更改为比较特殊的名称,不能和服务器端其他配置重名.
type = https                      # https协议
local_ip = 127.0.0.1              # 127.0.0.1指穿透本机,也可以填写内网IP.
local_port = 5001                 # 群晖内网HTTPS端口,默认为5001.
custom_domains = nas.ioiox.com    # 填写你的域名

[OpenVpn]
type = udp                        # 协议
local_ip = 192.168.123.142        # 127.0.0.1指穿透本机,也可以填写内网IP.
local_port = 1194                 # 内网端口
remote_port = 11194               # 远程连接端口vim
  • 我的配置
[common]
server_addr = xxx.xxx.xxx.xxx   # 公网IP
server_port = 7654              # 服务器提供的端口

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6001
3. nohup后台启动
#以客户端为例,服务端同理
# 前台启动
./frpc -c ./frpc.ini

# 后台启动命令
nohup ./frpc -c ./frpc.ini &
4. systemctl 开机自启 (以客户端为例,服务端同理)
  • 创建服务文件
sudo vim /lib/systemd/system/frpc.service
  • 服务内容
[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple

#启动服务的命令(此处写你的frpc的实际安装目录)
ExecStart=/usr/local/bin/frp/frpc -c /usr/local/bin/frp/frpc.ini
ExecStop=/usr/bin/killall frpc

#启动失败1分钟后再次启动
 RestartSec=1min
 KillMode=control-group

# 重启控制:总是重启
Restart=always

[Install]
WantedBy=multi-user.target
  • 使用方法
# 启动frpc
sudo systemctl start frpc
# 自启动
sudo systemctl enable frpc
# 重启应用
sudo systemctl restart frpc
# 停止应用
sudo systemctl stop frpc
# 查看应用的日志
sudo systemctl status frpc
### Windows 上使用 FRP 实现内网穿透 #### 安装与下载 为了在 Windows 平台上部署 FRP 进行内网穿透,首先需要获取适用于 Windows 的 FRP 版本。可以从官方 GitHub 页面下载最新版本的 FRP 压缩包[^1]。 ```powershell Invoke-WebRequest -Uri "https://github.com/fatedier/frp/releases/latest/download/frp_0.58.1_windows_amd64.zip" -OutFile "$env:USERPROFILE\Downloads\frp.zip" Expand-Archive -Path "$env:USERPROFILE\Downloads\frp.zip" -DestinationPath "$env:USERPROFILE\Downloads\frp" ``` #### 服务端配置 (VPS) 对于服务端而言,在远程 VPS 中安装并运行 `frps` 是必要的。创建或编辑位于 `/path/to/frp/frps.ini` 文件来设置基本参数: ```ini [common] bind_port = 7000 token = your_token_here dashboard_port = 7500 allow_ports = 2000-3000,3001,3003,4000-50000 subdomain_host = example.com ``` 此部分涉及的服务端配置应放置于拥有公网 IP 地址的服务器上执行[^2]。 #### 客户端配置 (Windows PC) 接着转向本地机器即作为客户端的部分。同样地修改或者新建名为 `frpc.ini` 的文档用于指定连接细节以及转发规则: ```ini [common] server_addr = x.x.x.x ; 替换成实际VPS地址 server_port = 7000 ; 对应上面绑定端口 token = your_token_here [ssh] type = tcp local_ip = 127.0.0.1 ; 默认即可 local_port = 22 ; 要映射的服务端口号 remote_port = 6000 ; 外部访问时使用的端口号 ``` 上述配置实现了通过外部网络访问内部 SSH 服务的功能示例[^3]。 启动客户端可以通过命令提示符下输入如下指令完成: ```batchfile start "" "C:\path\to\frp\frpc.exe" -c "C:\path\to\frp\frpc.ini" ``` 这会开启一个新的窗口保持后台进程持续工作直到手动关闭为止。 #### 测试验证 最后一步就是确认一切正常运作了。尝试利用新开放出来的端口去建立到目标主机上的连接,比如这里是以测试SSH为例,则可以这样做: ```bash ssh user@your_vps_public_ip -p 6000 ``` 如果成功登录则说明整个流程已经正确无误地完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值