Linux防火墙(Centos,Ubunto)
从CentOS7以后,iptables服务的启动脚本已被忽略。请使用firewalld来取代iptables服务。
firewalld是iptables的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面。
firewalld 与 iptables的比较:
1,firewalld可以动态修改单条规则,动态管理规则集,允许更新规则而不破坏现有会话和连接。而iptables,在修改了规则后必须得全部刷新才可以生效;
2,firewalld使用区域和服务而不是链式规则;
3,firewalld默认是拒绝的,需要设置以后才能放行。而iptables默认是允许的,需要拒绝的才去限制;
4,firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现。也就是说,firewalld和iptables一样,它们的作用都用于维护规则,而真正使用规则干活的是内核的netfilter。只不过firewalld和iptables的结果以及使用方法不一样!
firewalld是iptables的一个封装,可以让你更容易地管理iptables规则。它并不是iptables的替代品,虽然iptables命令仍可用于firewalld,但建议firewalld时仅使用firewalld命令
查看firewalld服务当前所使用的区域:
firewall-cmd --get-default-zone
启动/关闭firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用):
firewall-cmd --panic-on
firewall-cmd --panic-off
查询public区域是否允许请求SSH和HTTPS协议的流量:
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=https
no
firewalld服务立即生效
firewall-cmd --reload
把firewalld服务中请求HTTPS协议的流量设置为永久允许,并立即生效:
[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@linuxprobe ~]# firewall-cmd --reload
success
[root@linuxprobe ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp
success
[root@linuxprobe ~]# firewall-cmd --zone=public --list-ports
8080-8081/tcp
图形管理工具 firewall-config &
1.在RHEL 7系统中,iptables是否已经被firewalld服务彻底取代?
答:没有,iptables和firewalld服务均可用于RHEL 7系统。
2.请简述防火墙策略规则中DROP和REJECT的不同之处。
答:DROP的动作是丢包,不响应;REJECT是拒绝请求,同时向发送方回送拒绝信息。
3.如何把iptables服务的INPUT规则链默认策略设置为DROP?
答:执行命令iptables -P INPUT DROP即可。
4.怎样编写一条防火墙策略规则,使得iptables服务可以禁止源自192.168.10.0/24网段的流量访问本机的sshd服务(22端口)?
答:执行命令iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j REJECT即可。
5.请简述firewalld中区域的作用。
答:可以依据不同的工作场景来调用不同的firewalld区域,实现大量防火墙策略规则的快速切换。
6.如何在firewalld中把默认的区域设置为dmz?
答:执行命令firewall-cmd --set-default-zone=dmz即可。
7.如何让firewalld中以永久(Permanent)模式配置的防火墙策略规则立即生效?
答:执行命令firewall-cmd --reload。
8.使用SNAT技术的目的是什么?
答:SNAT是一种为了解决IP地址匮乏而设计的技术,它可以使得多个内网中的用户通过同一个外网IP接入Internet(互联网)。
9. TCP Wrappers服务分别有允许策略配置文件和拒绝策略配置文件,请问匹配顺序是怎么样的?
答:TCP Wrappers会先依次匹配允许策略配置文件,然后再依次匹配拒绝策略配置文件,如果都没有匹配到,则默认放行流量.
1、firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:ssystemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:sysystemctl status firewalld.service
在开机时启用一个服务:temctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
ubuntu防火墙命令
当前防火墙状态:
sudo ufw status
打开防火墙:
sudo ufw enable
关闭防火墙:
sudo ufw disable
允许/拒绝 访问20端口:
ufw allow/deny 20
删除以前定义的"允许/拒绝访问20端口"的规则
ufw delete allow/deny 20
开启允许80端口被访问:
sudo ufw allow 20
- 本文标签: 暂无相关标签
- 本文链接: https://www.jimmy2k.top/article/269
- 版权声明: 本文由JimmyZ的个人博客原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权