(一)SELinux核心要点
1. 工作模式
◦ Enforcing:强制模式,拒绝非法操作并记录日志。
◦ Permissive:宽容模式,仅记录违规操作,不阻止(用于调试)。
◦ Disabled:关闭模式(需重启生效)。
2. 核心操作命令
◦ 查看状态:getenforce / sestatus
◦ 临时切换模式:setenforce 0(Permissive) / setenforce 1(Enforcing)
◦ 查看上下文:ls -Z(文件) / ps -Z(进程)
◦ 临时修改上下文:chcon -t <类型> <文件路径>
◦ 恢复默认上下文:restorecon -v <文件路径>
3. 布尔值管理
◦ 查看:getsebool -a | grep <服务名>
◦ 永久启用:setsebool -P <布尔值>=on
4. 日志与排错
◦ 日志路径:/var/log/audit/audit.log
◦ 过滤日志:ausearch -m AVC -ts recent
◦ 生成解决方案:grep "avc: denied" ... | audit2allow -M mypolicy + semodule -i mypolicy.pp
(二)Firewalld防火墙
1. 区域分类(核心区域)
◦ public:公共区域(默认),放行SSH、DHCPv6等基础服务。
◦ trusted:完全信任区域,放行所有流量。
◦ dmz:非军事化区域,用于发布服务器(需手动放行服务)。
◦ block:阻塞区域,拒绝所有流量并返回响应。
◦ drop:丢弃区域,静默丢弃所有流量。
2. 常用命令
◦ 查看:firewall-cmd --list-all --zone=public(指定区域详情)
◦ 添加:firewall-cmd --add-service=http --zone=public(放行服务)
◦ 端口放行:firewall-cmd --add-port=8080/tcp --zone=dmz
◦ 永久生效:添加 --permanent 参数(需重启或执行 firewall-cmd --runtime-to-permanent)
(三)Iptables防火墙
1. 表与链优先级
◦ 表优先级:raw > mangle > nat > filter
◦ 链类型:
◦ INPUT:入站数据包(目标为本机)。
◦ OUTPUT:出站数据包(本机发起)。
◦ FORWARD:转发数据包(非本机目标)。
◦ PREROUTING:路由前处理(用于DNAT)。
◦ POSTROUTING:路由后处理(用于SNAT)。
2. 核心命令语法
iptables [-t 表名] 管理选项 [链名] [匹配条件] -j 控制类型
# 示例:拒绝ICMP请求(ping)
iptables -A INPUT -p icmp --icmp-type 8 -j REJECT
3. NAT地址转换
◦ SNAT(内网→公网):
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens33 -j SNAT --to 公网IP
◦ DNAT(公网→内网):
iptables -t nat -A PREROUTING -i ens33 -d 公网IP -p tcp --dport 80 -j DNAT --to-destination 内网IP:80
实战

第一题
内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关


内部网络服务器s1通过DNAT发布服务到互联网。

互联网主机pc2能够访问DMZ区域的服务器,但是不能够进行ping和ssh连接


到这里小编就做完这个任务啦,这该死的网络环境耗时两天,不过没有什么能难得住小编,到这里就结束拉。

被折叠的 条评论
为什么被折叠?



