frp内网穿透:阿里云轻量化服务器_Ubuntu20.01 + 校园网服务器_Ubuntu20.04
一、阿里云轻量服务器(Ubuntu20.01)
1.1 买服务器
买的最便宜的阿里云轻量服务器。
1.2 下载frp
github上下载最新版的frp版本
1.3 配置frps.ini
解压下载的frp之后,配置frps.ini
[common]
bind_port = 7000
dashboard_port = 7500 # 设置仪表盘端口
# 设置仪表盘访问的用户名密码
dashboard_user = admin
dashboard_pwd = admin
二、校内服务器(Ubuntu20.04)
2.1 下载frp
github上下载最新版的frp版本
2.2 配置frpc.ini
解压下载的frp之后,配置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
解释:
server_addr = x.x.x.x 为阿里云轻量服务器的公网ip地址
其他可以不用动。
三、运行
3.1 阿里云服务器运行frps
第一步:服务器防火墙
第二步:清空所有的iptables规则
sudo iptables -F
sudo iptables -X
sudo iptables -Z
个人觉的很重要
这三个命令是针对Linux系统iptables工具的命令:
iptables -F:清空iptables的规则链中的所有规则;
iptables -X:删除iptables中用户自定义的规则链;
iptables -Z:将iptables的所有链的数据包和字节计数器都归零。
第三步:运行frps
./frps -c ./frps.ini
3.2 校园内服务器运行frpc
第一步:服务器防火墙
查看防火墙状态
sudo ufw status
关闭防火墙
sudo ufw disable
第二步:清空所有的iptables规则
sudo iptables -F
sudo iptables -X
sudo iptables -Z
第三步:运行frpc
文件夹下运行:
./frpc -c ./frpc.ini
3.3 查看frp运行状态
http://你的ip:7500
如显示如下两张图片,说明阿里云轻量服务器frps启动完成,校园网服务器frpc启动完成:
四、ssh设置和测试
4.1 服务器均安装ssh
(1)打开终端并更新Ubuntu软件包列表:
sudo apt update
(2)安装OpenSSH服务器:
sudo apt install openssh-server
(3)验证SSH服务器是否已启动:
sudo systemctl status ssh
(4)配置防火墙以允许SSH流量通过:(未关闭防火墙的,执行)
sudo ufw allow ssh
4.2 sshd设置
Port 22
ListenAddress 0.0.0.0
PermitRootLogin yes
ChallengeResponseAuthentication no
对应项进行修改或去注释。
4.3 重启ssh、sshd
sudo systemctl restart ssh
sudo systemctl restart sshd
五、测试是否frp穿透成功
5.1 ssh测试
ssh root@阿里云轻量服务器公网ip地址 -p 6000
在输入root 密码之后,直接进入校园网服务器的ubuntu系统。
5.2 可能出现问题
问题一:ip端口被占用
(1)查看
netstat -tunlp
如校园网服务器ip端口7890被占用
(2)关闭
kill -9 PID(具体看一下)
如:关闭7890的端口占用
kill -9 19740
问题二:frp界面成功显示,但是无法穿透成功
即:
ssh root@阿里云轻量服务器公网ip地址 -p 6000
不成功。
第一步检查:阿里服务器和校园网服务器的防火墙
sudo ufw disable
阿里云服务再看一下,网页版防火墙端口添加。
第二步检查:阿里服务器和校园网服务器的iptables
sudo iptables -F
sudo iptables -X
sudo iptables -Z
第三步sshd设置
Port 22
ListenAddress 0.0.0.0
PermitRootLogin yes
ChallengeResponseAuthentication no
对应项进行修改或去注释。
第四步:重启sshd
sudo systemctl restart ssh
sudo systemctl restart sshd
第五步:重启frps,frpc
./frps -c ./frps.ini
./frpc -c ./frpc.ini
期间如端口被占用
查看
netstat -tunlp
关闭
kill -9 PID(具体看一下)#关闭7890端口占用,用:kill -9 19740
第六步重新ssh
ssh root@阿里云轻量服务器公网ip地址 -p 6000
六、如果成功了,设置自启动frps,frpc
6.1 配置systemctl来控制frps
第一步:创建frps.service
sudo vim /etc/systemd/system/frps.service
第二步:在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 #自己的frps地址,和frps.ini地址
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
第三步:使用systemctl命令来控制frps
启动frps
sudo systemctl start frps
服务器开机自动启动frps
sudo systemctl enable frps
重启frps
sudo systemctl restart frps
停止frps
sudo systemctl stop frps
6.2 配置systemctl来控制frpc
第一步:创建frpc.service
sudo vim /etc/systemd/system/frpc.service
第二步:在frpc.service里添加以下内容
[Unit]
Description=Frp Client Service
After=network.target
[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini #自己的frpc地址,和frpc.ini地址
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini #自己的frpc地址,和frpc.ini地址
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
第三步:使用systemctl命令来控制frpc
启动frpc
sudo systemctl start frpc
服务器开机自动启动frpc
sudo systemctl enable frpc
重启frpc
sudo systemctl restart frpc
停止frpc
sudo systemctl stop frpc