做为运维工程师,linux环境操作必须是熟练掌握的,操作下载插件之前首先要了解操作系统版本、包管理工具等,然后拿防火墙的配置实战演练。
一、包管理工具
1、linux环境发行版本查看
#操作系统的详细信息
cat /etc/os-release#包含发行版的简短描述
cat /etc/issue#详细查询
cat /etc/*release*
2、查系统使用的包管理工具
# 依次检查常见包管理工具路径,返回第一个匹配结果
{ command -v apt-get || command -v dnf || command -v yum || command -v pacman || command -v zypper || command -v apk; } 2>/dev/null
输出示例:
/usr/bin/apt-get # Debian/Ubuntu 系
/usr/bin/dnf # Kylin/Fedora/RHEL 9+
/usr/bin/yum # CentOS/RHEL 7-
知道包管理工具了,下载插件就可以找对应的命令了。比如:yum 管理工具下载 telnet
sudo yum download telnet
3、
二、防火墙的配置
1、多种方式安装
1)安装方式
#安装 firewalld(如果没有安装)
sudo dnf install firewalld # CentOS/RHEL 8+ / Fedora
sudo apt-get install firewalld # Ubuntu/Debian#安装 iptables(如果没有安装)
sudo dnf install iptables # CentOS/RHEL 8+ / Fedora
sudo apt-get install iptables # Ubuntu/Debian
2)是否用
#查看 firewalld 是否启用:
sudo systemctl status firewalld#查看 iptables 是否启用:
sudo systemctl status iptables
3)切换到 iptables
或 firewalld
#如果系统默认使用了 firewalld,你可以选择停用 firewalld 并启用 iptables,或者反过来。
#切换到 iptables: 如果你想使用 iptables,首先需要停止并禁用 firewalld,然后启动 iptables 服务:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl start iptables
sudo systemctl enable iptables#切换到 firewalld: 如果你想使用 firewalld,可以停止并禁用 iptables,然后启动 firewalld 服务:
sudo systemctl stop iptables
sudo systemctl disable iptables
sudo systemctl start firewalld
sudo systemctl enable firewalld
1、基于 Debian 或 Ubuntu 的系统
1)下载插件ufw
sudo apt update
sudo apt install ufw
2)使用防火墙限制对端口 22 的访问,只允许信任的 IP 地址访问
sudo ufw allow from <trusted_ip> to any port 22
2、基于 dnf 包管理工具的系统
3、基于firewalld 使用防火墙限制对端口 22 的访问,只允许信任的 IP 地址访问
#替换 <trusted_ip> 为你信任的 IP 地址
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="<trusted_ip>" port port="22" protocol="tcp" accept' --permanent#重新加载
sudo firewall-cmd --reload
4、基于 iptables允许特定 IP 地址访问 22 端口
sudo iptables -A INPUT -p tcp -s <trusted_ip> --dport 22 -j ACCEPT#拒删除他所有 IP 地址的访问
iptables -A INPUT -p tcp --dport 22 -j DROP#拒绝其他所有 IP 地址的访问
iptables -A INPUT -p tcp --dport 22 -j REJECT#保存 iptables 配置:默认情况下,iptables 规则只会在当前会话中生效,重启系统后会丢失。如果你希望规则在系统重启后仍然生效,你需要保存配置:
#对于 CentOS/RHEL 7 及以上版本,可以使用 iptables-save 命令来保存规则:
sudo service iptables save#对于 Debian/Ubuntu 系统,可以使用 iptables-persistent 来保存规则:
sudo apt-get install iptables-persistent#查看现有的 iptables 规则
sudo iptables -L -v# 删除规则:如果你需要删除某个规则(例如,删除之前添加的限制规则),可以使用以下命令:
sudo iptables -D INPUT -p tcp -s <trusted_ip> --dport 22 -j ACCEPT
5、
三、OpenSSH 版本升级示例
1、检查当前 OpenSSH 版本
# 查看已安装版本
rpm -q openssh-server
# 或
ssh -V # 输出示例:OpenSSH_9.7p1, OpenSSL 3.2.1 30 Jan 2025
2、更新仓库并升级 OpenSSH
# 更新仓库元数据(必须执行)
sudo dnf clean all && sudo dnf update -y# 单独升级 OpenSSH
sudo dnf upgrade openssh-server openssh-clients -y
#或者
sudo dnf update openssh-server# 若系统提示无更新,可能需启用安全仓库(如 RHEL 的 CRB)
sudo dnf --enablerepo=crb update openssh*
3、 重启 SSH 服务
sudo systemctl restart sshd
到此,LInux环境包管理工具和防火墙的配置分析完成,下篇我们分析更具深度的工具,敬期待!