Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

라우팅 엔진 기반의 정적 HTTP 리디렉션 서비스 구성

참고:

Junos OS 릴리스 19.3R2부터는 MX 시리즈에서 차세대 서비스를 활성화한 경우 HTTP 리디렉션 서비스도 지원됩니다.

MS-MPC/MS-MIC 또는 MX-SPC3 서비스 카드를 사용하는 대신 라우팅 엔진에서 HTTP 리디렉션 서비스를 구성할 수 있습니다. 벽으로 둘러싸인 정원을 방화벽 서비스 필터로 구성합니다. 벽으로 둘러싸인 정원은 캡티브 포털을 통해 재인증 없이 가입자에게 벽으로 둘러싸인 정원 내의 사이트에 대한 액세스를 제공하는 서버 그룹입니다. Walled Garden 서비스 필터는 Walled Garden으로 향하는 트래픽과 Walled Garden 외부로 향하는 트래픽을 식별합니다. 벽으로 둘러싸인 정원 외부로 향하는 HTTP 트래픽만 HTTP 리디렉션 서비스에 의해 처리되기 위해 라우팅 엔진으로 전송됩니다. CPCD 서비스는 서비스 세트를 통해 라우팅 엔진의 서비스 인터페이스와 연결됩니다.

라우팅 엔진의 서비스 인터페이스는 si- 접두사(예: si-1/1/0)로 식별됩니다. si- 인터페이스는 라우팅 엔진에 대한 모든 리디렉션 및 재작성 트래픽 및 서비스를 처리합니다. 캡티브 포털 콘텐츠 전송(CPCD) 서비스를 활성화하고 활성화하려면 si- 인터페이스가 up 상태로 작동해야 합니다. CPCD 서비스가 활성화된 후에는 si- 인터페이스의 작동 상태가 변경되어도 기존 CPCD 서비스에 영향을 미치지 않습니다.

CPCD 서비스는 벽으로 둘러싸인 정원을 목적지로 하지 않는 가입자 HTTP 요청 트래픽을 리디렉션 서버로 전송하고, 리디렉션 서버는 리디렉션 URL로 응답합니다. 리디렉션 URL은 승인되지 않은 외부 사이트 대신 캡티브 포털로 트래픽을 보냅니다. 캡티브 포털은 리디렉션된 가입자에게 벽으로 둘러싸인 정원 외부의 보호된 서버에 대한 액세스 권한을 부여하기 전에 인증 및 권한 부여 서비스를 제공합니다.

리디렉션 서버는 로컬 또는 원격일 수 있습니다.

  • 로컬 리디렉션 서버 - 라우터에 상주하며 가입자 트래픽을 벽으로 둘러싸인 정원 내부의 캡티브 포털로 리디렉션합니다.

  • 원격 리디렉션 서버—라우터 뒤의 벽으로 둘러싸인 정원 내부의 정책 서버와 같은 디바이스에 상주합니다. 가입자의 HTTP 트래픽에 대한 대상 주소는 원격 리디렉션 서버의 주소로 다시 작성됩니다. 원격 서버는 가입자 트래픽을 벽으로 둘러싸인 정원 내부의 캡티브 포털로 리디렉션합니다.

방화벽 서비스 필터로 벽으로 둘러싸인 정원 구성

벽으로 둘러싸인 정원을 방화벽 서비스 필터로 구성하면 벽으로 둘러싸인 정원 내의 서버로 향하는 트래픽이 식별되고 건너뜁니다. 다른 모든 HTTP 트래픽은 벽으로 둘러싸인 정원 외부의 주소로 향합니다. 이 트래픽은 필터 조건과 일치하지 않기 때문에 처리를 위해 라우팅 엔진으로 흐릅니다.

참고: Junos OS Evolved에서 서비스 필터 내에서 건너뛰기 작업을 구성할 때 건너뛰는 패킷이 삭제됩니다.

