로컬 방화벽 구성

이 항목에서는 Tableau Server를 실행하는 컴퓨터에서 방화벽을 구성하는 방법에 대해 설명합니다.

단일 및 다중 노드 배포에서 Tableau Server를 보호하려면 운영 체제에서 로컬 방화벽을 사용하도록 설정해야 합니다. Tableau Server의 분산(다중 노드) 설치에서는 노드 간 통신에 보안 통신이 사용되지 않습니다. 그러므로 Tableau Server를 호스팅하는 컴퓨터에서 방화벽을 사용하도록 설정해야 합니다.

gateway 포트 및 tabadmincontroller 포트만 외부 트래픽에 액세스할 수 있도록 방화벽을 구성하는 것이 좋습니다. 기본적으로 이 두 포트는 각각 80 및 8850입니다. 또한 분산 배포 환경에서 실행하는 경우 27000-27009 포트 범위를 열어야 노드 간에서 라이선스 정보가 전달될 수 있습니다.

gateway 포트는 Tableau Server의 HTTP 연결에 사용됩니다. gateway 포트에는 SSL을 사용하는 것이 좋습니다. Tableau Server가 SSL에 대해 다른 포트를 지원하지 않기 때문에 SSL을 사용하는 경우 포트는 443이어야 합니다. 아래 절차에서는 gateway 포트의 방화벽을 구성하는 방법에 대해 설명합니다. Tableau Server 게이트웨이(초기 노드 설정 구성)를 여기에서 설정한 포트와 일치하도록 구성합니다.

아래 예에서는 RHEL/CentOS 배포판에서 실행되는 Tableau Server의 단일 및 다중 노드 배포에서 방화벽을 구성하는 방법을 설명합니다. 이러한 예제에서는 CentOS의 기본 방화벽인 Firewalld를 사용합니다.

단일 노드 구성

  1. bash 셸을 열고 다음 TSM 명령을 실행하여 tabadmincontroller 포트에 대한 포트 번호를 검색합니다.

    tsm topology list-ports

    tabadmincontroller 포트를 기록해 두십시오. 기본적으로 이 포트는 8850입니다.

  2. firewalld를 시작합니다.

    sudo systemctl start firewalld

  3. 기본 영역이 public 같은 높은 보안 영역인지 확인합니다. 그렇지 않은 경우 영역을 높은 보안 영역으로 변경하는 것이 좋습니다.

    sudo firewall-cmd --get-default-zone

    sudo firewall-cmd --set-default-zone=public

  4. gateway 포트 및 tabadmincontroller 포트에 대한 포트를 추가합니다. 아래 예제에서는 기본 포트(808850)를 사용합니다.

    sudo firewall-cmd --permanent --add-port=80/tcp

    sudo firewall-cmd --permanent --add-port=8850/tcp

  5. 방화벽을 다시 로드하고 설정을 확인합니다.

    sudo firewall-cmd --reload

    sudo firewall-cmd --list-all

다중 노드 클러스터 구성

다중 노드 클러스터에서 방화벽을 구성하려면 포트를 활성화한 다음 노드가 상호 통신할 수 있도록 추가적인 단계를 수행해야 합니다.

시작하기 전에

클러스터의 각 노드에 대한 IP 주소가 필요합니다. 이 예제에서는 초기 노드 IP 주소에 대한 자리 표시자로 <node1IP>를 사용하고 두 추가 노드의 IP 주소에 대한 자리 표시자로 <node2IP><node3IP>를 사용합니다.

1단계: 초기 노드 구성

  1. bash 셸을 열고 다음 TSM 명령을 실행하여 tabadmincontroller 포트에 대한 포트 번호를 검색합니다.

    tsm topology list-ports

    tabadmincontroller 포트를 기록해 두십시오. 기본적으로 이 포트는 8850입니다.

  2. 다음 명령을 실행하여 TSM이 동적으로 선택할 수 있는 포트 번호의 범위를 확인합니다. 이 절차의 뒷부분에서 이 범위를 지정합니다. 포트 범위를 기록해 두십시오.

    tsm configuration get -k ports.range.min

    tsm configuration get -k ports.range.max

    일반적인 범위는 8000 ~ 9000입니다.

  3. firewalld를 시작합니다.

    sudo systemctl start firewalld

  4. 기본 영역이 public 같은 높은 보안 영역인지 확인합니다. 그렇지 않은 경우 영역을 높은 보안 영역으로 변경하는 것이 좋습니다.

    firewall-cmd --get-default-zone

    sudo firewall-cmd --set-default-zone=public

  5. gateway 포트 및 tabadmincontroller 포트에 대한 포트를 추가합니다. 아래 예제에서는 기본 포트(808850)를 사용합니다. 또한 노드 간에서 라이선스 통신을 사용하도록 설정하려면 포트 범위(27000-27010)를 추가해야 합니다.

    sudo firewall-cmd --permanent --add-port=80/tcp

    sudo firewall-cmd --permanent --add-port=8850/tcp

    sudo firewall-cmd --permanent --add-port=27000-27010/tcp

  6. 클러스터의 다른 노드에서 시작된 모든 트래픽을 허용하도록 방화벽을 구성합니다. 포트 옵션의 경우 2단계에서 기록한 범위를 지정합니다. 클러스터의 각 추가 노드에 대해 명령을 실행합니다. 예:

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node2IP>/32 port port=8000-9000 protocol=tcp accept'

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node3IP>/32 port port=8000-9000 protocol=tcp accept'

  7. 방화벽을 다시 로드하고 설정을 확인합니다.

    sudo firewall-cmd --reload

    firewall-cmd --list-all

2단계: 추가 노드 구성

클러스터의 각 노드는 초기 노드 및 다른 노드와 통신할 수 있어야 합니다.

클러스터의 각 추가 노드에서 이 절차를 실행합니다. 이 예제에서 IP 주소가 <node2IP>인 노드가 초기 노드(<node1IP>) 및 세 번째 노드(<node3IP>)와 통신합니다.

  1. firewalld를 시작합니다.

    sudo systemctl start firewalld

  2. 기본 영역이 public 같은 높은 보안 영역인지 확인합니다. 그렇지 않은 경우 영역을 높은 보안 영역으로 변경하는 것이 좋습니다.

    firewall-cmd --get-default-zone

    sudo firewall-cmd --set-default-zone=public

  3. 클러스터의 다른 노드에서 gatewaytabadmincontroller에 액세스할 수 있도록 방화벽을 구성합니다. 예:

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node1IP>/32 port port=80 protocol=tcp accept'

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node1IP>/32 port port=8000-9000 protocol=tcp accept'

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node3IP>/32 port port=80 protocol=tcp accept'

    sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=<node3IP>/32 port port=8000-9000 protocol=tcp accept'

    이 예제에서는 tabadmincontroller 포트(8850)가 포트 범위에 포함되기 때문에 명령에 명시적으로 지정되어 있지 않습니다.

  4. 방화벽을 다시 로드하고 설정을 확인합니다.

    sudo firewall-cmd --reload

    firewall-cmd --list-all

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!