前言
- Linux默认防火墙是开启,而且所有的端口对外都是不可访问的,这么做的目的是为了安全。
- 在Linux上安装Tomcat软件,Tomcat软件需要使用8080端口,但是由于端口对外都是不可访问的,所以Windows没法访问Linux的Tomcat。
解决办法有2种:
- 直接关闭防火墙,释放所有的端口,允许外界去访问全部的端口 (开发阶段)
- 只开放8080端口。开放指定的端口 (生产阶段,项目上线)
防火墙服务
命令 | 作用 |
---|---|
systemctl start firewalld | 开启 |
systemctl stop firewalld | 关闭 |
systemctl enable firewalld | 开机自启动==(默认状态)== |
systemctl disable firewalld | 关闭开机自启 |
systemctl status firewalld | 查看当前防火墙状态 |
systemctl restart firewalld | 重启服务 |
- 查看所有服务的开机启动与关闭状态
systemctl list-unit-files --type=service
- 查看指定服务的开机启动与关闭状态
# 服务状态有3钟情况:
# static表示该服务与其他服务相关联,不能单独设置该服务的启动状态
# disabled表示禁止开机启动
# enabled表示允许开机启动
systemctl list-unit-files --type=service | grep -i 服务名
开放端口命令
外网或内网需要连接到当前系统内的程序进行操作,需要linux系统开放程序端口,否则无法访问。
firewall-cmd | 参数说明 |
---|---|
--zone=public | 开放哪个网络,默认是public <br />public: 公共网络 <br />internal: 专有网络 |
--add-port=端口/tcp | 添加到防火墙中端口号,对外是打开的 |
--remove-port=端口/tcp | 从防火墙的规则中删除端口号 |
--permanent | 永久添加规则 |
--list-all | 显示现有的规则,展示所有开放端口和一些其他信息 如果只显示开发的端口 --list-ports
|
--reload | 重新加载规则,让新加的端口号起作用 |
Tomcat开放端口
- 开放8080端口
# 开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重新加载防火墙规则
firewall-cmd --reload
# 显示现有规则
firewall-cmd --list-all
- 不开放8080端口
# 不开放端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
# 重新加载防火墙规则
firewall-cmd --reload
# 显示现有规则
firewall-cmd --list-all