各位朋友大家好,今天来说说防火墙~

一:什么是防火墙?

防火墙指的是一个由软件和硬件设备组合而成,在内部网和外部网之间,专用网络与公共网之间的界面上构造的保护屏障,是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet和Internet之间建立起一个安全网关,从而保护内部网免受非法用户的侵入,防火墙主要是由服务访问规则,验证工具,包过滤和应用网关四个部分组成。

二:

管理防火墙有两种方式:firewalld与iptables

(1)firewalld 防火墙管理工具,相对简单 ———>windows

(2)iptables 复杂,功能强大 ———>route

(1)(2)无法同时使用

三:

(1)火墙的安装

命令:yum install firewalld -y

(2)图形方法设置火墙属性

命令:firewall-config &

pa防火墙的aggregate pa防火墙怎么样_pa防火墙的aggregate


*火墙设置中runtime表示立即生效,重启之后服务恢复之前的状态,不会更改配置文件,permanent表示永久设置,重启之后才生效,会修改配置文件。

pa防火墙的aggregate pa防火墙怎么样_pa防火墙的aggregate_02


(3)监控配置火墙时的动态情况

watch -n 1 firewall-cmd –list-all

pa防火墙的aggregate pa防火墙怎么样_pa防火墙的aggregate_03


可以看出初始支持的服务有dhcpv6-client 和ssh

(4)临时更改

下面给其添加临时服务http

pa防火墙的aggregate pa防火墙怎么样_计算机_04


可以看到直接添加成功:

pa防火墙的aggregate pa防火墙怎么样_计算机_05


还有其他服务,读者可以自行尝试。

(5)永久更改

permanent 下,更改配置文件,重新加载后永久生效

在public区域下勾选http服务,可以看到并没有立即生效:

pa防火墙的aggregate pa防火墙怎么样_pa防火墙的aggregate_06


重新加载服务后,更改生效:

pa防火墙的aggregate pa防火墙怎么样_互联网_07


(6)更改默认区域

一般情况下,默认区域是public

选择 Options —>Change Default Zone —>trusted

点击ok之后更改成功

pa防火墙的aggregate pa防火墙怎么样_防火墙_08


(8)更改区域配置文件:通过直接更改指定区域的配置文件并重启火墙服务,达到永久更改的目的

为查看方便,这里编写apache默认访问文件:vim /var/www/html/index.html

pa防火墙的aggregate pa防火墙怎么样_计算机_09


编写火墙默认的public区域配置文件,来开启服务

vim /etc/firewalld/zones/public.xml

加入http服务:

pa防火墙的aggregate pa防火墙怎么样_互联网_10


重启火墙,并且在浏览器访问,成功访问到了

pa防火墙的aggregate pa防火墙怎么样_pa防火墙的aggregate_11


查看防火墙的状态,http服务已经加进去了

pa防火墙的aggregate pa防火墙怎么样_计算机_12


四:命令行管理firewalld

关于网络区域配置:

pa防火墙的aggregate pa防火墙怎么样_防火墙_13


安装软件 yum install firewalld firewall-config -y

(1)常用命令

开启防火墙:systemctl start firewalld

开机自启防火墙:systemctl enable firewalld

关闭防火墙:systemctl stop firewalld

开机自动关闭防火墙:systemctl disable firewalld

查看防火墙状态:firewall-cmd –state

查看防火墙管理设备:firewall-cmd –get-active-zones

查看防火墙生效的区域:firewall-cmd –get-default-zone

查看防火墙所有的区域:firewall-cmd –get-zones

列出关于public区域的服务设置:firewall-cmd –znotallow=public –list-all

列出关于trusted区域的服务设置:firewall-cmd –znotallow=trusted –list-all

列出可使用的服务:firewall-cmd –get-service

修改默认区域为trusted:firewall-cmd –set-default-znotallow=trusted

修改默认区域为public:firewall-cmd –set-default-znotallow=public

举例:

pa防火墙的aggregate pa防火墙怎么样_防火墙_14


查看火墙状态:

pa防火墙的aggregate pa防火墙怎么样_互联网_15


(2)高级配置

临时添加服务(默认的区域)

firewall-cmd –add-service=https

