Frp配置实现内网穿透
一、下载linux和windows环境的安装包
注意:server和目标主机下载的frp要同一个版本
GitHub下载地址:https://github.com/fatedier/frp/releases
可到我的优快云的下载地址,方便访问不到GitHub的用户下载:
https://download.youkuaiyun.com/download/object_admin/85170961
[可选]
linux也可以直接使用命令下载,例如:
1-1.进入希望保存frp的目录
1-2.下载frp,这里选择的版本是0.41.0。
命令:wget https://github.com/fatedier/frp/releases/download/v0.41.0/frp_0.41.0_linux_amd64.tar.gz
二、安装配置
Server端 linux系统配置(公网):
- 解压、重命名文件夹为frp
命令:tar -zxvf frp_0.24.1_linux_amd64.tar.gz
mv frp_0.24.1_linux_amd64 frp
进入frp文件夹,配置frp服务端
- 修改为内容,并保存退出。
命令:vim frps.ini
pind_port = 7000
- 后台运行frp服务,命令:
nohup ./frps -c ./frps.ini &
(可通过ps -ef | grep frp命令查看进程,可以看到有一条进程为./frps -c ./frps.ini)
- 阿里云ECS配置安全组规则
规则方向:入方向,端口范围:7000,授权对象:0.0.0.0/0
规则方向:入方向,端口范围:6000,授权对象:0.0.0.0/0
-
Centos防火墙开放端口
查看防火墙开放的端口
# firewall-cmd --zone=public --list-ports 5902/tcp 5903/tcp 5901/tcp 5900/tcp 10191/tcp
开放端口,然后重启防火墙
# firewall-cmd --zone=public --add-port=9706/tcp --permanent success # firewall-cmd --reload success
Client端windows系统配置(内网)
-
解压后打开所在文件夹,找到frpc.ini并编辑
server_addr修改为公网那边的server端的ip
ssh的local_port端口也最好改一下(避免以后远程使用其他电脑时端口占用,比如使用Xshell连接远程的Linux,由于使用默认端口22没改,导致与frp的这里冲突)
-
启动frp
打开cmd,cd到frp文件夹下(必须是cmd命令来运行这个程序)
执行命令:frpc.exe
-
找到另一台电脑,运行mstsc,输入公网服务器ip:6000
扩展内容:
windows设置开机自启frpc.exe服务(注册为windows服务)
- 下载winsw(https://github.com/kohsuke/winsw/releases),解压放在frp目录下并改名为winsw.exe。
补充下载地址2:
Windows Service Wrapper(winsw.exe让任何Windows程序都能运行为服务) v2.1.2 官方最新版
https://www.jb51.net/softs/645594.html
解压下载的文件,根据自己环境然后选择一个copy到在frp目录下并改名为winsw.exe
创建utf-8文件 winsw.xml,内容如下:
<configuration>
<id>frp</id>
<name>Frp service by jicg</name>
<description>frp服务</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<onfailure action="restart" delay="60 sec"/>
<onfailure action="restart" delay="120 sec"/>
<logmode>reset</logmode>
</configuration>
安装服务:
以管理员权限打开命令窗口,cd到frp所在目录,执行:
winsw install
winsw start
卸载服务:
winsw stop
winsw uninstall
如果winsw install时候报错:
原因:这是因为中文问题文件的编码不是utf-8问题导致的。
在win7环境下通过新建一个txt文本默认编码是ANSI。
解决:编辑好后通过 右上角>>文件>>另存为>>下方更改变编码为UTF-8
linux设置开机自启frps服务
方法一 Systemctl
- 在 /usr/lib/systemd/system 目录 新建 frps.service 文件,然后编辑
vim /usr/lib/systemd/system/frps.service
粘贴内容:
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
# 替换为实际安装路径
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
-
设置开机自启
运行那三句命令
systemctl daemon-reload systemctl enable frps systemctl start frps # 重启 systemctl restart frps # 停止 systemctl stop frps # 查看状态 systemctl status frps
重启linux,查看状态
重启命令:reboot
参考的博客:
https://www.cnblogs.com/JICG/p/11790943.html
https://www.pianshen.com/article/2061265428/
https://blog.youkuaiyun.com/a568713197/article/details/87897342
https://blog.youkuaiyun.com/weixin_36228538/article/details/115753448
https://www.drixn.com/2787.html