首页 > 教程
公网IPV6访问家庭设备,实现文件共享
- 2024-12-11
- 2375 ℃
一直有建个自己的服务器的需求,可以文件共享可以建个网址之类的。服务器好安装,但是想要随时随地访问就不行了。
可能会说租个云服务器不就行了吗?贵而且到期之后的数据和搭建的东西还要备份。
于是想IPV6+自己的闲置电脑安装Linux就可以实现。完全免费,文件访问开一个Samba服务即可。
缺点是只能终端有IPV6才能访问,即纯IPV6站点只能使用有IPV6地址的终端访问,IPV4访问不了。
不过手机流量一般是IPV6.手机访问是没问题的。
所需
公网IPV6
闲置机器
域名
理论
IPV6直接访问家庭的设备。ipv6除了fe80开头的链路地址是内网的其他的基本都是公网,链路地址实际上是是机器的mac地址。因为地址一直在变,重新开个机,路由器重启一下,可能就变了。所以需要一个域名来定位自己的IPV6地址。
步骤
获取自己的IPV6地址
家庭网络中一般是猫和路由器配合。
现在(23年)一般家用宽带都开通了IPV6,是否有IPV6全看路由器是否支持IPV6了,而不需要猫的超级管理员账号密码去改桥接。
我的路由器随便买的IP-link的ax3000. 进入路由器界面开启IPV6

在windows下打开cmd终端输入ipconfig,查看是否获取了。

如果有本地ipv6链路地址,没有IPV6地址,路由器也设置,大概率你所在的地方的运营商是没有开IPV6的。 这一步比较看运气,所在的区域很重要,用的运营商也很重要。
验证IPV6地址
如果有了IPV6,可以使用PHPstudy这个软件验证,开启的是否正常。
开启apache服务,这个默认支持IPV6访问,Nginx还需要修改配置文件。

创建网站

点击管理 修改 端口,因为运营商把80端口封了。

浏览器访问,你应该是欢迎界面,我改过主页了。格式 [IPV6_adr]:8080 。注意IPV6出入站规则和防火墙问题。

闲置机器安装Linux
使用ventoy制作一个系统U盘,把ubuntu的镜像放进去即可,进入BIOS启动项选择U盘启动,之后按照提示安装即可。也可以是直接使用Windows系统搭建自己的服务,所谓道之道,非常道。
找个免费域名
百度搜索 阿里域名 腾讯域名 基本上都是新注册首年免费。我用的是阿里的。
域名解析
这里是阿里云,点击右上角控制台进入

左上角三个横

域名

进入点击解析

主机记录,可以@记录可以www记录,一个带www,一个直接域名访问。

AAAA解析,指向一个IPV6地址即可,记录值输入自己此时的IPV6。

域名验证
域名解析生效需要几分钟时间。格式 域名:端口号

服务器上ddns服务
这个定时给域名服务器上报自己的IPV6地址,之后一直访问域名即可了。 主要有这几个
ddns-watchdog
ddns-go
我用的是ddns-go,在服务器上搭建一个go环境,按照git仓库里面的readme搭建即可。
安装go环境--知乎的
在源代码使用 make build 生成本地编译后的 ddns-go 可执行文件。

sudo ./ddns-go -s install
安装服务即可。
然后在服务器上打开172.0.0.1:9876,配置即可。创建自己的AccessKey ID,复制到此处。

设置启用IPV6,关闭IPV4,如图设置,或者看自己情况。写上自己的域名。

成功后右上角的日志会一直有提醒的,

可以配置相关的配置文件,达到自己的满意,具体的看github主页即可。
可以重启服务器和路由器更换IP地址,验证ddns服务是否正常。
安装Samba服务
烂大街了,直接写了个自动化的shell脚本,是Ubuntu系统用的,其他系统自己修改。Samba自身支持IPV6。
#!/bin/bash
# 安装 Samba
sudo apt update -y
sudo apt install -y samba
# 备份并配置 Samba
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo tee -a /etc/samba/smb.conf >/dev/null <<EOF
[shared_folder]
path = /home/shared_folder
available = yes
valid users = user1,user2
read only = no
browseable = yes
public = yes
writable = yes
EOF
# 创建共享文件夹
sudo mkdir -p /home/shared_folder
# 设置共享文件夹权限
sudo chown nobody:nogroup /home/shared_folder
sudo chmod 777 /home/shared_folder
# 添加用户并设置密码
users=("user1" "user2")
for user in "${users[@]}"; do
read -s -p "Enter password for ${user}: " password
echo
read -s -p "Confirm password for ${user}: " confirm_password
echo
if [[ "${password}" != "${confirm_password}" ]]; then
echo "Passwords do not match. Please try again."
exit 1
fi
sudo useradd -m "${user}"
echo -e "${password}\n${password}" | sudo smbpasswd -s -a "${user}"
done
# 重启 Samba 服务
sudo systemctl restart smbd.service此脚本开了两个用户,user1 和 user2 密码自己填。
验证Samba服务
在内网直接验证即可。 文件资源管理器 ,右击我的电脑,映射网络驱动器即可。密码自己设置的自己填。


成功

域名访问
和上步同样的步骤,把ip地址换成域名即可。 之后可以在其他有IPV6的地方的访问了。
手机访问
手机可以看下状态信息有没有IPV6地址,我移动的有可能换个基站就没有IPV6了。

手机使用开源软件cx文件管理器即可。
网络添加新位置即可访问。

通过域名访问的Samba。

优化
服务器有时候会有临时IPV6这个东西可以使用下面的命令去掉。
# 使用sudo去执行 cat >> /etc/sysctl.conf <<EOT net.ipv6.conf.all.use_tempaddr=0 net.ipv6.conf.default.use_tempaddr=0 EOT sysctl -p
通过域名访问自己的服务器
配置/etc/ssh/sshd_config文件即可通过IPV6访问,记得改下端口防止入侵。

完结
现在可以使用手机随时随地访问了家里的文件了,还多了个服务器。 其实不难,主要看心情。
相关内容
app申请支付宝移动支付
微信错过群里抢红包怎么办?
php数组函数
推荐7款免费好用的国内外...
什么是Web 3.0 ?
如何学习麻省理工学院课程
H5页面移动端软键盘弹出...
微信小程序自用Tree树形控件
-
阿里云盘达人计划快速升3级指南
2024-05-31 1610
-
什么是高级的竞争
2024-05-29 1342
-
重症急性胰腺炎诊治指南
2024-06-18 1050
-
wordpress不使用插件解决网站加载慢和头像不显示
2021-04-13 1714
-
中毒的分类和诊断
2024-06-18 1067
-
到底哪个音乐软件听歌是最香的
2025-07-03 1382
-
竞品分析过后就是抄吗?
2024-05-29 1179
-
腾讯为何总能突破困境
2024-05-29 1534
-
医患纠纷案例解析与防范要点
2024-06-18 1451
-
教你查询手机号绑定了哪些平台
2024-07-10 2214
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


进入有缘空间
点击分享文章