前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网畅外网墙--再聊Nginx访问权限管理

内网畅外网墙--再聊Nginx访问权限管理

作者头像
奋飛
发布2021-08-30 10:15:42
1.7K0
发布2021-08-30 10:15:42
举报
文章被收录于专栏:Super 前端

接上回,Nginx访问权限管理

low address bits of 192.168.101.0/16 are meaningless in /usr/local/nginx/conf/nginx.conf:122

代码语言:javascript
复制
location / {
  allow 192.168.101.0/24;
  deny all;
  ...
}

网关

网关在网络层以上实现网络互连,是复杂的网络互连设备。网关既可以用于广域网互连,也可以用于局域网互连。

A:IP地址范围 192.168.1.1~192. 168.1.254,子网掩码 255.255.255.0 B:IP地址范围 192.168.2.1~192. 168.2.254,子网掩码 255.255.255.0

计算所得(见下述计算方式):A 网络地址为 192.168.1.0,B网络地址为 192.168.2.0。

两个网络中的主机处在不同的网络里,而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。

网关 pk. 路由器
  • 网关:一个大概念,不具体特指一类产品,只要连接两个不同的网络的设备都可以叫网关
  • 路由器:连接两个或多个网络的硬件设备,路由器很显然能够实现网关的功能
  • 缺省网关:是子网与外网连接的设备,通常是一个路由器。PC本身不具备路由寻址能力,所以PC要把所有的IP包发送到一个默认的中转地址上面进行转发,也就是默认网关。 这个网关可以在路由器上,可以在三层交换机上,可以在防火墙上,可以在服务器上,所以和物理的设备无关

网络地址

在计算机领域中,网络就是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。网络地址(Network address)则是互联网上的节点在网络中具有的逻辑地址,可对节点进行寻址。

IP地址

IP地址,是指互联网协议地址,为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址=网络地址+主机地址

IP地址编址方式

类别

最大网络数

IP地址范围

默认掩码

单个网段最大主机数

私有IP地址范围

A

126( 2 7 − 2 2^7-2 27−2)

1.0.0.1-126.255.255.254

255.0.0.0/8

16777214

10.0.0.0-10.255.255.255

B

16384( 2 14 2^{14} 214)

128.0.0.0-191.255.255.255

255.255.0.0/16

65534

172.16.0.0-172.31.255.255

C

2097152( 2 21 2^{21} 221)

192.0.0.0-223.255.255.255

255.255.255.0/24

254

192.168.0.0-192.168.255.255

  • D、E类为特殊地址;D用于组播、E用于科研保留。

子网掩码

子网掩码,是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。

  • 通过子网掩码,就可以判断两个IP在不在一个局域网内部
  • 子网掩码可以看出有多少位是网络号,有多少位是主机号
通过IP地址和子网掩码计算网络地址

IP地址:192.168.101.222 (11000000 10101000 01100101 11011110)

子网掩码:255.255.255.0 (11111111 11111111 11111111 00000000)

代码语言:txt
复制
                                     11000000101010000110010111011110                                     &                            11111111111111111111111100000000                                     −                            −                            −                            −                            −                            −                            −                            −                            −                            −                            −                            −                            −                            −                            −                            −                            −                                     11000000101010000110010100000000                                   11000000 10101000 01100101 11011110 \\ \& 11111111 11111111 11111111 00000000 \\ -----------------\\ 11000000 10101000 01100101 00000000                      11000000101010000110010111011110&11111111111111111111111100000000−−−−−−−−−−−−−−−−−11000000101010000110010100000000

网络地址:192.168.101.0(11000000 10101000 01100101 00000000)上述计算所得

主机地址:222(11011110)后8位

0/24 是啥意思?

192.168.101.0/24 (11000000 10101000 01100101 00000000)

24 标示了我们的网络号的位数(也就是子网掩码中前多少号为1),8(32-24)是主机号位数,IP地址=网络地址+主机地址

说明

结果

后8位全0,是子网网络地址(00000000)

192.168.101.0

后8位全1,是子网广播地址(11111111)

192.168.101.255

剩余为有效可分配地址(00000001–11111110 )

192.168.101.1-192.168.101.254

  • 网络地址(Network address)是互联网上的节点在网络中具有的逻辑地址,可对节点进行寻址「见上述」。
  • 广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址

回到开始

文章开头,大家看到的那段配置,是对资源访问做限制所配置,基本诉求为:内网可以直接访问,外网需要通过账户密码访问。详见:Nginx 访问权限管理,为了满足场景,我们需要通过 ngx_http_auth_basic_module 来进行控制

通过 IP地址 & 子网掩码 可得知网络地址为 192.168.101.0,网络位数为 24。因此得出如下配置:

代码语言:javascript
复制
location / {
  allow 192.168.101.0/24;
  deny all;
  ...
}

IP 为 192.168.101.x 的都可以直接访问,其他 IP 地址需要账号和密码验证。

当然为了可以更大范围的内网允许访问(办公室多内网段:0/101/200/201 => 使用三层交换机打通各子局域网),可以将网络位数控制的更小。

代码语言:javascript
复制
location / {
  allow 192.168.0.0/16;
  deny all;
  ...
}

IP 为 192.168.x.x 的都可以直接访问,其他 IP 地址需要账号和密码验证。

三层交换机

出于安全和管理方便的考虑,主要是为了减小广播风暴的危害,必须把大型局域网按功能或地域等因素划成一个个小的局域网,这就使VLAN技术(虚拟局域网)在网络中得以大量应用,而各个不同VLAN间的通信都要经过路由器来完成转发,随着网间互访的不断增加。单纯使用路由器来实现网间访问,不但由于端口数量有限,而且路由速度较慢,从而限制了网络的规模和访问速度。

基于这种情况三层交换机便应运而生,三层交换机是为IP设计的,接口类型简单,拥有很强二层包处理能力,非常适用于大型局域网内的数据路由与交换,它既可以工作在协议第三层替代或部分完成传统路由器的功能,同时又具有几乎第二层交换的速度。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网关
    • 网关 pk. 路由器
    • 网络地址
    • IP地址
      • IP地址编址方式
      • 子网掩码
        • 通过IP地址和子网掩码计算网络地址
        • 0/24 是啥意思?
        • 回到开始
        • 三层交换机
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档