서비스 필터를 구성하여 벽으로 둘러싸인 정원에 캡티브 포털 또는 서버 목록으로 단일 서버가 포함되도록 할 수 있습니다.

  • 단일 서버를 캡티브 포털로 사용하여 벽으로 둘러싸인 정원을 캡티브 포털로 구성합니다.

    1. 서비스 필터를 만듭니다.

    2. 필터 용어를 정의하여 캡티브 포털에 대한 트래픽 처리를 식별하고 건너뛸 수 있습니다.

      1. 캡티브 포털의 대상 주소와 대상 포트를 지정하여 캡티브 포털로 향하는 트래픽과 일치하는 필터 조건을 지정합니다.

      2. 일치하는 트래픽이 라인 카드에서 처리를 건너뛰도록 지정합니다.

    3. 필터 용어를 정의하여 이전 용어와 일치하지 않는 모든 트래픽에서 HTTP 트래픽을 식별하고 CPCD 서비스 규칙에 따라 처리하도록 보냅니다.

      1. 건너뛴 HTTP 트래픽과 일치하도록 하나 이상의 HTTP 포트 번호를 지정합니다.

      2. 일치하는 트래픽이 CPCD 서비스에 의해 처리되도록 지정합니다.

    4. 나머지 비 HTTP 트래픽에 대한 추가 작업을 건너뛰는 필터 용어를 정의합니다.

    예를 들어, 다음 구성은 192.0.2.0에 캡티브 포털 있는 IPv4 HTTP 트래픽 walled-v4에 대한 필터를 생성합니다. 주소와 일치하는 트래픽에 대해서는 처리를 건너뜁니다. 트래픽은 캡티브 캡티브 포털로 전송됩니다. 일치하지 않는 트래픽은 http라는 용어로 이동하며, 여기서 HTTP 트래픽은 건너뛴 모든 트래픽에서 선택되어 CPCD 서비스에 따라 처리되도록 전송됩니다. 마지막으로, 용어 건너뛰기는 나머지 모든 비 HTTP 트래픽을 건너뛰게 합니다.

  • 벽으로 둘러싸인 정원을 서버의 목록 또는 서브넷으로 구성합니다.

    1. 서비스 필터를 만듭니다.

    2. 필터 용어를 정의합니다.

      1. 서버의 대상 접두사 목록을 지정하여 벽으로 둘러싸인 정원의 모든 서버로 향하는 트래픽과 일치하는 필터 조건을 지정합니다.

        참고: Junos OS Evolved에서는 하나 이상의 접두사 목록을 생성할 수 있으며, 각각 최대 3개 또는 4개의 접두사를 가질 수 있습니다.
      2. 일치하는 트래픽이 라인 카드에서 처리를 건너뛰도록 지정합니다.

    3. 필터 용어를 정의하여 이전 용어와 일치하지 않는 모든 트래픽에서 HTTP 트래픽을 식별하고 CPCD 서비스 규칙에 따라 처리하도록 보냅니다.

      1. 건너뛴 HTTP 트래픽과 일치하도록 하나 이상의 HTTP 포트 번호를 지정합니다.

      2. 일치하는 트래픽이 CPCD 서비스에 의해 처리되도록 지정합니다.

    4. 나머지 비 HTTP 트래픽에 대한 추가 작업을 건너뛰는 필터 용어를 정의합니다.

    5. (선택 사항) 벽으로 둘러싸인 정원 내의 서버를 지정하는 접두사 목록을 정의합니다. 서브넷 또는 여러 개별 주소를 지정할 수 있습니다.

    예를 들어, 다음 구성은 벽으로 둘러싸인 정원에 있는 두 개의 서버를 지정하는 접두사 목록 wg-list를 사용하여 IPv6 HTTP 트래픽 walled-v6-list에 대한 필터를 생성합니다. 필터 용어 portal6은 벽으로 둘러싸인 정원으로 향하는 IPv6 트래픽을 식별합니다. 일치하지 않는 트래픽은 용어 http6으로 이동하며, 여기서 HTTP 트래픽은 건너뛴 모든 트래픽에서 선택되어 CPCD 서비스에 따라 처리되도록 전송됩니다. 마지막으로, skip6이라는 용어는 나머지 모든 비 HTTP 트래픽을 건너뛰게 합니다.

로컬 및 원격 리디렉션 서버에 대한 HTTP 리디렉션 구성

벽으로 둘러싸인 정원 외부의 사이트에 대한 HTTP 요청이 이루어지면 CPCD는 인증 및 권한 부여를 위해 트래픽을 캡티브 포털로 리디렉션할 수 있습니다.

