Linux系统中的iptables火墙管理及优化(iptables)

Linux系统中的火墙管理及优化(iptables和firewalld)

1.Firewalld概述
所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的边界上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。该计算机流入流出的所有网络通信和数据包均要经过此防火墙。
总体说来,iptables就是由“四表五链”组成。filter表中包括3条链,nat表中用5条链,mangle表中也有5条链。
Linux系统中的iptables火墙管理及优化(iptables)_第1张图片

2.火墙的两种管理方式
firewalld
systemctl status firewalld.service
systemctl start firewalld.service
systemctl stop firewalld.service
firewall-cmd --list-all
systemctl enable firewalld.service ##设置防火墙开机自启
systemctl disable firewalld ##设置防火墙开机不自启
systemctl mask firewalld ##锁定防火墙
systemctl unmask firewalld

iptables
dnf install iptables-services.x86_64 -y ##安装管理工具
systemctl start iptables.service
systemctl stop iptables.service
systemctl disable iptables.service
systemctl enable iptables.service
systemctl mask iptables.service

两种管理方式之间的切换操作如下:

Linux系统中的iptables火墙管理及优化(iptables)_第2张图片

3.iptables的使用

iptables火墙策略的永久保存

iptables-save > /etc/sysconfig/iptables

service iptables save 

Linux系统中的iptables火墙管理及优化(iptables)_第3张图片

4.iptables常用参数的使用

iptables     -t   指定参数列表                     --dport     目的地端口

                  -n  不做解析                           -s     来源

                  -L  查看                                   -j  (ACCEPT DROP REJECT SNAT DNAT)   动作

                   -A  添加策略                          -N         新建链

                   -p  协议                                   -E         更改链规则

                   -X         删除链                        -D   删除规则

                    -I         插入规则                    -R  更改规则

                   -P     更改默认规则

Linux系统中的iptables火墙管理及优化(iptables)_第4张图片

Linux系统中的iptables火墙管理及优化(iptables)_第5张图片

5.火墙读取方式即数据包的设定方式

iptables的读取方式是按顺序读取的,如下所示 若读取其中一条之后,其他的默认通不过。

Linux系统中的iptables火墙管理及优化(iptables)_第6张图片

数据包的状态的理解

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j  ACCEPT      设定火墙策略为可以接受已经通过火墙或者正在运                                                                                                                             行的的服务

iptables -A INPUT -i lo -m state --state NEW -j ACCEPT         设定火墙策略能接受新的服务

iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT      设定火墙允许80端口通过

iptables -A INPUT -s 172.25.254.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT     设定火墙允许指定ip的主机访问22端口

iptables -A INPUT -j REJECT  火墙拒绝其他服务
 

Linux系统中的iptables火墙管理及优化(iptables)_第7张图片

问题:(1)在系统中设定火墙只允许访问dns httpd服务

            (2)设定火墙只允许172.25.254.20连接sshd服务

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

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

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

iptables -A INPUT -j REJECT

Linux系统中的iptables火墙管理及优化(iptables)_第8张图片

6.原地址转换(SNAT)和目的地转换(NDAT)

(1)原地址转换(SNAT) 

两台主机之间进行地址转换,在双网卡主机中设定SNAT   iptables -t nat -A POSTROUTING -o ens192 -j SNAT --to-source 192.168.1.20   做好设定之后 在另外一台主机中ping 114.114.114.114 此时相当于地址完成转换,单网卡主机访问的是双网卡主机上的地址,实验如下,

(2)目的地转换(NDAT) 

目的地址转换 在双网卡主机上做好设定 iptables -t nat -A PREROUTING -i ens192 -j DNAT  --to-dest 172.25.254.10 通过一台单网卡主机访问另一台单网卡主机时 中间的转换是通过双网卡主机。

Linux系统中的iptables火墙管理及优化(iptables)_第9张图片

 

 

 

你可能感兴趣的:(Linux系统中的iptables火墙管理及优化(iptables))