RHCE【防火墙】
目录
一、防火墙简介
二、iptables
实验一:搭建web服务,设置任何人能够通过80端口访问。
实验二:禁止所有人ssh远程登录该服务器
实验三:禁止某个主机地址ssh远程登录该服务器,允许该主机访问服务器的web服务。服务器地址为 192.168.88.5 客户端地址:192.168.88.6
三、firewalld
一、防火墙简介
Linux中存在iptables和firewalld两种防火墙
iptables:更接近数据的原始操作,精度更高
firewalld:更易操作
在计算机科学领域中,防火墙(Firewall)是一个架设在互联网与企业内网之间的信息安全系统,根据企业预定的策略来监控往来的传输。
防火墙可能是一台专属的网络设备或是运行于主机上来检查各个网络接口上的网络传输。它是目前最重要的一种网络防护设备,从专业角度来说,防火墙是位于两个(或多个)网络间,实行网络间访问或控制的一组组件集合之硬件或软件
二、iptables
准备工作:
#安装iptables相关的包,由于我们这里是9.X版本,应该安装iptables-nft-services:
[root@server ~]# yum install iptables-nft-services -y#关闭firewalld ,开启iptables,并且查看其状态是不是active:
[root@server ~]# systemctl stop firewalld
[root@server ~]# systemctl start iptables
[root@server ~]# systemctl status iptables.service#清除所有的规则表:
[root@server ~]# iptables -F#展示所有的规则策略:
[root@server ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destinationChain FORWARD (policy ACCEPT)
target prot opt source destinationChain OUTPUT (policy ACCEPT)
target prot opt source destination
实验一:搭建web服务,设置任何人能够通过80端口访问。
#向 INPUT 链中插入一条规则,允许所有进入系统的 TCP 数据包,并且目标端口是 80:
[root@server ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT#列出当前 iptables 的所有规则,并显示每条规则的行号
[root@server ~]# iptables -L --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- anywhere anywhere tcp dpt:httpChain FORWARD (policy ACCEPT)
num target prot opt source destinationChain OUTPUT (policy ACCEPT)
num target prot opt source destination#从 INPUT 链中删除第 1 条规则:
[root@server ~]# iptables -D INPUT 1
实验二:禁止所有人ssh远程登录该服务器
#禁止所有人ssh远程登录该服务器(拒绝访问22端口):
[root@server ~]# iptables -I INPUT -p tcp --dport 22 -j REJECT#从IPINPUT链中删除第一条规则:(这条命令只能在虚拟机中执行,因为前一条命令已经拒绝ssh远程登录):
[root@server ~]# iptables -D INPUT 1

实验三:禁止某个主机地址ssh远程登录该服务器,允许该主机访问服务器的web服务。服务器地址为 192.168.88.5 客户端地址:192.168.88.6
#拒绝192.168.88.5通过ssh远程连接服务器:
[root@server ~]# iptables -I INPUT -p tcp -s 192.168.88.6 --dport 22 -j REJECT#允许192.168.88.6访问服务器的web服务:
[root@server ~]# iptables -I INPUT -p tcp -s 192.168.88.6 --dport 80 -j ACCEPT

三、firewalld
准备工作:
[root@server ~]# systemctl stop iptables.service
[root@server ~]# systemctl start firewalld.service
[root@server ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; preset: enabled)Active: active (running) since Sat 2024-11-02 16:55:39 CST; 14s ago#查看帮助:
[root@server ~]# firewall-cmd --help#查看所有规则:
[root@server ~]# firewall-cmd --list-all