文章目录
前言
我之前折腾过,因为云服务器太贵了,就放弃了。这次打算再试一次
问题分析
需求
- 我有一台笔记本,刷了一个Ubuntu Server。我目前是用我的台式机去连
- 我想能外网直连,多个端口发布。目前的内网穿透只能做到SSH连接而已
各种方案的费用价格
注意,我现在是2024年2月2号,服务器都有做活动。所以有些限时优惠
神卓互联
神卓互联的相关费用,可以看到是比较贵的。而且端口也不多。
花生壳
Sakura FRP
阿里云服务器
腾讯云
海外服务器
海外服务器比较麻烦,如果国内访问还要开代理啥的。我暂时先不折腾。我把相关的连接放在这里了。
最终选择:阿里云
我选择了阿里云99元这个。按照阿里的说法。我可以99元从24年续费到26年,使用3年。其实应该也够用了。问题就是带宽太低了。后面会考虑换国外的服务器。现在先能用再说。毕竟是新手,阿里云相关的教程也比较多。
网速
因为我们服务器不是跑业务的,是跑网速的,所以网络速度很重要。而且注意MB和M的区别。服务器都是M,我们的网速都是MB。1MB=8M。
异地组网:失败
我尝试过异地组网,最后发现还是得要一个有公网IP的云服务器。我就放弃了
阿里云服务器(ubuntu)+域名解析+内网穿透
我再次说一下我的需求
能从外网直接远程到我出租屋里的ubuntu笔记本。而且我在出租屋里面,没有公网IP地址
解决方案示意图
- 为什么要内网穿透:因为我没有公网IP
- 为什么要DDNS代理:因为公网IP是会变的,而且数字不好记。
域名我在上篇文章上面买了。是10年188元。
第一年总共开销:188+99。大概300块。还是有点贵的。如果觉得费用太高了,就内部局域网连着用用好了。
阿里云服务器SSH连接
新买的服务器记得重置密码,重置好了就可以直接连了
阿里云服务器开放端口
如果是小白,建议端口直接全开好了。我是全开的,因为我不懂怎么配置端口
入口全开
出口全开
阿里云加速:测试了一下,没啥用
阿里云安装Docker
阿里云实现DDNS
按照上述文章运行了之后,我的文件是生成在根路径下面的
对应的代码修改。目前暂时是可以了。不知道我改的对不对
python3 DDNS.py
*/10 * * * * python3 DDNS.py
这里可以直接Ping你的域名
阿里云内网穿透FRP
FRP干了什么?
时序图
下面这个文章有缺失的东西,Cilent需要照着Service的方法设置一遍。
逻辑示意图
能成功登录就说明你已经搭建成功了。注意,frps是Service,服务端,frpc是Client,客户端。两个不一样。
在服务端输入
sudo systemctl status frps
在客户端输入
···
sudo systemctl status frpc
···
如果出现上面两个,就说明连接成功了
查看连接状态
新增端口映射
如果你想修改frpc的配置,你可以继续添加端口映射
sudo vim /etc/frp/frpc.ini
改好后重启服务
注意:你重启服务会导致端口映射掉线。至少确保有个第三方的SSH连接,比如花生壳。不然客户端掉线了就连不上去了。
sudo systemctl restart frpc
备用SSH连接
我们每次重启frpc的服务都会导致SSH连接断开,最好的解决方案就是再起一个frpc的服务。
复制备用frpc连接配置
sudo cp /etc/frp/frpc.ini /etc/frp/frpc2.ini
sudo vim /etc/frp/frpc2.ini
[common]
#服务端配置(公网IP地址、服务端监听端口号、授权码),和服务端对应
server_addr = www.xxx.com
server_port = 7000
token = 12345678
#配置ssh服务,就是远程连接用的还是ssh服务
[ssh back]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 10023
保存
:wq
备用service服务
找到你的版本的frp服务,我这里是/frp_0.34.3_linux_amd64/systemd
cd /frp_0.34.3_linux_amd64/systemd
cp frpc.service frpc2.service
sudo vim frpc2.service
[Unit]
Description=Frp Client2 Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc2.ini
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc2.ini
[Install]
WantedBy=multi-user.target
启动备用连接
systemctl enable --now frpc2
查看连接状态
sudo systemctl status frpc2
重启主配置,备用SSH连接不会掉
sudo systemctl restart frpc
域名SSH连接
域名直连的优点就是我们可以直接获取到最新的IP地址,因为云服务器的公网的IP是会动态更新的
ICP备案
比如我现在的服务器是120.18.12.30,我的域名是www.abc.com。我网页部署在8086上面。那么我可以用120.18.12.30:8086去访问,但是我不能用www.abc.com:8086去访问。因为国内要求域名网站必须要进行ICP备案
但是ICP备案只影响网页,不影响别的服务。我们SSH都是可以的直连的。但是因为有些服务用网页操作简单点,这里我们可以直接用公网IP直连的方式查看。反正只是临时用用。公网IP的网页是不封的。
总结
配置这个Ubuntu Server外网访问真的是一波三折。最后我都快放弃了。没想到最后FRP搭建成功了。整个过程极其考验动手能力和查找资料的能力。我的过程不一定是对的,但是可以提供一个参考