pa防火墙的aggregate pa防火墙怎么样_软件_16


查看火墙状态:

pa防火墙的aggregate pa防火墙怎么样_计算机_17


临时删除服务(默认的区域)

firewall-cmd –remove-service=https

pa防火墙的aggregate pa防火墙怎么样_互联网_18


查看火墙状态:

pa防火墙的aggregate pa防火墙怎么样_pa防火墙的aggregate_19


永久添加服务(默认的区域)

firewall-cmd –add-service=https –permanent

永久删除服务(默认的区域)

firewall-cmd –remove-service=https –permanent

临时添加端口(默认的区域)

firewall-cmd –add-port=8080/tcp

临时删除端口(默认的区域)

firewall-cmd –remove-port=8080/tcp

永久添加端口(默认的区域)

firewall-cmd –add-port=8080/tcp –permanent

永久删除端口(默认的区域)

firewall-cmd –remove-port=8080/tcp –permanent

添加接口(默认的区域)

firewall-cmd –add-interface=eth0

删除接口(默认的区域)

firewall-cmd –remove-interface=eth1

临时拒绝主机172.25.254.19的所有网络连接

firewall-cmd –add-source=172.25.254.19 –znotallow=block

永久拒绝主机172.25.254.19的所有网络连接

firewall-cmd –add-source=172.25.254.19 –znotallow=block –permanent

不中断连接,重启火墙策略

firerwall-cmd –reload

中断连接,重启防火墙策略

firewall-cmd –complete-reload

关闭上述

firewall-cmd –remove-source=172.25.254.19 –znotallow=block

firewall-cmd –remove-source=172.25.254.19 –znotallow=block –permanent

查看firewalld的服务相关配置文件

pa防火墙的aggregate pa防火墙怎么样_计算机_20


查看firewalld的区域相关配置文件

pa防火墙的aggregate pa防火墙怎么样_计算机_21


临时:直接将ens7从原来的区域转到trusted这个区域

firewall-cmd –change-interface=ens7–znotallow=trusted

firewall-cmd –permanent –change-interface=ens7 –znotallow=trusted

pa防火墙的aggregate pa防火墙怎么样_防火墙_22


检验ens7是否在trusted这个区域写入配置文件

pa防火墙的aggregate pa防火墙怎么样_pa防火墙的aggregate_23


查看状态:

pa防火墙的aggregate pa防火墙怎么样_互联网_24


注意:临时设置不写入配置文件,永久配置写入配置文件

确认两块网卡的ip

pa防火墙的aggregate pa防火墙怎么样_互联网_25


(3)links

yum install links -y

links http://172.25.254.40

pa防火墙的aggregate pa防火墙怎么样_防火墙_26


服务端:临时只拒绝另外一台虚拟机19到本机的ssh服务

firewall-cmd –direct –add-rule ipv4 filter INPUT 1 -s 172.25.254.19 -p tcp –dport 22 -j REJECT

pa防火墙的aggregate pa防火墙怎么样_软件_27


客户端进行测试:

pa防火墙的aggregate pa防火墙怎么样_防火墙_28


服务被拒绝,实验成功。

服务端:恢复虚拟机19到本主机的ssh服务

方法一:firewall-cmd –direct –remove-rule ipv4 filter INPUT 1 -s 172.25.254.19 -p tcp –dport 22 -j REJECT

方法二:systemctl restart firewalld

客户端检测:

pa防火墙的aggregate pa防火墙怎么样_防火墙_29


服务端:临时只允许主机19使用lftp服务

pa防火墙的aggregate pa防火墙怎么样_计算机_30


服务端测试:

pa防火墙的aggregate pa防火墙怎么样_pa防火墙的aggregate_31


伪装:当客户主机访问服务主机40的22端口时,会自动转到主机100的22端口,实现ip的伪装

具体步骤:

(1)172.25.254.40的22端口转接172.25.254.100这台主机的22端口

firewall-cmd –add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.100

(2)添加防火墙伪装
firewall-cmd –add-masquerade

pa防火墙的aggregate pa防火墙怎么样_软件_32


查看防火墙:

pa防火墙的aggregate pa防火墙怎么样_软件_33


客户端测试:

