假设,我想允许访问我的项目的 IP 位于 192.168.1.1 和 192.168.1.40 之间。
Nginx 示例:
stream {
#...
server {
listen 12345;
deny 192.168.1.2;
allow 192.168.1.1/24;
allow 2001:0db8::/32;
deny all;
}
}
我必须分别允许每个 IP,或者是否有任何技术可以访问给定范围内的 IP?
allow
anddeny
语句按顺序进行评估,直到找到匹配项,因此您可以对 5 个连续语句施加严格的to192.168.1.1
inclusive192.168.1.40
范围。例如:
192.168.1.0/27
表示包含,第一个地址被前面的语句明确拒绝192.168.1.0
。192.168.1.31
192.168.1.32/29
代表包容192.168.1.32
。192.168.1.39
对于
192.168.1.130
to的范围192.168.1.190
,首先查看最后一个字节的二进制表示:所以这可以通过允许
10xxxxxx
但首先拒绝1000000x
和来表示10111111
。例如: