Linux 7防火墙的基本使用
Linux 7中的防火墙主要由iptables和firewalld两个工具组成,本文将分别介绍这两个工具的基本使用方法。
1、1 iptables
iptables是Linux内核自带的一个防火墙工具,可以对数据包进行过滤、转发等操作,要使用iptables,首先需要确保已经安装了iptables-services包,在终端中输入以下命令安装:
sudo apt-get install iptables-services
安装完成后,可以使用以下命令查看当前iptables的规则:
sudo iptables -L -n -v
要添加一条新的规则,可以使用以下命令(以允许来自192.168.1.0/24网段的SSH连接为例):
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
要删除一条已有的规则,可以使用以下命令(以删除上面添加的SSH规则为例):
sudo iptables -D INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
要保存当前的iptables规则,可以使用以下命令:
sudo service iptables save
要重启iptables服务,可以使用以下命令:
sudo service iptables restart
1、2 firewalld
firewalld是一个动态管理防火墙的服务,相比于iptables更加灵活易用,要使用firewalld,首先需要确保已经安装了firewalld包,在终端中输入以下命令安装:
sudo apt-get install firewalld
启动firewalld服务:
sudo systemctl start firewalld
要查看当前firewalld的运行状态,可以使用以下命令:
sudo systemctl status firewalld
要启用或禁用firewalld服务,可以使用以下命令:
sudo systemctl enable firewalld 启用服务 sudo systemctl disable firewalld 禁用服务
要添加一个新的zone(类似于iptables的链),可以使用以下命令(以添加一个名为public的zone为例):
sudo firewall-cmd --permanent --new-zone=public 创建新zone并永久生效,不重启firewalld服务生效时间较短,重启后失效,需再次执行此命令使其生效,如果希望立即生效,可省略--permanent选项,该命令会自动生成默认配置文件,接下来可以通过修改默认配置文件来自定义该zone的行为,将该zone的默认策略设置为DROP(拒绝所有连接): sudo firewall-cmd --permanent --zone=public --set-default-policy=DROP 将该zone的默认策略设置为DROP,该命令不会立即生效,需要重新加载firewalld服务才能使设置生效,重新加载firewalld服务的命令为:sudo firewall-cmd --reload 如果不需要重新加载firewalld服务,只需执行一次该命令即可,如果需要立即生效,可省略--reload选项,该命令不会影响其他已经存在的zone的配置,接下来可以通过修改默认配置文件来自定义该zone的行为,将该zone的默认策略设置为DROP(拒绝所有连接):sudo firewall-cmd --permanent --zone=public --add-service=http 为指定的服务类型开放端口(开放HTTP服务的端口80)sudo firewall-cmd --permanent --zone=public --add-port=80/tcp 为指定的端口开放服务(开放TCP协议的端口80)sudo firewall-cmd --permanent --zone=public --add-service=https 为指定的服务类型开放端口(开放HTTPS服务的端口443)sudo firewall-cmd --permanent --zone=public --add-port=443/tcp 为指定的端口开放服务(开放TCP协议的端口443)最后通过执行以下命令重新加载firewalld服务以应用更改:sudo firewall-cmd --reload 如果不需要重新加载firewalld服务,只需执行一次该命令即可,如果需要立即生效,可省略--reload选项,该命令不会影响其他已经存在的zone的配置,最后通过执行以下命令查看当前所有的zone及其配置信息:sudo firewall-cmd --list-all 该命令会列出所有已创建的zone及其配置信息,如果某个zone未被激活,则其配置信息不会显示在列表中,可以通过执行以下命令激活某个zone(激活public zone):sudo firewall-cmd --zone=public --enable 该命令会激活指定的zone并使其生效,如果某个zone已经被激活,则无需再次执行此命令,如果需要取消某个zone的激活状态(即恢复到未激活状态),则可以执行以下命令:sudo firewall-cmd --zone=public --disable 该命令会取消指定的zone的激活状态并使其失效,最后通过执行以下命令重置所有未激活的zone为默认配置:sudo firewall-cmd --reload 该命令会重新加载所有未激活的zone并将其配置恢复为默认值,这样就完成了对Linux 7防火墙的基本使用和详解。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/190503.html