pa防火墙的aggregate pa防火墙怎么样_防火墙_34


取消转接:

firewall-cmd –remove-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.100

firewall-cmd –remove-masquerade

pa防火墙的aggregate pa防火墙怎么样_防火墙_35


注意:在打开firewalld的情况下打开iptables方式则firewalld方式自动关闭

pa防火墙的aggregate pa防火墙怎么样_pa防火墙的aggregate_36


二:iptables的相关配置

(1)iptables的常用命令

pa防火墙的aggregate pa防火墙怎么样_防火墙_37


(2)iptables的高级配置

关闭firewalld并且开机自动关闭

pa防火墙的aggregate pa防火墙怎么样_互联网_38


列出指定filter表的信息

pa防火墙的aggregate pa防火墙怎么样_软件_39


查看配置文件

cat /etc/sysconfig/iptables

pa防火墙的aggregate pa防火墙怎么样_软件_40


刷新清空iptables

iptables -F

保持状态: service iptables save

列出默认表信息:iptables -nL

所有INPUT服务都丢弃并且不回应:iptables -P INPUT DROP

pa防火墙的aggregate pa防火墙怎么样_软件_41


添加接受本机回环地址的

iptables -A INPUT -i lo -j ACCEPT

添加接受tcp协议80端口的服务

iptables -A INPUT -p tcp –dport 80 -j ACCEPT

添加接受tcp协议22端口的服务

iptables -A INPUT -p tcp –dport 22 -j ACCEPT

拒绝全部的INPUT链服务

iptables -A INPUT -j REJECT

查看:

pa防火墙的aggregate pa防火墙怎么样_互联网_42


1.配置链中的策略

删除指定链中的策略

方法一:根据行数删除

iptables -D INPUT 3

pa防火墙的aggregate pa防火墙怎么样_互联网_43


pa防火墙的aggregate pa防火墙怎么样_计算机_44


方法二:根据内容删除

如:删除指定策略内容

iptables -D INIPUT -p tcp –dport 22 -j ACCEPT

插入指定链中的指定行

如:将接受协议为tcp的22端口插入第三行

iptables -I INPUT 3 -p tcp –dport 22 -j ACCEPT

pa防火墙的aggregate pa防火墙怎么样_防火墙_45


策略保存至配置文件

service iptables save

cat /etc/sysconfig/iptables

pa防火墙的aggregate pa防火墙怎么样_防火墙_46


允许19主机可以通过tcp协议22端口连接

pa防火墙的aggregate pa防火墙怎么样_计算机_47


拉黑主机19通过tcp协议22端口连接的功能,其他主机不影响

iptables -A INPUT ! -s 172.25.254.19 -p tcp –dport 22 -j ACCEPT

2.关于链的相关配置

iptables -N REDHAT #新建一个链,名为REDHAT

iptables -E REDHAT linux #修改指定链的名称,将REDHAT修改为linux

iptables -X linux #删除指定链,删除linux

3.防火墙的策略优化

若第一次访问可以,第二次就不会再问,这就是优化状态。

注:系统重启会改变状态的数据包

状态:第一次连接:NET连接中:ESTABLISHED连接过时的:RELATED

iptables -F #刷新清空策略

service iptables save #保存

iptables -nL #查看

pa防火墙的aggregate pa防火墙怎么样_计算机_48


添加接受状态为ESTABLISHED(连接中),RELATED(连接过)的策略

iptables -A INPUT -m state NEW -i lo -j ACCEPT

添加接受状态为NEW的来自回环地址策略

iptables -A INPUT -m state –state NEW -i lo -j ACCEPT

添加接受状态为NEW的tcp协议22端口策略

iptables -A INPUT -m state –state NEW -p tcp –dport 22 -j ACCEPT

添加接受状态为NEW的tcp协议80端口策略

iptables -A INPUT -m state NEW -p tcp –dport 80 -j ACCEPT

添加拒绝全部的策略

iptables -A INPUT -j REJECT

可以查看:

pa防火墙的aggregate pa防火墙怎么样_软件_49


4.nat表

实现不同网段之间的通信

主体思想:172.25.254.x来到eth0网络,进行伪装后,从ens7网络出去,也便和172.25.25.y统一了网段,也就可以通信了