点击上方蓝色字,姚毛毛的博客 ,关注并星标哦
每周二、四,都会有一篇新鲜出炉的文章等候着你
1. 前言
今天小伙伴在群里问服务器上服务启动了,怎么本地访问不了。
我直接打开了我本机(windows)上的cmd工具,telnet了一下,发现端口无法访问到,大概率猜测是防火墙原因,就登上服务器使用 firewalld-cmd 开通了下端口。
telnet服务的打开方法:windows在我的电脑->右键->管理->服务和应用程序-服务中可找到telnet服务启动,并右键属性设置为自启动。
打开端口后,再telnet一下,果然通了。
端口加入防火墙开通规则就好了。
2. 启动/关闭防火墙服务:firewalld
CentOS 7 以后服务启动从service xxx变成了 systemctl 命令。
防火墙也由iptables 改为默认是 firewalld。
systemctl stop firewalld.service # 停止
systemctl start firewalld.service # 启动
systemctl restart firewalld.service # 重启
3. 开启指定端口【推荐】:firewall-cmd
注意:firewall与-cmd中间是连接在一起,没有空格符的
firewall-cmd --zone=public --add-port=12059/tcp --permanent
# 开启指定端口
firewall-cmd --reload
# 重启防火墙
firewall-cmd --list-ports
# 查看开放端口列表
4. 批量开启端口:7023-8023
批量添加跟单条添加端口命令没什么区别,将7023换成7023-8023,就是把从7023到8023中间这些端口都开放了。
firewall-cmd --permanent --zone=public --add-port=7023-8023/tcp
# 批量开启TCP端口
firewall-cmd --reload
# 重启防火墙
5. 关闭防火墙端口:--remove
将参数add换成remove就ok。
firewall-cmd --permanent --zone=public --remove-port=7023-8023/tcp
# 批量开启TCP端口
firewall-cmd --reload
# 重启防火墙
6. 后记
如果用惯了iptables,不想用firewall,也可以切换回来。
不过个人觉得firewall-cmd这种指定开放端口的命令比以前较为友好。
yum install iptables-services #安装iptables
systemctl stop firewalld.service #停止firewalld
systemctl mask firewalld.service #禁止自动和手动启动firewalld
systemctl start iptables.service #启动iptables
systemctl start ip6tables.service #启动ip6tables
systemctl enable iptables.service #设置iptables自启动
systemctl enable ip6tables.service #设置ip6tables自启动
千山万水总是情,点个“在看”行不行?
本文分享自微信公众号 - 架构师之殇(ysistrue)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。