红帽 Linux 零基础完整学习笔记 7
基于rocky linux 9 的学习笔记目录前言一、 Linux 进阶ACL与SELinux二、 网络基石TCP/IP协议栈1.应用层协议的“爱恨情仇”2.传输层TCP 的四大护法3.网络层IP 地址的“族谱”三、 静态路由从“能通”到“全网通”的实战1.设备层级认知2.静态路由配置三要素3.经典排错单向通4.全网互通拓扑三路由实验四、 运维思维与安全软实力1.需求翻译2.安全红线3.学习方法总结前言前几篇我们一直在聊 Linux 系统“内部”的事比如如何通过 chmod和 ACL 权限管理文件如何配置 SELinux 安全策略。但在真实的运维工作中服务器是需要“对外说话”的。无论是提供网站服务还是远程维护都离不开网络。这次笔记是我们从“单机管理”迈向“网络运维”的关键转折点。我们将系统学习 TCP/IP 协议栈并在模拟器中实战静态路由配置。一、 Linux 进阶ACL与SELinux虽然本节重点在网络但我们首先还是要回顾一下Linux 权限的核心痛点如何实现精细化控制传统权限 vs ACL 权限传统权限 (chmod)只能针对所有者(u)、所属组(g) 和 其他人(o) 进行设置。痛点如果有个“其他人”叫张三我只想让他一个人能读这个文件而不想让他加入组怎么办chmod做不到因为它一改“其他人”的权限所有其他人都变了。ACL 权限 (setfacl)Access Control List访问控制列表。解决方案它突破了传统权限的界限可以单独给某一个用户或某一个组分配特定的权限不受所有者、所属组限制。bash # 查看文件的ACL权限 getfacl filename # 给用户zhangsan单独赋予rwx权限 setfacl -m u:zhangsan:rwx filename # 删除权限 setfacl -x u:zhangsan filename注意要有这个文件和这个用户哦具体就不演示了前几篇笔记里面都有SELinux 安全标签SELinux是内核级的防火墙靠「安全标签」控制进程能访问哪些文件特意区分了临时和永久修改的区别临时改标签chcon -t httpd_sys_content_t index.html重启后失效只适合临时测试永久改标签重点RHCSA考点要把规则写进SELinux策略库否则新建文件会自动继承父目录的旧标签导致权限错乱bash # 递归给/web目录及所有子文件打httpd标签-R是递归-v是显示过程 semanage fcontext -a -t httpd_sys_content_t /web(/.*)? # 刷新标签让规则生效 restorecon -Rv /web二、 网络基石TCP/IP协议栈我们说协议不是为了背书而是为了“排错”。1.应用层协议的“爱恨情仇”Telnet vs SSH其实Telnet 是明文传输黑客抓个包就能看到密码。虽然现在不用但因为很多工业设备老旧系统还在用所以必须懂。SSH 是 Telnet 的加密升级版。FTP vs TFTPFTP 功能全上传/下载TFTP 是“阉割版”包小速度快常用于路由器固件更新或无盘工作站启动。HTTP vs HTTPSSSL/TLS 加密隧道的重要性。现在的浏览器如果不支持 HTTPS基本就是“不安全”的代名词。SNMP简单网络管理协议。它的作用是监控设备的 CPU、内存、温度。这是运维监控的基础。DHCP 的“租约”机制我们用超市 WiFi 举例子。如果没有租约一个人走了IP 不还回来后面的人就连不上网。租约就是 IP 的“暂存期”断了重连不用重新申请过期了才回收。2.传输层TCP 的四大护法TCP 为什么“可靠”不仅仅是有握手还有四大机制数据零丢失丢了就重传。无乱序包有编号到了先排序再给应用。无重复编号重复了就丢弃。流量控制/拥塞控制网络堵车了就减速滑动窗口机制。为什么握手三次挥手四次因为 TCP 是全双工的两边都要关闭。挥手时一方说完“我说完了”FIN另一方可能还有数据要发所以不能马上回“我也说完了”只能先回个“我知道了”ACK。等数据发完再发一个 FIN。所以是 4 次。3.网络层IP 地址的“族谱”IPv4 枯竭“给地球上每一粒沙子都可以分配 IP”我们认为 IPv6 十分庞大。掩码计算用“姓氏”和“名字”打比方。/24前三个数是姓网段最后一个是名主机。广播地址x.x.x.255不能配给电脑它是喊所有人用的。网络地址x.x.x.0代表这个网段本身。ARP 协议ARP 欺骗啥黑客伪装成网关李鬼受害者把流量发给黑客黑客再转发给真正的网关。这不仅是断网更是“中间人攻击”能偷密码、偷数据。三、 静态路由从“能通”到“全网通”的实战1.设备层级认知二层交换机傻瓜式只有 MAC 地址表不认 IP不能配 IP。三层路由器/防火墙智能式认 IP必须配 IP。三层交换机既是交换机又是路由器。2.静态路由配置三要素目标网段Destination子网掩码Mask下一跳Next-hop注意哈千万别写成具体 IP如 PC2 的 IP必须写网段3.经典排错单向通现象PC1 Ping PC2Timeout。抓包分析在 AR1 的出口抓包发现包能到 AR2甚至到了 PC2。真相Ping 是双向的。去的时候路通了但 PC2 回包的路上AR2 不知道去 PC1 怎么走。解决在 AR2 上配置回程路由Reply Route。口诀一去一回才算打通只去不回等于白费。4.全网互通拓扑三路由实验我们做的实验是 PC1 - AR1 - AR2 - AR3 - PC3核心逻辑是路由递归AR1 不知道 PC3 在哪但它知道去 PC3 网段的下一跳是 AR2AR2 也不知道 PC3 在哪但它知道下一跳是 AR3。只要每台路由器都有去往目标网段的路由表项数据就能逐跳转发最终实现全网互通。实验配置华为eNSP设备bash # 进入系统视图 system-view # 配置静态路由目标网段192.168.3.0掩码255.255.255.0下一跳10.1.2.2 ip route-static 192.168.3.0 255.255.255.0 10.1.2.2 # 查看路由表确认配置生效 display ip routing-table真实环境验证Linux端路由追踪做完eNSP的模拟实验后我们可以在真实的Linux虚拟机里用traceroute命令验证公网路径刚好对应实验里的“路由跳数”概念。注意Linux下命令是traceroute和Windows的tracert仅差一个字母功能完全一致第一步安装工具最小化安装的红帽系统默认没有traceroute需要先安装bash # 红帽/CentOS/Rocky 8及以上 sudo dnf install traceroute -y # 老版本系统用yum sudo yum install traceroute -y第二步追踪路径bash # 追踪到百度的路由路径默认用UDP协议 traceroute www.baidu.com # 如果默认UDP被拦截加-I参数用ICMP协议和ping同协议成功率更高 traceroute -I www.baidu.com后面都是*被拦截了加-I参数用ICMP协议,发现一跳就到了实操对照NAT模式下的特殊现象我自己的虚拟机用的是 NAT模式跑traceroute -I www.baidu.com时只显示了1跳就到了百度这不是配置错误而是NAT的透明转发特性导致的NAT模块会把虚拟机的私有IP伪装成宿主机的公网IPSNAT技术且不会像普通路由器那样返回TTL超时报文。当TTL1的探测包到达NAT设备时它会直接转发直到TTL减到0时刚好到达百度服务器因此traceroute会误以为第一跳就是目标地址。四、 运维思维与安全软实力这部分虽然没代码但决定了你能否胜任工作。1.需求翻译之前我们只会背命令不会干活。甲方说“我要让某人能看文件但不能改”你不能直接给 chmod 777。要学会翻译成“只读权限”或“ACL 授权”。2.安全红线ARP 欺骗不仅断网还能窃密。DNS 劫持把你引到假网站。职业操守严禁私自接单严禁触碰数据红线。3.学习方法学协议不需要背 RFC 文档但要能“口头阐述用途”。比如问你 DNS 干嘛的你要能说出“把域名变 IP”而不是愣住。总结Linux 部分重点是 ACL 和 SELinux 的永久配置。网络部分重点是 TCP 的可靠性机制和 IP 子网划分。实操部分重点是静态路由的双向配置和路由追踪。想了解更多计算机网络知识的宝子们可以参考下面的文章哦计算机网络核心知识