记一次利用校园网IPV6地址搭建nextcloud网盘过程

慈云数据 2023-07-25 网络资讯 503 0

摘要:现有校园网ipv6地址一枚,前缀128,服务器搭建实验室路由器下,在路由器上做ipv6nat,并设置端口转发到局域网服务器上,在服务器上搭建nextcloud,最终可以在外网通过ipv6访问网盘。

PART.1 在校园网IPV6中使用路由器。

校园网中拿到的IPV6的前缀为128,路由器拿到地址后,并不能给路由器下的设备分配全球单播的IPV6地址,因此不得使用类似IPV4的方法——NAT。这种方法在ipv6中是不推荐的,在这里也只是不得已而为之。

在openwrt中使用IPV6NAT的方法可以参考恩山论坛

PART.2 设置IPV6DDNS

IPV6ddns与IPV4的DDNS设置是一样的,只不过op官方的ddns-scripts 并不支持阿里的ddns,这里又要感谢伟大的恩山论坛,

借助这位大佬的脚本,可以让官方的ddns-scripts支持阿里的ddns,官方ddns-scripts支持ipv6,非常好用。

opkg 安装ddns-scripts、luci-app-ddns、openssl-util、wget,再安装这位大佬的ipk

ddns中就可以设置阿里了

域名服务器的ip地址_我的世界ipv6服务器域名怎么用_域名服务器的ip地址查询

ddns设置过程就不说了,这里发现了一个问题,ddns-scrpts会莫名奇妙的甩出一个error,然后退出,不能正常重新启动,写个守护脚本守护它。脚本源码:

!/bin/sh
sleep 100
DATE=`date +%Y-%m-%d-%H:%M:%S`
line=`ps -w |grep dynami|grep -v grep|wc -l`
if [[ $line -ne 0 ]]
then
echo $line
exit 0
fi
echo $line
/etc/init.d/ddns start
echo $DATE --restrat >>/root/proddns.log

经过几天的测试,可以稳定运行。

域名服务器的ip地址_我的世界ipv6服务器域名怎么用_域名服务器的ip地址查询

PART.3 端口转发

在第一步的基础上,这一步就比较简单了,在openwrt路由器/etc/firewall.user开头加上

ip6tables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to [ipv6addr]:80

ip6tables -t nat -I POSTROUTING -p tcp --dport 80 -j MASQUERADE

ip6tables -t nat -I PREROUTING -p tcp --dport 443 -j DNAT --to [ipv6addr]:443

ip6tables -t nat -I POSTROUTING -p tcp --dport 443 -j MASQUERADE

ip6tables -t nat -I PREROUTING -i eth0.2 -p tcp --dport 80 -j DNAT --to [ipv6addr]:80

ip6tables -t nat -I POSTROUTING -o eth0.2 -p tcp --dport 80 -j MASQUERADE

ip6tables -t nat -I PREROUTING -i eth0.2 -p tcp --dport 443 -j DNAT --to [ipv6addr]:443

ip6tables -t nat -I POSTROUTING -o eth0.2 -p tcp --dport 443 -j MASQUERADE

将80和443端口转发到路由器下的服务器上,并给服务器配置上静态的内网ipv6地址。需要注意的是,一定要指定端口,加上 -i 和 -o参数,否则路由器下的其他设备访问ipv6外网时全都会被转发到服务器上,而且一定要加在开头,第一步中firewall.user已经添加一句话了,一定要添加到之前添加那句的前面。重启路由,端口转发就完成了。

PART.4 在服务器上安装nextcloud

使用lnmp一键包搭建环境,安装方法见

我的世界ipv6服务器域名怎么用_域名服务器的ip地址_域名服务器的ip地址查询

nextcloud14需要php7.1以上版本 mysql5.5以上版本。lnmp安装完成后 ,

添加虚拟主机,具体过程就不细说了,启用ssl,启用phpinfo。

添加ok之后照着

在/usr/local/nginx/conf/vhost/域名.conf中配置。还需要删除lnmp自动生成的/home/wwwroot/域名/文件夹下的.user.ini,需要先chattr -i解锁,在php.ini中添加open_basedir = /home/wwwroot/域名/:/proc/:/tmp/:/dev/urandom/:/数据文件夹/。解压nextcloud到网站存放的路径。

添加opcache缓存加速,打开lnmp的安装文件夹

./addons.shinstallopcache

安装完成后按nextcloud的要求配置

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.save_comments=1

以上内容添加到/usr/local/php/conf.d/004-opcache.ini

重启lnmp 打开浏览器输入网址开始安装nextcloud。

安装完成后就可以使用了。

我的世界ipv6服务器域名怎么用_域名服务器的ip地址查询_域名服务器的ip地址

2018-12-11:使用过程中发现,下载超过1G的文件,下载到1G时就会中断,APP也无法同步。解决方法:在/usr/local/nginx/conf/nginx.conf的http{}下添加fastcgi_max_temp_file_size并设置允许下载文件的最大大小,就可以下载超过1G的文件。

发表评论

发表评论:

微信扫一扫加客服

微信扫一扫加客服

微信扫一扫加客服

微信扫一扫加客服