벽으로 둘러싸인 정원 밖으로 향하는 트래픽에 대해 수행할 작업을 지정하는 CPCD 서비스 규칙을 구성합니다. 이 트래픽은 벽으로 둘러싸인 정원 서비스 필터에 의해 식별되어 서비스로 전달되거나 벽으로 둘러싸인 정원 서비스 규칙에 의해 식별되어 수락되었습니다. 구성하는 작업은 로컬 또는 원격 HTTP 리디렉션 서버를 사용하는지에 따라 달라집니다.

  • 라우터에서 로컬 HTTP 리디렉션 서버를 사용하는 경우 리디렉션 작업을 지정합니다.

  • 라우터 뒤의 벽으로 둘러싸인 정원에 있는 원격 HTTP 리디렉션 서버를 사용하는 경우 단순히 리디렉션 URL을 지정할 수 없습니다. 이 경우 서비스 규칙은 트래픽의 IP 대상 주소를 다시 작성해야 합니다. 새 대상 주소는 원격 HTTP 리디렉션 서버의 주소입니다. 그런 다음 원격 서버는 트래픽을 캡티브 포털로 전송하기 위한 리디렉션 URL을 제공합니다.

CPCD 서비스는 서비스 세트에 의해 서비스 인터페이스와 연결됩니다. 서비스 집합과 벽으로 둘러싸인 정원 서비스 필터는 모두 정적으로 구성된 인터페이스에 적용됩니다.

  1. CPCD 서비스 구성 수준에 액세스합니다.
  2. 벽으로 둘러싸인 정원 밖으로 향하는 트래픽에 적용할 규칙을 생성합니다.
  3. 규칙이 수신 트래픽에 적용되도록 지정합니다.
  4. HTTP 트래픽에 작업을 적용하기 위한 CPCD의 규칙 용어를 정의합니다. 벽으로 둘러싸인 정원이 서비스 필터로 구성되기 때문에 트래픽은 서비스로 전송되기 전에 이미 HTTP 트래픽으로 필터링되어 있습니다.
    • 로컬 HTTP 리디렉션 서버의 경우 리디렉션 URL을 제공합니다. 이 URL은 원래 URL(벽으로 둘러싸인 정원 외부)이 추가된 캡티브 포털의 URL입니다.

    • 원격 HTTP 리디렉션 서버의 경우 원격 서버의 대상 주소를 제공합니다.

예를 들어, 로컬 서버에 대한 다음 구성에서 CPCD 서비스 규칙 redir-svc는 트래픽을 캡티브 포털 로 http://www.portal.example.com리디렉션합니다. 가입자가 입력한 원래 URL이 리디렉션 URL에 추가됩니다.

원격 서버에 대한 다음 구성은 원래 대상 주소를 원격 서버의 주소 192.0.2.230으로 다시 쓰는 CPCD 서비스 규칙 rewr-svc를 만듭니다.

서비스 프로필과 서비스 인터페이스를 연결하기 위한 서비스 프로필 및 서비스 세트 구성

서비스 세트는 라우팅 엔진이 수행할 하나 이상의 서비스를 정의합니다. HTTP 리디렉션 서비스의 경우 CPCD 규칙을 포함하는 CPCD 서비스 프로필을 정의합니다. 서비스 집합은 CPCD 서비스 프로필을 특정 서비스 인터페이스에 적용합니다.

  1. 서비스 프로필을 생성합니다.
  2. 서비스 프로필에 대해 하나 이상의 CPCD 규칙을 지정합니다.
  3. 서비스 집합을 만듭니다.
  4. 서비스 집합이 라우팅 엔진 기반 CPCD용이라고 지정합니다.
  5. CPCD 서비스 프로필을 지정합니다.
  6. 서비스 인터페이스를 지정합니다.

예를 들어, 다음 구성은 CPCD 규칙 redir-svc를 참조하는 CPCD 서비스 프로필 redir-prof를 생성합니다. 서비스 세트 ss2는 라우팅 엔진 기반 CPCD용으로 지정됩니다. 이 세트는 CPCD 서비스 프로필 redir-prof를 서비스 인터페이스 si-4/0/0과 연결합니다.

CPCD 서비스 집합 및 서비스 필터를 논리 인터페이스에 연결

