首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测私有IPv6地址C#

检测私有IPv6地址C#
EN

Stack Overflow用户
提问于 2014-11-05 16:00:21
回答 1查看 1.1K关注 0票数 1

我们只希望在本地网络上允许http连接到我们的产品,以防止客户公开承载该产品并允许来自公共IP地址的连接。

我们目前这样做的方式是查看请求的用户主机地址,并筛选出任何非私有IP地址。

对于IPv4,这似乎相对简单,我们只允许与以下内容匹配的IP地址:

代码语言:javascript
复制
127.0.0.0/8 loopback
10.0.0.0/8 private
172.16.0.0/12 private
192.168.0.0/16 private
169.254.0.0/16 link-local

另外,对于IPv6,我们只允许与以下内容匹配的IP地址:

代码语言:javascript
复制
::1/128 loopback
fc00::/7 unique-local (private)
fe80::/10 link-local     

这些似乎都适用于目前有限的测试用例.

因此,问题是:是否有任何边缘情况不包括在内,例如VPN、代理等,或者是否有更好的方法来处理这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-05 16:25:54

通常,对于IPv6,所有主机都将使用全局地址。目标是恢复在IPv4中使用RFC 1918和NAT时丢失的IP端到端连接。IPv6没有NAT。

只有唯一本地地址的主机将无法连接到外部世界。IPv6允许(实际上需要)每个接口有多个地址。您确信您可以保证您的客户的主机将使用配置的唯一本地(或任何其他特定的)地址来尝试连接到您的产品。

您可能会失去客户,如果您试图削弱IPv6为他们。

难道许可证限制不是更合适吗?

听起来您需要更好地理解IPv6,因为有些东西并不是直接从IPv4转换而来的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26761589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档