Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

支持 ip-alias ip-rules ip-set #505

Open
zeng-y-l opened this issue Feb 16, 2025 · 7 comments
Open

支持 ip-alias ip-rules ip-set #505

zeng-y-l opened this issue Feb 16, 2025 · 7 comments

Comments

@zeng-y-l
Copy link
Contributor

我试了一下,似乎不支持ip-alias ip-rules ip-set配置。TODO也没有提到这些配置。

错误例如:

2025-02-16 11:35:30.729:WARN:smartdns::dns_conf:875: unknown conf: ip-alias 1.2.3.4 5.6.7.8, Error(Error { input: "ip-alias 1.2.3.4 5.6.7.8", code: Tag })

Windows 11 系统,版本:smartdns-x86_64-pc-windows-msvc-v0.9.1

@zeng-y-l
Copy link
Contributor Author

我打算自己fork加上这些功能,然后发现:它居然没有解析whitelist-ip配置……可能是无意中漏了,只要加一行就能修复……

This was referenced Feb 17, 2025
@mokeyish
Copy link
Owner

我打算自己fork加上这些功能,然后发现:它居然没有解析whitelist-ip配置……可能是无意中漏了,只要加一行就能修复……

@zeng-y-l 近期比较忙,如果你觉得简单方便,添加的话,欢迎 PR。原版有些功能,因为我自己没用到,所以并没有全部一一参照移植过来,细节功能,比较费时间心思。

@zeng-y-l
Copy link
Contributor Author

ip-set搞了,准备搞ip-alias。ip-alias的具体逻辑我不甚明白,C代码看得一头雾水的,没有linux设备也没法测试。似乎ip-alias出来也要参与测速,和address不太一样。再看bogus-nxdomain/ignore-ip/blacklist-ip/whitelist-ip的逻辑,感觉Rust和C的版本也有区别。算了,按我理解的搞吧。

还发现bogus-nxdomain根本没有参与解析,和whitelist-ip是一样的问题……

@zhengqwe
Copy link

https://pymumu.github.io/smartdns/config/ip-alias
ip-alias简单说就是替换,例如ip-alias 1.2.3.4/24 192.168.1.1,就是解析结果中有1.2.3.4/24范围内的IP就替换成192.168.1.1

@zeng-y-l
Copy link
Contributor Author

https://pymumu.github.io/smartdns/config/ip-alias ip-alias简单说就是替换,例如ip-alias 1.2.3.4/24 192.168.1.1,就是解析结果中有1.2.3.4/24范围内的IP就替换成192.168.1.1

大概的我知道,具体细节不太清楚,我就按我的想法写了 #509

  • alias后的要不要参与测速?(要)
  • 没匹配上ip-alias的要不要删掉?(不删)
  • 要不要去重?(只在对应同一条ip-alias规则时去重,具体地址重复就不管了)
  • ipv4的结果能不能alias到ipv6上?(原版不行,我的行)

@mokeyish
Copy link
Owner

@zeng-y-l 你的第4项应该有问题,客户端查询 ipv4 只能给 ipv4 的结果。

@zeng-y-l
Copy link
Contributor Author

@zeng-y-l 你的第4项应该有问题,客户端查询 ipv4 只能给 ipv4 的结果。

明白了,我去修。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants