
使用DDNS绑定动态IP地址
在某家云服务厂商那里买了一台仅有IPV6的服务器。
不过IP地址是DHCP获取的,并且租期只有24小时左右,每次IP变化之后就得去VNC里查看IP地址,然后重新修改SSH配置,非常的不方便。
使用DDNS-GO
使用1panel一键安装
我自己建好了之后,隔天,也就是现在,临睡前翻了一下应用商店,突然撇到了这个东西。。。。。。
直接应用商店搜索DDNS-go
然后访问安装时设置的IP:端口,进行配置即可。
这下真的是说了跟没说一样了,只是提醒一下看到这里的各位,1panel有一键安装的方式,不用苦苦手动配置了。
使用docker搭建
非常方便的脚本,一键安装,web界面配置
这里为docker教程,因为最简单,其他方式可以去github查看
下载安装
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
之后访问http://你的IP:9876
即可进入web界面
首次访问创建用户密码后来到配置页面
由于配置简单明了,这里就不赘述了
配置
在DNS服务商处配置好ID与key
在Domains处填写需要解析到你IP地址的域名(不需要手动添加记录,这个脚本会自动添加记录)
保存后他会自动生效。
向另一台主机发送
这是最开始的方案,最开始不知道DDNS的存在,一直靠着这个玩意,所以在知道有DDNS这东西之后,才会特意水一篇文章发出来。
简单写了一个小脚本,定时向外界告知自己的IP地址。
脚本很简陋,功能很鸡肋,仅作为当前暂时的替代方案
优点:这个方案想出来最不费我的脑子
缺点:需要两台主机
发送方
将以下文件保存为.sh
文件
#!/bin/bash
# 目标服务器的地址和端口
TARGET_SERVER="http://目标IP或域名:端口"
# 使用curl获取6.ipw.cn的返回结果
response=$(curl -s 6.ipw.cn)
# 检查curl命令是否成功执行
if [ $? -eq 0 ]; then
# 发送数据到目标服务器
echo "$response" | curl -X POST -H "Content-Type: application/json" -d @- "$TARGET_SERVER"
else
echo "Failed to fetch data from 6.ipw.cn"
fi
设置为定时任务
crontab -e
添加(每小时执行一次)
0 * * * * /脚本绝对路径/脚本名.sh
接收方
将以下内容保存为.js
文件
const http = require('http');
const fs = require('fs');
const server = http.createServer((req, res) => {
if (req.method === 'POST') {
let data = '';
req.on('data', chunk => {
data += chunk;
});
req.on('end', () => {
// 将接收到的数据存储到文件中
fs.writeFile('received_data.txt', data, err => {
if (err) {
console.error('Error writing file:', err);
res.writeHead(500);
res.end('Error writing file');
} else {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Data received and stored');
}
});
});
} else {
res.writeHead(405);
res.end('Method Not Allowed');
}
});
const PORT = 3000; // 可以根据需要修改端口号
server.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
安装Node.js
sudo apt update
sudo apt install nodejs
sudo apt install npm
使用forever保证Node.js进程持续运行
npm install -g forever
forever start your_server_script.js
当接收到文件后,当前IP地址就会被保存在received_data.txt中,当IP发生变化,来到接收方查看一下文本内容一键复制就可以了。
比起进入厂商的VNC,用不可复制的bash好多了。
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果