Vigilans
Vigilans
现在arDdnsCheck会向stdout里写入目前dnspod上的最新地址,并返回一个代码表示更新状态。此外,`ddnspod.sh`里增加了一个新配置项`arErrCodeUnchanged`,用于`dnspod上的就是最新IP,无需更新`时的返回代码(默认为0,可以修改为非0用于提取这个信息)。 因此通过这些信息的组合,是可以通过自定义一下`ddnspod.sh`,实现你的需求的(如取出stdout结果自己保存一下就行)。
@rehiy 这个就是https://github.com/rehiy/dnspod-shell/pull/112 可以解决的问题,可以考虑一下review? @refined-fish 您也可以review一下上面的PR,看看内容是否满足需求?
@rehiy 这个功能可以不作为默认(也即`arWanIp4`与`arWanIp6`)提供,但仍可以添加额外参数后提供(即 https://github.com/rehiy/dnspod-shell/pull/112 添加的第四个参数dev) 这样区分之后,对于广大一般用户保证默认的从外部获取的行为,而添加额外的参数是用户的显式行为,表明用户是知道自己在做什么的,这样分层个人感觉还是合理的。 而且从外部获取地址往往获取的都是IPv6临时地址,过一段时间就会变,而对于服务器来说往往永久地址更好。否则在IP地址变的一小段时间服务器域名直接变成不可达状态。
v6.1.x使用的是正则,并且对多IPv6地址没有什么偏好(尽管官方定义了各种IPv6地址的特点,这些都显示在了ip addr里的flag里),这有一部分是因为对IPv6地址的使用经验和了解不够成熟导致的。 #112 里并没有使用正则来处理,而是直接使用ip addr里的各种flag来识别地址,这是因为正则的错误率确实很高,而使用地址的flag则是完全在RFC定义的IPv6规范下取得地址的,相比正则可以保证结果一定是符合预期的: ``` dynamic and permanent (IPv6 only) only list addresses installed due to stateless address configuration or only list permanent (not dynamic) addresses. These two flags...
此外,v6.2已经规定好了“默认情况下**作为客户端**,查询对外地址”(从wan口获取是不能符合这个要求的,而从ip route get获取则符合),这样把语义规范好了是件很好的事。 作为主分支,我们是否可以开始考虑基于这个规范好的默认语义,开始提供更多语义: * `arDdnsCheck domain subdomain 6`:默认语义,查询默认对外地址(IPv6里为`temporary` flag地址) * `arDdnsCheck domain subdomain 6 dev`:查询`dev`上的永久地址(IPv6里为`permanent` flag地址) * `arDdnsCheck domain subdomain 6 dev mac`:作为路由器,获取子设备地址(在IPv6里,这非常有用, 可以仅在路由器端为大量子设备(乃至物联网设备)大批量更新域名)。
> 我试过dev,存在作者提到的指令不可用情况,dev参数在我的固件上不生效 @refined-fish 是指`ip addr show dev eth0`失败了吗?(注意需要show,`ip addr dev eth0`是不行的) > 考虑到各个系统的不一样,直接获取存在不可用的可能 实际上我是考虑到了`ip addr`(也就是`ip-address`)已经在之前的ardnspod有所使用了,所以继续使用这一命令的;`ip-route`由于之前没用过,确实可能在某些固件上不存在。
# Future works ## Routing Strategy This strategy aims to unify the three scenarios in routing dns inbound requests: * `Default`: sends to router normally. * `SkipDNS`: do not use...
Considering the fakedns case, converting it to draft.
@dyhkwong Thanks for mentioning the issue. Assume that the "destination" is the address sent to remote server for dialing, do you mean that the destination to send should not be...
No, load balancing is irrelevant in this issue. What I am doing is to categorize all domains and IPs into multiple categories, and assign each category with a specific routing...