Google云服务器部署podman及防火墙笔记
Google Cloud 服务器部署笔记
云服务器配置
- 云服务商:Google Cloud
- 美国地址生成:https://www.meiguodizhi.com/(用于账号注册等信息填写)
实例配置详情
| 配置项 | 选择 |
|---|---|
| 区域 | us-west1 (俄勒冈) |
| 操作系统 | Debian e2-micro |
| 启动磁盘类型 | 标准永久性磁盘 |
| 磁盘大小 | 30 GB |
| 数据保护 | 无备份 |
| 网络 | 允许 HTTP、HTTPS 流量 |
| 外部 IPv4 地址 | 临时 |
| 网络服务层级 | 标准 |
修改ssh配置
修改服务器的SSH配置文件 /etc/ssh/sshd_config
MaxAuthTries 2 # 每个连接最多试2次
MaxSessions 2 # 每个用户最多3个会话
MaxStartups 2:4:6 # 防连接洪水修改ssh配置后
sudo systemctl restart sshd环境部署
1. 安装 Podman
sudo apt update && sudo apt install -y podman2. 安装 Podman-compose
方式说明
pip 安装 podman-compose 可能报错,改用 pipx 安装。
安装步骤
# 安装 pipx
sudo apt update
sudo apt install -y pipx
(apt 包管理器会自动检查并安装依赖。
pipx 的依赖包中通常已经包含了 python3 和 python3-venv 等必要组件
所以系统会自动把 Python 一起装上。)
# 添加 pipx 在 PATH 中
pipx ensurepath
# 重新加载 shell 配置
source ~/.bashrc
# 使用 pipx 安装 podman-compose
pipx install podman-compose
# 验证安装
podman-compose --version备注
- 实例已开启 HTTP / HTTPS 防火墙规则,便于部署 Web 服务。
- 外部 IP 为临时分配,重启实例可能变更,如需固定 IP 可后续升级为静态 IP。
- 使用
podman作为容器引擎,兼容 Docker 镜像与 Docker Compose 编排语法。
在 Debian 系统上,你的系统显示使用的是 Debian 6.1.162-1 内核。需要说明的是:Debian 默认不使用 SELinux,而是使用 AppArmor。
以下是查看和关闭防火墙及 SELinux/AppArmor 的方法:
1. 防火墙状态查看与关闭
Debian 默认使用 iptables 或 nftables,通常通过 ufw(Uncomplicated Firewall)管理。
查看防火墙状态
# 查看 ufw 状态
sudo ufw status
# 查看是否有其他防火墙服务
systemctl list-units | grep -E "firewall|iptables|nftables|ufw"
如果输出为空,系统没有安装任何防火墙管理服务(ufw、netfilter-persistent 等)。
但需要注意的是,iptables 规则可能仍然存在,因为 iptables 规则是直接在内核中生效的,不需要服务来运行。
# 如果未安装 ufw,查看 iptables 规则
sudo iptables -L -n -v
# 查看 nftables 规则(如果使用)
sudo nft list ruleset关闭防火墙(ufw)
# 停止并禁用 ufw
sudo ufw disable
# 清空所有 iptables 规则(更彻底)
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t mangle -F
# 保存空规则(如果安装了 iptables-persistent)
sudo netfilter-persistent save在你的系统上:
- 没有运行 ufw、firewalld 等防火墙管理服务
- 但需要检查 iptables 规则 是否为空
- 如果 iptables 规则为空,说明系统没有启用防火墙
如果 iptables 有规则,则防火墙正在内核层面运行
2. SELinux 状态查看与关闭
Debian 不使用 SELinux,如果你确认系统安装了 SELinux 包,可以检查:
查看 SELinux 状态
# 检查 SELinux 状态(如果安装了 selinux-utils)
getenforce
# 或查看配置文件
cat /etc/selinux/config如果命令不存在,说明系统没有安装 SELinux。
如果存在 SELinux,临时关闭
sudo setenforce 0永久关闭 SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 或
sudo vi /etc/selinux/config
# 将 SELINUX=enforcing 改为 SELINUX=disabled3. AppArmor 状态查看与关闭(Debian 默认)
Debian 使用 AppArmor 作为强制访问控制系统。
查看 AppArmor 状态
# 查看状态
sudo aa-status
# 或查看运行状态
sudo systemctl status apparmor临时关闭 AppArmor
sudo systemctl stop apparmor永久关闭 AppArmor
# 禁用服务(下次启动不启动)
sudo systemctl disable apparmor
# 立即停止并禁用
sudo systemctl stop apparmor
sudo systemctl disable apparmor
# 可选:卸载 AppArmor
sudo apt remove --purge apparmor -y总结检查命令
运行以下命令快速查看所有安全组件的状态:
echo "=== UFW Status ==="
sudo ufw status 2>/dev/null || echo "UFW not installed"
echo -e "\n=== IPTables Rules ==="
sudo iptables -L -n | head -10
echo -e "\n=== AppArmor Status ==="
sudo systemctl status apparmor --no-pager | head -5
sudo aa-status --enabled 2>/dev/null || echo "AppArmor not active"
echo -e "\n=== SELinux Status ==="
getenforce 2>/dev/null || echo "SELinux not installed"如果你的目标是完全关闭所有安全限制(仅用于测试环境),通常需要:
- 关闭 ufw(
sudo ufw disable) - 清空 iptables(
sudo iptables -F) - 停止并禁用 AppArmor(
sudo systemctl disable --now apparmor)
⚠️ 注意:在关闭防火墙和 AppArmor 后,系统安全性会显著降低,仅建议在隔离的测试环境中操作。