Linux-firewalld-开放端⼝1. 概述
1. 年轻⼈的第⼀次 firewalld 体验
2. 背景
1. 第⼀次安装了 apache
1. 正⼉⼋经的
2. 本来想在 localhost ⽤ curl 看看服务器得了
南方姑娘 左立3. 结果 80 端⼝的默认页⾯, 是⼀个有头有脸的 html
1. 我顿时就像看看页⾯长啥样
2. 可是换了宿主机浏览器, 结果发现浏览器打不开
4. 但是 ping 能通, ssh 也能通
5. 于是⼜回到了⽼路, 防⽕墙和 selinux 的问题
文章跳楼
1. 本来也时打算⼀关解千愁
2. 可是想起了上次的事, 决定还是稍微看看有没有别的解决办法
3. 上次随便关防⽕墙, 导致了 docker-cli 和 git 不能同时连接外⽹的神奇事件...
4. 这次只说防⽕墙, selinux 我现在也不会...
3. 环境
1. 虚拟机 OS
1. CentOS 7
2. Apache
1. 2.4.6-90
3. ⽹络模式
1. 桥接
1. 问题
1. 问题
1. 虚拟机内的 http 服务器, ⽆法被宿主机访问
艺人
2. 验证
1. 虚拟机
1. httpd 正常启动
2. curl localhost可以有正确结果
3. 验证 firewalld 是否打开
1. 我这是打开了的
王嘉尔是谁
2. 假如没有打开, 我真不知道怎么办了...
2. 宿主机
1. ping 通虚拟机
2. 浏览器⽆法访问
3. 想法
1. 嗯, 端⼝出了问题
2. 智障解法: 关闭防⽕墙
1. 概述
1. 最⽆脑的解法
2. 要不是上次 docker 给我搞那么惨, 我就信了
2. 操作
# 1. 验证防⽕墙是否打开
> systemctl status firewalld
# 2. 关闭防⽕墙
> systemctl stop firewalld
# 3. 验证防⽕墙是否打开
> systemctl status firewalld
3. 结果
1. 防⽕墙关闭成功
2. 宿主机访问虚拟机 80 端⼝成功
3. 常规解法: 让 firewalld 开放 80端⼝1. 概述
1. 正常的解法
2. 步骤
1. 确认 firewalld 是否打开
1. 概述
1. ⼀定要确保打开
2. 查看 firewalld 的开放端⼝列表
1. 概述
1. 查看开放端⼝
2. 命令
> firewall-cmd --list-ports
3. 结果
1. 果然 80/tcp 并没有在其中
3. 将 80/tcp 添加到开放端⼝列表中
1. 概述
1. 添加开放端⼝
2. 命令
# 1. 添加端⼝
# 参数意思, 我并不是很懂
# 但是稍微有点基础的同学, 肯定能猜个 7788
# 我打算等以后正式学习 firewalld 时, 再详细说明
> firewall-cmd --zone=public --add-port=80/tcp --permanent
# 2. 重启 firewalld
# 这步必须有
> firewall-cmd --reload
儿歌乐谱# 3. 查看是否⽣效
向阳花汪峰# 80/tcp 加⼊了列表
> firewall-cmd --list-ports
4. 宿主机验证
1. 概述
1. 宿主机浏览器验证
2. 结果
1. 我这边通过了
1. 具体我就不细说了
ps
1. ref
1.
2. 其他
1. firewalld 有空看⼀看
2. firewalld 和 iptables
1. 其实他俩, 是⼀个东西