frp Set up -- Simon
准备工作
- frp”官网”
- putty或者其他ssh工具(windows10系统中可以安装ssh)
- WinSCP
- Linux 查找命令find
find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。find的使用实例:
$ find . -name ‘frps.ini’ $ find . -name ‘comfig.xml’
搜索当前目录(含子目录,以下同)中,所有”文件名”文件,支持通配符 - vps(vultra.com)
- ufw
a. sudo ufw status 检查防火墙的状态
如果你是root,则去掉sudo,ufw status inactive(默认为不活动)
b. 开启/禁用 sudo ufw allow|deny [service]
sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口 - 如果没有请,安装nc命令
查看当前启动的端口 netstat -luntp
打开端口命令 nc -lp 23 & (打开[23端口,即telnet)
nc -lp 7777 & nc -lp 7500 &
netstat -an | grep 23 (查看是否打开[23端口])
开始
脚本安装会与Shadowsocks的脚本安装冲突,先装Shadowsocks后装frps会导致Shadowsocks用不了,原因不明。
FRP服务器脚本安装
a. download script.
wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
b. set script file mode.
chmod 700 ./install-frps.sh
c. run srcipt to install
./install-frps.sh install
默认安装在:
./usr/local/frps/frps.ini
使用脚本安装后可以按需重新配置frps.ini文件,这样做的好处是省去自己配置服务启动等麻烦。
http://ip:6443
可以访问frps的web状态页面。//密码需要输入两三次,服务器密码和frps密码
FRP服务器手动安装
1. 下载frps上传到linux服务器
设置目录是可执行的,文件是可执行的,winSCP可以设置,添加目录到系统PATH,按你自己的实际情况设置。
export PATH=/sbin:/usr/sbin:/usr/local/sbin:/etc/frp:$PATH
export PATH=/sbin:/usr/sbin:/usr/local/sbin:/usr/local/frp:$PATH
shell中运行如下命令显示设置后的目录。
echo $PATH
或者是
$PATH
2. 设置可执行
sudo chmod u+x /etc/frp
sudo chmod u+x /etc/frp/frps
3.运行服务
带参数运行frps,
./frps -c ./frps.ini
如果目录设置好,可以使用:
frps -c frps.ini
运行后,可以使用网页访问http://ip:xxxx(xxxx是你配置的端口号),访问测试。
使用”nohup”, 即 “nohup ./frps -c ./frps.ini &”,忽略hangup信号,防止shell关闭时程序停掉。
nohup ./frps -c ./frps.ini &
/etc/frp/frps -c ./frps.ini &
privilege_allow_ports__ 可以配置允许使用的某个指定端口或者是一个范围内的所有端口,以 , 分隔,指定的范围以 - 分隔。
当使用不允许的端口注册时,就会注册失败。出现类似以下错误:
port not allowed
windows10下运行ssh的方法:
ssh domain[user@host]
客户端安装
和服务器类似运行frpc
nohup ./frpc -c ./frpc.ini &
Linux下SVN服务启动
svnserve -d -r /shares/Public/mycode
如果需要增加端口参考如下方式:
需要更改防火墙规则,开放刚刚新增的端口。centOS 6 系统开放办法如下。保存退出后,输入以下命令,注意一次输入一行,并把 \<newport\> 替换为刚添加的端口:
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport \<newport\> -j ACCEPT iptables -I INPUT -m state --state NEW -m udp -p udp --dport \<newport\> -j ACCEPT /etc/init.d/iptables save /etc/init.d/iptables restart
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 1688 -j ACCEPT
iptables -I INPUT -m state --state NEW -m udp -p udp --dport 1688 -j ACCEPT
sudo nano /etc/systemd/system/frpc.service
如果需要设置自启动参考如下配置文件:
/////////////////////////////////////
[Unit]
Description=FRP Client Daemon
After=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/etc/frp/frpc -c /etc/frp/frpc.ini
Restart=always
RestartSec=20s
User=nobody
[Install]
WantedBy=multi-user.target
ln **-**** s** /lib/systemd/system/rc.local.service /etc/systemd/system/
使用sudo systemctl enable frpc.service启用
Config
systemctl enable frpc systemctl status frpc systemctl enable frps systemctl status frps
sudo systemctl enable /etc/systemd/system/frpc.service
sudo systemctl enable frps.service#允许开机自启
sudo systemctl start frps.service#启动
sudo systemctl status frps.service#查看运行状态
frp使用案例:
设置好frp后,使用ssh远程唤醒某个主机
ssh -lroot host -pxxxx "./wake.sh"
-l后是登录的用户名
host为主机,ip或者domain
-p后是端口号
“./wake.sh” 是要执行的脚本