กำหนดค่าไฟร์วอลล์ในเครื่อง
หัวข้อนี้อธิบายวิธีกำหนดค่าไฟร์วอลล์บนคอมพิวเตอร์ที่ใช้ Tableau Server
ควรเปิดใช้งานไฟร์วอลในเครื่องบนระบบปฏิบัติการเพื่อป้องกัน Tableau Server ในการปรับใช้แบบเดี่ยวและแบบหลายโหนด ในการติดตั้ง Tableau Server แบบกระจาย (หลายโหนด) การสื่อสารระหว่างโหนดจะไม่ใช้การสื่อสารที่ปลอดภัย ดังนั้น คุณควรเปิดใช้งานไฟร์วอลบนคอมพิวเตอร์ที่โฮสต์ Tableau Server
เราขอแนะนำให้คุณกำหนดค่าไฟร์วอลล์เพื่อให้ปริมาณการใช้ภายนอกสามารถเข้าถึงได้เพียงสองพอร์ตเท่านั้น ได้แก่ พอร์ต gateway
และพอร์ต tabadmincontroller
ตามค่าเริ่มต้นแล้ว พอร์ตเหล่านี้คือพอร์ต 80 และ 8850 ตามลำดับ นอกจากนี้ หากคุณเรียกใช้การปรับใช้แบบกระจาย คุณจะต้องเปิดช่วงพอร์ต 27000-27009 เพื่อให้สิทธิ์การอนุญาตสามารถสื่อสารข้ามโหนดได้
พอร์ต gateway
ใช้สำหรับการเชื่อมต่อ HTTP กับ Tableau Server เราขอแนะนำให้คุณใช้ SSL สำหรับพอร์ต gateway
หากคุณจะใช้ SSL พอร์ตจะต้องเป็น 443
เนื่องจาก Tableau Server ไม่รองรับพอร์ตอื่นสำหรับ SSL ขั้นตอนด้านล่างอธิบายวิธีกำหนดค่าไฟร์วอลล์สำหรับพอร์ต gateway
กำหนดค่าเกตเวย์ Tableau Server (กำหนดการตั้งค่าโหนดเริ่มต้น) เพื่อให้ตรงกับพอร์ตที่คุณตั้งค่าไว้ที่นี่
ตัวอย่างด้านล่างอธิบายวิธีกำหนดค่าไฟร์วอลล์ในการปรับใช้โหนดเดียวและหลายโหนดของ Tableau Server ที่เรียกใช้กับการกระจาย RHEL/CentOS ตัวอย่างใช้ Firewalld ซึ่งเป็นไฟร์วอลล์เริ่มต้นบน CentOS
การกำหนดค่าโหนดเดียว
เปิด Bash Shell และเรียกใช้คำสั่ง TSM ต่อไปนี้เพื่อดึงหมายเลขพอร์ตสำหรับพอร์ต
tabadmincontroller
:tsm topology list-ports
ทำการบันทึกพอร์ต
tabadmincontroller
ตามค่าเริ่มต้น พอร์ตนี้คือ8850
เริ่มใช้ไฟร์วอล:
sudo systemctl start firewalld
ตรวจสอบว่าโซนเริ่มต้นเป็นโซนความปลอดภัยสูง เช่น
public
หากไม่เป็นเช่นนั้น เราแนะนำให้เปลี่ยนเป็นโซนที่มีความปลอดภัยสูงsudo firewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=public
เพิ่มพอร์ตสำหรับพอร์ต
gateway
และพอร์ตtabadmincontroller
ในตัวอย่างด้านล่าง เราใช้พอร์ตเริ่มต้น (80
และ8850
)sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=8850/tcp
โหลดไฟร์วอลล์ใหม่และตรวจสอบการตั้งค่า
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
การกำหนดค่าคลัสเตอร์หลายโหนด
นอกเหนือจากการเปิดใช้งานพอร์ตแล้ว การกำหนดค่าไฟร์วอลล์บนคลัสเตอร์แบบหลายโหนดยังมีขั้นตอนเพิ่มเติมเพื่อให้แน่ใจว่าโหนดจะสามารถสื่อสารถึงกันได้
ก่อนที่คุณจะเริ่มต้น
คุณจะต้องมีที่อยู่ IP สำหรับแต่ละโหนดในคลัสเตอร์ ตัวอย่างที่นี่ใช้ <node1IP>
เป็นตัวยึดตำแหน่งสำหรับที่อยู่ IP ของโหนดเริ่มต้นและ <node2IP>
และ <node3IP>
เป็นตัวยึดตำแหน่งสำหรับที่อยู่ IP ของโหนดเพิ่มเติม 2 โหนด
ขั้นตอนที่ 1: กำหนดค่าโหนดเริ่มต้น
เปิด Bash Shell และเรียกใช้คำสั่ง TSM ต่อไปนี้เพื่อดึงหมายเลขพอร์ตสำหรับพอร์ต
tabadmincontroller
:tsm topology list-ports
ทำการบันทึกพอร์ต
tabadmincontroller
ตามค่าเริ่มต้น พอร์ตนี้คือ8850
เรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดช่วงของหมายเลขพอร์ตที่ TSM อาจเลือกแบบไดนามิก คุณจะระบุช่วงนี้ต่อไปในขั้นตอนนี้ จดช่วงพอร์ตไว้
tsm configuration get -k ports.range.min
tsm configuration get -k ports.range.max
ช่วงปกติคือ
8000
ถึง9000
เริ่มใช้ไฟร์วอล:
sudo systemctl start firewalld
ตรวจสอบว่าโซนเริ่มต้นเป็นโซนความปลอดภัยสูง เช่น
public
หากไม่เป็นเช่นนั้น เราแนะนำให้เปลี่ยนเป็นโซนที่มีความปลอดภัยสูงfirewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=public
เพิ่มพอร์ตสำหรับพอร์ต
gateway
และพอร์ตtabadmincontroller
ในตัวอย่างด้านล่าง เราใช้พอร์ตเริ่มต้น (80
และ8850
) คุณต้องเพิ่มช่วงพอร์ต (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
กำหนดค่าไฟร์วอลล์เพื่ออนุญาตการรับส่งข้อมูลทั้งหมดจากโหนดอื่นในคลัสเตอร์ สำหรับตัวเลือกพอร์ต ให้ระบุช่วงที่คุณจดไว้ในขั้นตอนที่ 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'
โหลดไฟร์วอลล์ใหม่และตรวจสอบการตั้งค่า
sudo firewall-cmd --reload
firewall-cmd --list-all
ขั้นตอนที่ 2: กำหนดค่าโหนดเพิ่มเติม
แต่ละโหนดในคลัสเตอร์ต้องสามารถสื่อสารกับโหนดเริ่มต้นและกับโหนดอื่นได้
เรียกใช้ขั้นตอนนี้ในโหนดเพิ่มเติมแต่ละโหนดในคลัสเตอร์ ในตัวอย่างนี้ โหนดที่ที่อยู่ IP <node2IP>
จะสื่อสารกับโหนดเริ่มต้นที่ <node1IP>
และโหนดที่สามที่t <node3IP>
เริ่มใช้ไฟร์วอล:
sudo systemctl start firewalld
ตรวจสอบว่าโซนเริ่มต้นเป็นโซนความปลอดภัยสูง เช่น
public
หากไม่เป็นเช่นนั้น เราแนะนำให้เปลี่ยนเป็นโซนที่มีความปลอดภัยสูงfirewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=public
กำหนดค่าไฟร์วอลล์เพื่ออนุญาตการเข้าถึง
gateway
และtabadmincontroller
จากโหนดอื่นในคลัสเตอร์ ตัวอย่าง: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
) รวมอยู่ในช่วงพอร์ต จึงไม่ได้ระบุไว้อย่างชัดเจนในคำสั่งโหลดไฟร์วอลล์ใหม่และตรวจสอบการตั้งค่า
sudo firewall-cmd --reload
firewall-cmd --list-all