nginx allow 여러 ip & ipv 4 의 네트워크 표시 방법 분석

3863 단어 LINUX
nginx 모듈 명 ngx_http_access_module 만 보면 많은 사람들 이 낯 설 겠 지만, deny 는 allow 에 비해 아무 도 모 르 는 사람 이 없다. 실제로 deny 와 allow 명령 은 ngx 에 속한다.http_access_module. 우 리 는 특정한 uri 나 경 로 를 제어 하여 접근 하지 못 하 게 하려 면 nginx 에서 그것 에 의지해 야 합 니 다.
nginx 의 접근 제어 모듈 문법 은 매우 간단 합 니 다. 적어도 apache 보다 이해 하기 쉽 습 니 다. apache 의 allow 와 deny 의 순 서 는 많은 초보 자 들 에 게 머리 를 잡 게 합 니 다. 자, 이 플러그 인의 사용 방법 을 구체 적 으로 보 세 요.
1. 설치 모듈
이 모듈 은 nginx 에 내장 되 어 있 습 니 다. 설치 에 사용 되 지 않 는 한 -- without - httpaccess_module。만약 당신 이 아직 nginx 를 설치 하지 않 았 다 면, ttlsa 가 이전에 쓴 nginx 설 치 를 참고 하 십시오.
2. 지령
allow 문법:    allow address | CIDR | unix: | all; 기본 값:    — 설정 세그먼트:    http, server, location, limit_except
ip 이나 ip 세그먼트 에 접근 할 수 있 습 니 다. 유 닉 스: 를 지정 하면 socket 에 접근 할 수 있 습 니 다. 주의: 유 닉 스 가 1.5.1 에 새로 추 가 된 기능 입 니 다. 버 전이 이것 보다 낮 으 면 이 방법 을 사용 하지 마 십시오.
deny 문법:    deny address | CIDR | unix: | all; 기본 값:    — 설정 세그먼트:    http, server, location, limit_except
어떤 ip 이나 ip 세그먼트 에 접근 하 는 것 을 금지 합 니 다. 유 닉 스: 를 지정 하면 socket 에 접근 하 는 것 을 금지 합 니 다. 주의: 유 닉 스 는 1.5.1 에 새로 추 가 된 기능 입 니 다. 버 전이 이것 보다 낮 으 면 이 방법 을 사용 하지 마 십시오.
3. allow, deny 인 스 턴 스
location / { deny  192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/16; allow 2001:0db8::/32; deny  all; }
위 에서 아래로 의 순서, iptables 와 유사 합 니 다.일치 하면 튀 어 나 옵 니 다.위의 예 와 같이 먼저 192.16.1.1 을 금 지 했 고 그 다음 에 3 개의 네트워크 를 허용 했다. 그 중에서 ipv 6 가 포함 되 어 있 고 마지막 에 일치 하지 않 는 IP 는 모두 접근 을 금지 했다.  실제 생산 환경 에서 저 희 는 nginx 의 geo 모듈 을 사용 하여 함께 사용 할 것 입 니 다. 관심 이 있 는 것 은 ttlsa 관련 글 nginx geo 사용 방법 을 참고 하 십시오.
nginx 접근 제어 모듈 은 nginx 에서 가장 간단 한 명령 을 세 어야 합 니 다. 누가 접근 하지 못 하 게 하려 면 deny 에 IP 를 추가 하고 허용 하려 면 allow ip 를 추가 하여 모든 것 을 금지 하거나 허용 하려 면 allow all 또는 deny all 을 사용 하면 됩 니 다.
그런데 구체 적 인 설정 에 문제 가 많아 요.
간단하게 예 를 들 어 설명: ip 세그먼트: 10.0.0.1 - 10.0.0.255            방법: 10.0.0.0 / 24ip 세그먼트: 10.0.0.1 - 10.0.255.255        의 표현 방법: 10.0.0.0 / 16ip 세그먼트: 10.0.0.1 - 10.2555.255.255      방법
호스트 수 를 이용 하여 계산 하 다
   1) 호스트 수 를 바 이 너 리 로 표시
   2) 호스트 수가 254 보다 작 거나 같 으 면 (보 존 된 두 개의 IP 주 소 를 제거 하 는 것 을 주의 하 십시오) 이 호스트 의 바 이 너 리 자릿수 를 N 으로 가 져 옵 니 다. 여 기 는 N < 8 입 니 다.254 보다 크 면 N > 8 은 호스트 주소 가 8 위 를 넘 는 다 는 뜻 이다.
   3) 255.255.255.255. 255 를 사용 하여 이러한 IP 주소 의 호스트 주소 수 를 모두 1 로 설정 한 다음 에 뒤쪽 에서 앞으로 N 자 리 를 모두 0, 즉 서브 넷 마스크 값 으로 설정 합 니 다.
    만약 에 B 류 IP 주소 168.195.0.0 을 몇 개의 서브 넷 으로 나 누 려 면 각 서브 넷 안에 호스트 700 대가 있 습 니 다.
    1) 700=1010111100      2) 이 바 이 너 리 는 10 자리, N = 10      3) 이 B 류 주소 의 서브 넷 마스크 255.255.0.0 의 호스트 주 소 를 모두 1 로 설정 하고 255.255.255.255.255 를 받 은 다음 에 뒤에서 10 위 치 를 0 으로 한다. 즉, 11111 이다.
111.11111.11111100.000000 즉 255.255.225.252.0.호스트 700 대로 나 누 려 는 B 클래스 IP 주소 168.195.0.0 의 서브 넷 마스크 다.
이 진 표 (표 1)
  
0   0   0   0     0   0   0  0
  
128 64 32  16   8   4     2  1
  
  
CIDR 값 (표 2)
  
서브 넷 마스크                 CIDR 값
  
255.0.0.0                 /8
  
255.128.0.0               /9
  
255.192.0.0               /10
  
255.224.0.0               /11
  
255.240.0.0               /12
  
255.248.0.0               /13
  
255.252.0.0               /14
  
255.254.0.0               /15
  
255.255.0.0               /16
  
255.255.128.0             /17
  
255.255.192.0             /18
  
255.255.224.0             /19
  
255.255.240.0             /20
  
255.255.248.0             /21
  
255.255.252.0             /22
  
255.255.254.0             /23
  
255.255.255.0             /24
  
255.255.255.128           /25
  
255.255.255.192           /26
  
255.255.255.224           /27
  
255.255.255.240           /28
  
255.255.255.248           /29
  
255.255.255.252           /30

좋은 웹페이지 즐겨찾기