使用ipv6连接Proxmox VE
最近家里上了电信的ipv6,计划直接用ipv6直连,管理起来就方便多了。但是发现死活连不上,ssh登上去一看,发现pveproxy只监听了ipv4,并没有监听ipv6。
经过一番Google,官方论坛上也有人有同样的问题,解决的办法就是在hosts文件中添加ipv6的部分。
在添加hosts中ipv6的部分之后,重启pverproxy服务就可以了
最近家里上了电信的ipv6,计划直接用ipv6直连,管理起来就方便多了。但是发现死活连不上,ssh登上去一看,发现pveproxy只监听了ipv4,并没有监听ipv6。
经过一番Google,官方论坛上也有人有同样的问题,解决的办法就是在hosts文件中添加ipv6的部分。
在添加hosts中ipv6的部分之后,重启pverproxy服务就可以了
最近我家不知为啥,pppoe拨号基本上每天晚上都会断一次,而重连之后由于ip地址变更,6to4的tunnel就中断了,一次两次就算了,每天都一次的话就不能靠手动,等靠自动化来维护。
参考:
https://wiki.mikrotik.com/wiki/Manual:Scripting-examples
https://gist.github.com/pklaus/960672
最开始是打算看看RouterOS能不能在接口启动之后触发运行一次脚本,但是ppp的profile里面的那个up down的scripts触发并没有效果(或许是我用法不对?)于是只能换一种思路,定时检查ip有没有变更,如果变更了,就触发一次配置更新。
两个脚本大概是这样:
脚本check_ip_change:检查ip有没有出现变更:
:global currentIP; :local newIP [/ip address get [find interface="wan"] address]; :if ($newIP != $currentIP) do={ /system script run update_sit; :set currentIP $newIP; }
脚本update_sit:执行更新interface属性以及向tunnelbroker通知客户端节点地址变更:
local ipaddr local users "someuser" local key "somekey" local tunnelid "sometunnelid" :set ipaddr [/ip address get [/ip address find interface=wan] address] :set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)] /interface 6to4 set sit1 local-address=$ipaddr /tool fetch url="https://$users:[email protected]/nic/update?hostname=$tunnelid&myip=$ipaddr" mode=https keep-result=no
然后定制每分钟执行一次check_ip_change,然后在下次ip地址变更之后,就可以在1分钟内完成自动修复了。
参考:https://my.oschina.net/CandyMi/blog/500882
首先,你需要一个公网的ipv4地址,至少是能ping通的,那种能ping得到但是在防火墙后面的情况,我也没试过,这里就不多说。
以下是步骤:
1:前往https://www.tunnelbroker.net/注册一个账号,操作过程不详述;
2:登陆成功后在左侧选择新增一个tunnel
在ipv4的节点上填写你的ipv4地址,截图我是直接扒原博文的,看来他是已经搭好了tunnel再去访问的
根据你的链接速度来选择对应的服务器,选好后create tunnel就可以完成创建了。
3:完成tunnel的创建,接下来就是配置,在example configurations页可以选择大部分系统的配置命令,选择mikrotik的,可以直接给出配置的命令,方便的很。
到此,RouterOS已经能得到一个/64的地址块,可以用这个地址块来分ipv6给内网的设备了。
4:现在你手里已经有了一个/64的地址块,需要注意的是分配给你的地址块和tunnel的客户端地址不属于同一个/64地址块,tunnel的信息页面上有加粗标识,不要搞混了,Routed IPv6 Prefixes才是给子网用的。
在/ipv6/pool新增一个地址池,名字随便起一个,比如说sit,然后把你得到的这个/64地址块拷进去,保存。
5:然后就可以新增一个ipv6的dhcp服务器,pool选择sit,选好应用的接口,至此,RouterOS就可以承担dhcp服务器的作用了,给客户端分配公网的ipv6地址。
6:最后,在/ipv6/route中添加ipv6的默认路由,然后RouterOS以及下面的整个子网都可以访问ipv6网络了。
刚给dns加了个AAAA记录,现在直接nslookup ferrets.equipment会返回两个结果,一个ipv4的,一个ipv6的,能用ipv6的访问目测会优先使用ipv6来访问。
SMB自从openwrt的barrier_breaker对ipv6的支持变得非常好之后,开始对自己房间的网络更新到ipv6。
不得不说,ipv6的本地地址是个好东西,这个fe80开头的地址,由于继承了MAC地址的唯一性,所以可以直接使用而不会产生冲突。这时候,使用ipv6就不需要考虑ipv4地址是否已经配置这种问题,真正的即插即用,无需配置。
这种情况下,只要开机之后网卡起来了,SSH就能连通,过去把机器的网络配置弄错导致连不上的问题就再也没有了。
于是渐渐的将链接迁移到ipv6上。而骨干路由用的是石像鬼的固件,很遗憾,石像鬼对ipv6基本上没有支持,于是只能用在我的房间里面了。
既然SSH换过去了,Samba也自然得升上去,切换成ipv6。
经过了一番google,找到一个方法:
使用一个特别的dns服务器,将域名解析成ipv6地址,由于smb能够在ipv6上工作,这就能通过一个折中的办法,来达到访问ipv6的SMB服务器。
然而,这种办法相当的不便,因为该服务器为整个互联网服务,这意味着你必须连接到外部网络才能使用他们的服务,为毛我用自家的服务还非得跑出去一趟不可?网络延迟不说还要经一次GFW。
也考虑过在OptenWrt上自行设置 DNS解释记录,但是dnsmasq似乎不能处理ipv6的本地 hosts记录,于是最后还是放弃了使用ipv6。