HTTP 리디렉션 서비스를 사용하려면 CPCD 서비스 세트를 논리적 인터페이스에 연결해야 합니다. 벽으로 둘러싸인 정원이 서비스 필터로 구성된 경우 서비스 세트와 동일한 인터페이스에 연결해야 합니다. 해당 인터페이스에 도착하고 나가는 트래픽은 서비스 필터에 의해 필터링됩니다. 서비스를 위해 식별된 트래픽은 CPCD 프로필이 적용되는 라우팅 엔진 서비스 인터페이스로 전송됩니다.

  1. 인라인 서비스를 활성화하고 대역폭을 지정합니다.
  2. 논리적 인라인 서비스 인터페이스를 구성합니다.
  3. 주소 패밀리를 구성합니다.
  4. 서비스 집합 및 서비스 필터를 인터페이스에 연결합니다.
    • 정적 인터페이스:

    • 동적 인터페이스

예를 들어, 다음 구성은 섀시 슬롯 4의 라인 카드와 라인 카드의 슬롯 0에 있는 MIC에서 인라인 서비스를 활성화합니다. 논리적 인터페이스에 주소를 할당합니다. 그런 다음 IPv4 주소 패밀리에 대해 서비스 세트 sset2 및 서비스 필터 walled-v4를 ge-2/0/1.0에 연결합니다. 서비스 집합과 필터는 모두 인터페이스 입력 및 출력에 적용됩니다.

HTTP 서버가 콘텐츠 액세스를 제어하는 데 사용할 수 있는 GET 헤더 태그 삽입

경우에 따라 HTTP 서버가 사용자가 콘텐츠에 액세스할 수 있도록 허용할지 여부를 결정하기를 원할 수 있습니다. Junos OS 릴리스 19.1부터 라우팅 엔진 기반의 정적 HTTP 리디렉션 서비스 필터를 구성하여 라우팅 엔진이 이러한 목적을 위해 HTTP GET 메시지의 패킷 헤더에 삽입하는 태그를 지정할 수 있습니다. 라우터 호스트 이름 또는 가입자의 MAC 주소, IPv4 주소 또는 IPv6 주소에 대한 태그를 삽입할 수 있습니다.

다음 단계는 그림 1에 해당합니다.

  1. 사용자의 디바이스인 HTTP 클라이언트는 HTTP 서버와 TCP 핸드셰이크 시퀀스를 수행합니다.

  2. 핸드셰이크가 성공하면 클라이언트는 사용자가 요청한 URL과 함께 HTTP GET을 보냅니다.

  3. 라우팅 엔진은 /$와 $/로 둘러싸인 임의의 문자 문자열을 연결하여 해당 URL을 수정합니다. 문자열 길이는 나중에 삽입될 태그의 결합된 길이와 일치합니다. 문자열은 클라이언트에서 반환될 때 식별자 역할을 합니다.

    삽입할 태그의 길이가 30자이고 요청된 URL이 http://192.51.100.20/test.html 라고 가정합니다. 라우팅 엔진은 다음 예와 같이 30개의 임의의 문자로 구성된 문자열로 수정된 URL을 반환합니다.

    http://192.51.100.20/test.html/$IIGSbVdNDTDvnJFIAyoysXwVJawoYj$/

  4. 라우팅 엔진은 상태 코드 302(발견됨) 또는 307(임시 리디렉션)과 함께 수정된 URL을 보냅니다. 전송되는 코드는 사용 중인 HTTP 버전과 BNG의 Junos OS 버전에 따라 다릅니다. 두 코드 모두 수정된 URL과 함께 액세스 요청을 다시 전송해야 함을 클라이언트에 나타냅니다.

  5. 라우팅 엔진은 클라이언트 및 서버와의 TCP 연결을 재설정합니다.

  6. 클라이언트는 수정된 URL에 대해 HTTP 서버와 TCP 핸드셰이크를 수행합니다.

  7. 클라이언트가 수정된 URL을 사용하여 HTTP GET을 보냅니다.

  8. 라우팅 엔진은 연결된 문자열의 길이가 클라이언트로 전송된 길이와 동일한지 확인합니다.

    • 길이가 정확하면 URL을 원래 요청된 URL로 다시 제거하고, 태그를 GET 헤더에 삽입하고, GET을 HTTP 서버로 전달합니다. 구성된 경우, GET은 원래 요청된 서버 대신 리디렉션 URL로 선택적으로 전달될 수 있습니다.

    • 길이가 정확하지 않으면 라우팅 엔진은 패킷을 삭제하고 드롭 카운터를 증가시킵니다.

  9. HTTP 서버는 GET 메시지를 평가하고 액세스 권한을 부여하는 경우 상태 코드 200(OK) 또는 요청이 거부된 경우 403(사용할 수 없음)으로 클라이언트에 응답을 보냅니다.

  10. 라우팅 엔진은 클라이언트 및 서버와의 TCP 연결을 종료합니다.

