83 lines
2.0 KiB
Bash
83 lines
2.0 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
# 开放 Gerrit SSH 端口 29419 的防火墙脚本
|
|||
|
|
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo "开放 Gerrit SSH 端口 29419"
|
|||
|
|
echo "=========================================="
|
|||
|
|
|
|||
|
|
# 检查是否有 root 权限
|
|||
|
|
if [ "$EUID" -ne 0 ]; then
|
|||
|
|
echo "❌ 此脚本需要 root 权限,请使用 sudo 运行"
|
|||
|
|
echo ""
|
|||
|
|
echo "使用方法:"
|
|||
|
|
echo " sudo bash 开放端口29419.sh"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 检查 firewall-cmd 是否可用
|
|||
|
|
if ! command -v firewall-cmd &> /dev/null; then
|
|||
|
|
echo "❌ 未找到 firewall-cmd 命令"
|
|||
|
|
echo " 可能使用的是 iptables,请手动配置"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "步骤 1: 检查当前防火墙状态..."
|
|||
|
|
firewall-cmd --state
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "步骤 2: 检查当前开放的端口..."
|
|||
|
|
firewall-cmd --list-ports
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "步骤 3: 添加端口 29419/tcp..."
|
|||
|
|
firewall-cmd --permanent --add-port=29419/tcp
|
|||
|
|
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
echo "✅ 端口 29419/tcp 已添加到防火墙规则"
|
|||
|
|
else
|
|||
|
|
echo "❌ 添加端口失败"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "步骤 4: 重新加载防火墙配置..."
|
|||
|
|
firewall-cmd --reload
|
|||
|
|
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
echo "✅ 防火墙配置已重新加载"
|
|||
|
|
else
|
|||
|
|
echo "❌ 重新加载失败"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "步骤 5: 验证端口是否已开放..."
|
|||
|
|
if firewall-cmd --list-ports | grep -q "29419/tcp"; then
|
|||
|
|
echo "✅ 端口 29419/tcp 已成功开放"
|
|||
|
|
else
|
|||
|
|
echo "⚠️ 警告:端口可能未正确添加,请手动检查"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "步骤 6: 检查端口监听状态..."
|
|||
|
|
if netstat -tlnp 2>/dev/null | grep -q ":29419"; then
|
|||
|
|
echo "✅ Gerrit 服务正在监听端口 29419"
|
|||
|
|
netstat -tlnp | grep 29419
|
|||
|
|
else
|
|||
|
|
echo "⚠️ 警告:未检测到端口 29419 的监听,请检查 Gerrit 服务状态"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo "完成!"
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo ""
|
|||
|
|
echo "如果使用云服务器,还需要在云控制台的安全组中开放端口 29419"
|
|||
|
|
echo ""
|
|||
|
|
echo "测试连接:"
|
|||
|
|
echo " ssh -p 29419 renjianbo@101.43.95.130 gerrit version"
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
|