乐愚社区Beta

 linux  >  【记录】公网IPV6访问家庭设备,实现文件共享。

【记录】公网IPV6访问家庭设备,实现文件共享。

红叶遍山  L12  • 2023-07-01 • 回复 24 • 最后编辑于2023-07-01 21:00 • 只看楼主举报    

前言 废话

一直有建个自己的服务器的需求,可以文件共享可以建个网址之类的。服务器好安装,但是想要随时随地访问就不行了。

可能会说租个云服务器不就行了吗?贵而且到期之后的数据和搭建的东西还要备份。

于是想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

可以参考我之前写的记录。

【记录】在联想pc机(tianyi510S)上安装unbuntu

使用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。 可以看我之前写的记录。

【原创】#教程#在内网服务器搭建Samba,实现内网文件互享。

#!/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文件管理器即可。 github主页

网络添加新位置即可访问。

通过域名访问的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访问,记得改下端口防止入侵。

完结

现在可以使用手机随时随地访问了家里的文件了,还多了个服务器。 其实不难,主要看心情。


24条回帖
红叶遍山 楼主  L12  评论于
(5)  回复(0) 1#
竟然写了几个小时
红叶遍山 楼主  L12  评论于
(4)  回复(0) 2#
ES文件浏览器支持samba 1的版本,之前还一直试。 还是开源好啊。 之后可以把洛雪音乐的同步服务docker也移到这儿,就是不知道支持不支持。
红叶遍山 楼主  L12  评论于
(2)  回复(0) 3#
也可以直接手机ssh连接服务器,使用termux或者使用JuiceSSH,连接时记得改端口。
一缕__清风  L16  评论于
(1)  回复(2) 6#
小白不是很看得懂,想接触这类的话怎么起步比较好
红叶遍山 楼主 :不需要怎么学的,没啥技术含量的。
发表在2023-07-15 回复
一缕__清风 :回复 红叶遍山:真的吗我不信
发表在2023-07-15 回复
  
:)
梦想吧  L14  评论于
(0)  回复(0) 8#
大佬 牛呀
294982450  L1  评论于
(0)  回复(0) 9#
点赞
归藏不易  L2  评论于
(0)  回复(0) 10#
华硕路由器就可以
bubian6  L2  评论于
(0)  回复(1) 11#
大佬网速最快能达到多少
红叶遍山 楼主 :看你家里网速了
发表在2023-07-18 回复
  
:)
IamMMP  L0  评论于
(0)  回复(1) 13#
感觉给路由器刷个openwrt,用frp穿透更快
夜黑风高 :frp需要服务端
发表在2023-10-05 回复
  
:)
i74126  L2  评论于
(0)  回复(0) 14#
谢谢分享
maomaoainizi  L1  评论于
(0)  回复(0) 15#
看着好牛批的样子
索然看不太懂就是想看
CSSSSC  L13  评论于
(0)  回复(0) 16#
感谢楼主
復城城  L9  评论于
(0)  回复(0) 17#
看起来很厉害
AJ什么梗  活跃达人   L14  评论于
(0)  回复(0) 18#
感谢分享
逸轩966  L7  评论于
(0)  回复(0) 19#
大佬厉害了
还没注册帐号?快来注册社区帐号,和我们一起嗨起来!
关于本社区

集各类兴趣爱好于一身的轻量化交流社区,在此您可以和他人一起分享交流您觉得有价值的内容,社区鼓励大家发表原创内容,为社区添砖加瓦!

发帖奖励 → 社区版规 → 招聘版主 →
推荐版块
扫描二维码下载社区APP
回到顶部