Centos8防火墙关闭和启用iptables操作

#ufw是针对Ubuntu系统发行的,是一种管理netfilter规则的简单方法,针对Centos可以关闭防火墙
# 扩展命令

# 查看防火墙状态:sudo systemctl status firewalld
# 关闭防火墙: systemctl stop firewalld.service
# 开启防火墙: systemctl start firewalld.service
# 关闭开机启动: systemctl disable firewalld.service
# 打开防火墙开机启动: systemctl enable firewalld.service

1、安装iptables防火墙

[root@k8s-master01 ~]# sudo yum install iptables-services
CentOS Linux 8 - AppStream                                                                                                                           13 kB/s | 4.3 kB     00:00
CentOS Linux 8 - AppStream                                                                                                                          4.1 MB/s | 8.4 MB     00:02
CentOS Linux 8 - BaseOS                                                                                                                              14 kB/s | 3.9 kB     00:00
CentOS Linux 8 - BaseOS                                                                                                                             4.3 MB/s | 4.6 MB     00:01
CentOS Linux 8 - Extras                                                                                                                             5.1 kB/s | 1.5 kB     00:00
Docker CE Stable - x86_64                                                                                                                            14 kB/s | 3.5 kB     00:00
Extra Packages for Enterprise Linux 8 - x86_64                                                                                                       24 kB/s | 4.7 kB     00:00
Extra Packages for Enterprise Linux 8 - x86_64                                                                                                      6.3 MB/s |  11 MB     00:01
Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                                               15 kB/s | 3.0 kB     00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                                              1.3 MB/s | 980 kB     00:00
Kubernetes                                                                                                                                          1.6 kB/s | 844  B     00:00
依赖关系解决。
====================================================================================================================================================================================
 软件包                                            架构                                   版本                                         仓库                                    大小
====================================================================================================================================================================================
安装:
 iptables-services                                 x86_64                                 1.8.4-20.el8                                 baseos                                  63 k

事务概要
====================================================================================================================================================================================
安装  1 软件包

总下载:63 k
安装大小:20 k
确定吗?[y/N]: y
下载软件包:
iptables-services-1.8.4-20.el8.x86_64.rpm                                                                                                            73 kB/s |  63 kB     00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                 72 kB/s |  63 kB     00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                     1/1
  安装    : iptables-services-1.8.4-20.el8.x86_64                                                                                                                               1/1
  运行脚本: iptables-services-1.8.4-20.el8.x86_64                                                                                                                               1/1
  验证    : iptables-services-1.8.4-20.el8.x86_64                                                                                                                               1/1

已安装:
  iptables-services-1.8.4-20.el8.x86_64

完毕!
[root@k8s-master01 ~]#

2、配置iptables防火墙

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1. 关闭防火墙:sudo systemctl stop firewalld.service
2. 关闭开机启动:sudo systemctl disable firewalld.service
3. 设置iptables防火墙开机启动:sudo systemctl enable iptables
3. 设置iptables防火墙关闭开机启动:sudo systemctl disable iptables

[root@k8s-master01 ~]# sudo systemctl enable iptables
Created symlink /etc/systemd/system/multi-user.target.wants/iptables.service → /usr/lib/systemd/system/iptables.service.
[root@k8s-master01 ~]#
[root@k8s-master01 ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
[root@k8s-master01 ~]#

#最后重启防火墙使配置生效
[root@k8s-master01 ~]# systemctl restart iptables.service
[root@k8s-master01 ~]# 

[root@k8s-master01 ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: active (exited) since Mon 2022-01-03 11:44:05 CST; 34s ago
  Process: 22096 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
 Main PID: 22096 (code=exited, status=0/SUCCESS)

1月 03 11:44:05 k8s-master01.io systemd[1]: Starting IPv4 firewall with iptables...
1月 03 11:44:05 k8s-master01.io iptables.init[22096]: iptables: Applying firewall rules: [  确定  ]
1月 03 11:44:05 k8s-master01.io systemd[1]: Started IPv4 firewall with iptables.
[root@k8s-master01 ~]#

[root@k8s-master01 ~]# service iptables stop
Redirecting to /bin/systemctl stop iptables.service
[root@k8s-master01 ~]#

[root@k8s-master01 ~]# sudo systemctl disable iptables
Removed /etc/systemd/system/multi-user.target.wants/iptables.service.
[root@k8s-master01 ~]#

4. 配置iptables防火墙,打开指定端口
以打开redis的端口为例:

# //开放6379到7000之间的端口
[root@k8s-master01 ~]# vi /etc/sysconfig/iptables
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379:7000 -j ACCEPT

[root@k8s-master01 ~]# service iptables save
[root@k8s-master01 ~]# service iptables restart 

3、其他:防火墙规则

netfilter 防火墙总是容易受到规则顺序的影响,因为一条规则在链中没有固定的位置。在一条规则之前添加或者删除规则都会改变此规则的位置。 在静态防火墙模型中,改变防火墙就是重建一个干净和完善的防火墙设置,且受限于 system-config-firewall / lokkit 直接支持的功能。也没有整合其他应用程序创建防火墙规则,且如果自定义规则文件功能没在使用 s-c-fw / lokkit 就不知道它们。默认链通常也没有安全的方式添加或删除规则而不影响其他规则。
动态防火墙有附加的防火墙功能链。这些特殊的链按照已定义的顺序进行调用,因而向链中添加规则将不会干扰先前调用的拒绝和丢弃规则。从而利于创建更为合理完善的防火墙配置。

下面是一些由守护进程创建的规则,过滤列表中启用了在公共区域对 ssh , mdns 和 ipp-client 的支持:

*filter
:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]:FORWARD_ZONES - [0:0]:FORWARD_direct - [0:0]:INPUT_ZONES - [0:0]:INPUT_direct - [0:0]:IN_ZONE_public - [0:0]:IN_ZONE_public_allow - [0:0]:IN_ZONE_public_deny - [0:0]:OUTPUT_direct - [0:0]-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INPUT_direct
-A INPUT -j INPUT_ZONES
-A INPUT -p icmp -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -j FORWARD_direct
-A FORWARD -j FORWARD_ZONES
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -j OUTPUT_direct
-A IN_ZONE_public -j IN_ZONE_public_deny
-A IN_ZONE_public -j IN_ZONE_public_allow
-A IN_ZONE_public_allow -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
-A IN_ZONE_public_allow -d 224.0.0.251/32 -p udp -m udp --dport 5353 -m conntrack --ctstate NEW -j ACCEPT
-A IN_ZONE_public_allow -p udp -m udp --dport 631 -m conntrack --ctstate NEW -j ACCEPT
使用 deny/allow 模型来构建一个清晰行为(最好没有冲突规则)。例如: ICMP块将进入 IN_ZONE_public_deny 链(如果为公共区域设置了的话),并将在 IN_ZONE_public_allow 链之前处理。
该模型使得在不干扰其他块的情况下向一个具体块添加或删除规则而变得更加容易。


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值