1️⃣ Mở port 5000 trên firewall
# Mở tạm thời (mất sau reboot)
sudo firewall-cmd --zone=public --add-port=5000/tcp
# Mở vĩnh viễn
sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent
sudo firewall-cmd --reload
# Kiểm tra
sudo firewall-cmd --list-ports
- Kết quả sẽ hiển thị
5000/tcpnếu mở thành công.
2️⃣Thêm port vào SELinux cho dịch vụ tùy chỉnh
SELinux cần biết port 5000 được phép sử dụng:
- Tạo type port mới (ví dụ
myapp_port_t):
sudo semanage port -a -t myapp_port_t -p tcp 5000
- Kiểm tra port đã được SELinux ghi nhận chưa:
sudo semanage port -l | grep 5000
- Kết quả ví dụ:
myapp_port_t tcp 5000
Lưu ý: Nếu
semanagechưa có, cài bằng:
sudo yum install policycoreutils-python-utils
3️⃣ Kiểm tra port từ ngoài mạng
Từ máy khác (hoặc máy ngoài Internet) chạy:
telnet <public-ip> 5000
hoặc
nc -vz <public-ip> 5000
- Nếu kết nối thành công → port đã public ra Internet.
4️⃣ Lưu ý bảo mật
- Chỉ mở port cần thiết.
- Nếu dịch vụ nhạy cảm, cân nhắc VPN hoặc firewall nâng cao.
- SELinux vẫn nên bật để bảo vệ server.
Script hoàn chỉnh
#!/bin/bash
# 1️⃣ Hiển thị IP nội bộ
IP_NOI_BO=$(ip -4 addr show | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '^127')
echo "IP nội bộ: $IP_NOI_BO"
# 2️⃣ Hiển thị IP công cộng
IP_CONG_CONG=$(curl -s ifconfig.me)
echo "IP công cộng: $IP_CONG_CONG"
# 3️⃣ Mở port 5000 trên firewall
echo "Mở port 5000 trên firewall..."
sudo firewall-cmd --zone=public --add-port=5000/tcp
sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent
sudo firewall-cmd --reload
echo "Port 5000 đã mở trên firewall."
# 4️⃣ Thêm port 5000 vào SELinux cho dịch vụ tùy chỉnh
echo "Thêm port 5000 vào SELinux..."
# Kiểm tra nếu semanage chưa cài, sẽ cài
if ! command -v semanage &> /dev/null
then
echo "Cài semanage..."
sudo yum install -y policycoreutils-python-utils
fi
# Thêm port mới nếu chưa tồn tại
if ! semanage port -l | grep -q 5000; then
sudo semanage port -a -t myapp_port_t -p tcp 5000
echo "Port 5000 đã thêm vào SELinux."
else
echo "Port 5000 đã tồn tại trong SELinux."
fi
echo "Hoàn tất! Bạn có thể kiểm tra kết nối từ bên ngoài bằng:"
echo "telnet $IP_CONG_CONG 5000 hoặc nc -vz $IP_CONG_CONG 5000"
✅ Cách sử dụng
- Tạo file, ví dụ
setup_port5000.sh
nano setup_port5000.sh
- Dán nội dung script vào, lưu lại.
- Cho phép chạy:
chmod +x setup_port5000.sh
- Chạy script:
./setup_port5000.sh
- Script sẽ in ra IP nội bộ, IP công cộng, mở port 5000 và thêm vào SELinux.
Để lại một phản hồi