linux 修改防火墙的命令,CentOS(Linux) firewall 防火墙的设置与命令

一次安装 CentOS 防火墙时发现一个问题,CentOS 7 默认防火墙已经从 iptables 变成了 firewall。但是启动 firewall 后默认会屏蔽所有端口,所以ssh的默认 22 端口也会被屏蔽;这就造成了服务器断开连接并且无法连接的问题了。

首先如果系统没有安装防火墙,或者装的是 iptables 防火墙,我们需要先检查是否安装了 iptables:service iptables status (查看iptables是否运行,查看iptable运行状态) ;如果显示正在运行,那我们就把它关闭:iptables:chkconfig iptables off(因为我们要安装最新的firewalld);最后安装firewalld:yum install firewalld 或者 apt-get install firewalld 。

一、firewall防火墙的启动过程

1、首先我们要先手动修改 firewall 防火墙配置文件

首先放行ssh默认的 22 端口的 TCP 规则防止启动防火墙后无法连接服务器!(当然你要是修改了ssh端口了的话,就放行你自己修改后的端口);在目录 /etc/firewalld/zones 下找到 public.xml 配置文件,打开后添加如下代码:

Public

For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

#添加如此句代码

2、开启或重启或禁用firewall防火墙:

systemctl start firewalld.service//开启防火墙命令

firewall-cmd--reload或者service firewalld restart//重启防火墙命令

systemctl stop firewalld//禁用防火墙

注:执行”systemctl start firewalld.service”时出现”Failed to start firewalld.service: Unit is masked.”错误。

附上解决办法: 输入”systemctl unmask firewalld.service”就能使用命令”systemctl start firewalld.service”

3、设置开机启动防火墙或者停止并禁用开机启动 :

systemctl enable firewalld.service或者systemctl enable firewalld//设置开机启动

sytemctl disable firewalld或者sytemctl mask firewalld//停止并禁用开机启动

4、查看防火墙状态:

systemctl status firewalld或者firewall-cmd--state

iptables-nL--line-number#查看所有已开放端口

iptables-L-n#查看已添加的iptables规则

5、开启或关闭自己需要开启或关闭的端口(这里以开放80端口为例,其他端口一样;UDP端口只要把命令里的TCP换成UDP):

1. #添加即开启端口(--permanent永久生效,没有此参数重启后失效)

firewall-cmd--zone=public --add-port=80/tcp--permanent

2. #删除即关闭端口(--permanent永久生效,没有此参数重启后失效)

firewall-cmd--zone=public --remove-port=80/tcp--permanent

3. #重新载入(修改规则后使其生效)

firewall-cmd--reload

4. #查看

firewall-cmd--zone=public --query-port=80/tcp

6、批量添加区间端口:

firewall-cmd--zone=public --add-port=4400-4600/udp--permanent

firewall-cmd--zone=public --add-port=4400-4600/tcp--permanent

7、查看某个端口是否开放:

firewall-cmd--zone=public --query-port=80/tcp

firewall-cmd--query-port=8080/tcp

8、查看端口列表:

firewall-cmd--permanent--list-port

二、一些常用的 firewall 命令

启动, 停止, 重启firewalld:

1. #停止

systemctl stop firewalld.service

2. #启动

systemctl start firewalld.service

3. #重启

systemctl restart firewalld.service

4. #查看状态

systemctl status firewalld

5. #禁止firewall开机启动

systemctl disable firewalld

6. #设置开机启用防火墙

systemctl enable firewalld.service

7. #停止firewalld服务

systemctl stop firewalld

8. #禁用firewalld服务

systemctl mask firewalld

查看firewall规则与状态:

1. #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

firewall-cmd--state

2. #查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略) firewall-cmd --list-all

3. #查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)

firewall-cmd--list-all-zones

4. #重新加载配置文件

firewall-cmd--reload

开启自己需要放行的端口:

1. #添加(--permanent永久生效,没有此参数重启后失效)

firewall-cmd--zone=public --add-port=80/tcp--permanent

2. #重新载入(修改规则后使其生效)

firewall-cmd--reload

3. #查看

firewall-cmd--zone=public --query-port=80/tcp

4. #删除

firewall-cmd--zone=public --remove-port=80/tcp--permanent

配置firewalld-cmd:

1. #查看版本:

firewall-cmd--version

2. #查看帮助

firewall-cmd--help

3. #显示状态

firewall-cmd--state

4. #查看所有打开的端口

firewall-cmd--zone=public --list-ports

5. #更新防火墙规则

firewall-cmd--reload

6. #查看区域信息

firewall-cmd--get-active-zones

7. #查看指定接口所属区域

firewall-cmd--get-zone-of-interface=eth0

8. #拒绝所有包

firewall-cmd--panic-on

9. #取消拒绝状态

firewall-cmd--panic-off

10. #查看是否拒绝

firewall-cmd--query-panic

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

1. #启动一个服务

systemctl start firewalld.service

2. #关闭一个服务

systemctl stop firewalld.service

3. #重启一个服务

systemctl restart firewalld.service

4. #显示一个服务的状态

systemctl status firewalld.service

5. #在开机时启用一个服务

systemctl enable firewalld.service

6. #在开机时禁用一个服务

systemctl disable firewalld.service

7. #查看服务是否开机启动

systemctlis-enabled firewalld.service

8. #查看已启动的服务列表

systemctl list-unit-files|grep enabled

9. #查看启动失败的服务列表

systemctl--failed

关于 iptables 防火墙的设置与命令请看我的另一篇文章(但推荐用firewalld防火墙):CentOS(Linux) iptables 防火墙的设置与命令

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值