그림 1: HTTP 리디렉션 메시지 흐름에 대한 태그 삽입. Diagram of HTTP and TCP flow illustrating URL modification by BNG. Highlights steps from initial TCP SYN to HTTP 200 or 403 response.
참고:

태그는 구성된 순서대로 헤더에 삽입됩니다. 태그 이름은 대소문자를 구분 tag ABCD 하므로 다른 tag abcd 이름으로 처리됩니다.

GET 헤더에 삽입할 태그를 구성하는 방법:

  1. CPCD 서비스 구성 수준에 액세스합니다.
  2. 벽으로 둘러싸인 정원 밖으로 향하는 트래픽에 적용할 규칙을 생성합니다.
  3. 규칙이 수신 트래픽에 적용되도록 지정합니다.
  4. (선택 사항) 하나 이상의 목적지 주소를 지정하여 태그 지정을 위해 트래픽을 필터링합니다.
    참고:

    또는 방화벽 서비스 필터에서 트래픽을 식별하기 위한 대상 주소를 지정할 수 있습니다.

  5. HTTP 트래픽에 작업을 적용하기 위한 CPCD의 규칙 용어를 정의합니다. 벽으로 둘러싸인 정원이 서비스 필터로 구성되기 때문에 트래픽은 서비스로 전송되기 전에 이미 HTTP 트래픽으로 필터링되어 있습니다.

예를 들어, 다음 구성은 입력 인터페이스의 트래픽과 일치하는 서비스 규칙 insert-rule을 생성합니다. 용어 t1은 가입자의 MAC 주소가 포함된 x-mac-addr 및 가입자의 IPv4 주소 값이 포함된 x-sub-ip의 두 개의 태그를 삽입합니다.

다음 샘플 규칙에서는 대상 주소가 198.51.100.50 또는 198.51.100.75와 일치하는 트래픽만 태그가 지정됩니다. 가입자의 IP 주소와 라우터의 호스트 이름에 태그가 삽입됩니다. 규칙의 두 번째 용어는 트래픽이 원래 요청된 URL로 전송되는 대신 전달되는 리디렉션 URL을 제공합니다.

라우팅 엔진 기반 HTTP 리디렉션에 대한 모든 CPCD 서비스 규칙과 마찬가지로, CPCD 서비스 프로필에 규칙을 포함시킨 다음 CPCD 서비스 세트를 사용하여 프로필을 인라인 서비스 인터페이스와 연결해야 합니다. 라우팅 엔진은 규칙을 사용하여 서비스 세트와 동일한 논리적 인터페이스에서 서비스 필터가 전달한 HTTP 트래픽을 처리합니다.

다음 샘플 구성을 고려하십시오. 태그 리디렉션 규칙은 입력 인터페이스의 트래픽을 일치시킨 다음 GET 헤더에 가입자의 IP 주소 값과 라우터의 호스트 이름이라는 두 개의 태그를 삽입하도록 정의됩니다. 그런 다음 규칙은 태그가 지정된 트래픽에 대한 리디렉션 URL을 제공합니다. CPCD 서비스 프로필 http-insert-redirect는 이 규칙을 포함하도록 정의됩니다.

서비스 집합 sset1은 라우팅 엔진 기반 CPCD용으로 정의됩니다. CPCD 서비스 프로필을 인라인 서비스 인터페이스에 적용합니다.

서비스 필터 walled-tag는 192.0.2.100에서 walled garden으로 보낼 HTTP 트래픽, 서비스 처리로 이동하기 위해 198.51.100.50으로 향하는 HTTP 트래픽, 건너뛰는 다른 모든 트래픽의 세 가지 종류의 트래픽을 식별하고 이에 대해 작동합니다. 이는 서비스 규칙 대신 서비스 필터에서 대상 주소를 일치시키는 예입니다.

서비스 세트 sset1 및 서비스 필터 walled-tag는 논리적 인터페이스에 적용됩니다.

변경 내역 표

기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.

출시
설명
19.1
Junos OS 릴리스 19.1부터 라우팅 엔진 기반의 정적 HTTP 리디렉션 서비스 필터를 구성하여 라우팅 엔진이 이러한 목적을 위해 HTTP GET 메시지의 패킷 헤더에 삽입하는 태그를 지정할 수 있습니다.