【Linux】踩坑合集-防火墙相关

查看防火墙状态报错 已解决

来源:该文章

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:标识添加的端口;
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值