查看防火墙状态报错 已解决
来源:该文章
service iptables status
报错提示:
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.
解决办法:
yum install iptables-services
下载完成之后重新运行,出现下面的代码,即证明可用了
[root@VM-0-16-centos ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
Active: inactive (dead)
绑定端口报错 Error: Cannot assign requested addres 已解决
我的解决办法:
云服务器的ip地址要输入内网地址,而不是外网地址。
常规原因:
产生这个错误的原因是由于 Linux 分配的客户端连接端口用尽,无法建立 socket 连接导致的。
我们都知道,建立一个连接需要四个部分:目标 IP,目标端口,客户端 IP 和客户端端口。其中前三项是不变的,只有客户端端口不断变化。
那么在大量频繁建立连接时,而端口又不是立即释放,默认是 60s,就会出现客户端端口不够用的情况。
这就是这个问题的本质。
接下来使用两个命令来验证一下:
查看连接数:
netstat -ae | wc -l
netstat -ae | grep TIME_WAIT | wc -l
查看可用的端口号
sysctl -a | grep port_range
使用telnet连接,端口拒绝访问,已解决
Windows下要先打开telnet服务才可以使用telnet连接
telnet ip 端口号
提示错误:访问xxx失败,端口号xxx拒绝连接。
解决方案:开放端口、添加http服务
参考文章:服务器防火墙开放端口
- 先查看防火墙当前开放的端口,
systemctl status firewalld.service // 查看防火墙状态
firewall-cmd --list-all //查看防火墙当前开放端口
此时可以看到没有开放端口,也没有添加http服务。
- 添加http服务
firewall-cmd --permanent --add-service=http
注意:我在添加http服务的时候,报了一个Error: Action org.fedoraproject.FirewallD1.all is not registered的错误,如果你也报的话,可能是防火墙版本存在问题,可以yum update firewalld手动更新防火墙版本。更新完成后,即可解决。
- 重启防火墙服务
systemctl restart firewalld.service
- 添加开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
这里的permanent配置是永久生效的意思,不配的话重启后该配置就失效
- 查看端口是否开放成功
firewall-cmd --list-all
或者
firewall-cmd --list-ports
常用的防火墙命令
1、查看firewall服务状态
systemctl status firewalld
出现Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止,看单词也行。
2、查看firewall的状态
firewall-cmd --state
3、开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
4、查看防火墙规则
firewall-cmd --list-all
5、查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;