frp内网穿透:阿里云轻量化服务器_Ubuntu20.01 + 校园网服务器_Ubuntu20.04

一、阿里云轻量服务器(Ubuntu20.01)

1.1 买服务器

买的最便宜的阿里云轻量服务器。

1.2 下载frp

github上下载最新版的frp版本

在这里插入图片描述

1.3 配置frps.ini

解压下载的frp之后,配置frps.ini

参考通过 SSH 访问内网机器

[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

参考通过 SSH 访问内网机器

[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

第一步:服务器防火墙

参考文献:阿里云服务器实现frp内网穿透(完整教程)

在这里插入图片描述

第二步:清空所有的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

七、使用MobaXterm进行远程ssh

官网免费版即可:https://mobaxterm.mobatek.net/download.html

猜你喜欢

转载自blog.csdn.net/chen20170325/article/details/130389825