【Linux】iptables之防火墙的应用及案例、策略、备份与还原(2)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
云防火墙,500元 1000GB
简介: 实验环境:为网关、Web 服务器配置防火墙规则需求描述:1、为网站服务器编写入站规则

在这里插入图片描述

一、案例——基于 IP 和端口的防火墙控制

在这里插入图片描述

实验环境:为网关、Web 服务器配置防火墙规则
需求描述:
1、为网站服务器编写入站规则
  (1)允许接受响应本机 ping 测试请求的各种 ICMP 数据包
  (2)允许访问本机中位于 80 端口的Web 服务,禁止访问其他端口的 TCP 请求
  (3)允许发往本机以建立连接或与已有连接相关的各种 TCP 数据包
  (4)禁止其他任何形式的入站访问数据

搭建实验环境,结果如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

为网站服务器编写入站规则
允许接受响应本机 ping 测试请求的各种 ICMP 数据包

在这里插入图片描述
在这里插入图片描述

禁止其他任何形式的入站访问数据

在这里插入图片描述

内网服务器 ping 网关测试:

在这里插入图片描述

网关 ping 内网服务器测试:

在这里插入图片描述

允许访问本机中位于 80 端口的 Web 服务,禁止访问其他端口的 TCP 请求

在这里插入图片描述

允许发往本机以建立连接或与已有连接相关的各种 TCP 数据包

在这里插入图片描述

保存 iptables 设置

在这里插入图片描述
在这里插入图片描述

测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@iptables~]# elinks 192.168.1.5

在这里插入图片描述
在这里插入图片描述

[root@iptables~]# ftp 192.168.1.5
ftp:connect:连接超时
2、为网关服务器编写转发规则
  (1)允许局域网中的主机访问 Internet 中是 Web、FTP、DNS、邮件服务
  (2)禁止局域网中的主机访问 web.qq.com、w.qq.com、im.qq.com 等网站,以防止通过 WebQQ 的方式进行在线聊天

允许局域网中的主机访问Internet 中是 Web、FTP、DNS、邮件服务

在这里插入图片描述

禁止局域网中的主机访问web.qq.com、w.qq.com、im.qq.com 等网站

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

保存 iptables 规则配置

在这里插入图片描述

二、SNAT 策略

1、作用

作用:局域网主机共享单个公网 IP 地址接入 Internet

2、SNAT 策略的原理

  源地址转换,Source Network Address Translation
  修改数据包的源地址

在这里插入图片描述

3、企业共享上网案例

在这里插入图片描述

前提条件:
  局域网各主机正确设置 IP 地址/子网掩码
  局域网各主机正确设置默认网关地址
  Linux 网关支持 IP 路由转发

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.1、固定的外网 IP 地址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2、非固定外网 IP 地址或 ADSL

在这里插入图片描述

三、DNAT 策略

1、DNAT 原理

  在 Internet 环境中,通过网关服务器中正确设置 DNAT 策略可实现企业所注册的网站或域名必须对应公网 IP 地址。

在这里插入图片描述

前提条件
  局域网的 Web 服务器能够访问 Internet
  网关的外网 IP 地址有正确的 DNS 解析记录
  Linux 网关支持 IP 路由转发

1.1、DNAT 转发规则 1:发内网 Web 服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2、DNAT 转换规则 2:发布时修改目标端口

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、iptables 防火墙规则的备份与还原

  设置完防火墙规则后,可备份规则到文件中,以便日后进行还原,或以备份规则为依据编写防火墙脚本

\> 为导出   iptables-save
< 为导入   iptables-restore

1、导出(备份)防火墙规则

iptables-save 工具

语法格式:

iptables-save > 要导出的路径

实例:

在这里插入图片描述

2、导入(还原)防火墙规则

iptables-restore 工具

语法格式:

iptables-restore < 要导入的路径

实例:

查看规则,现在是空的:

在这里插入图片描述

导入规则:

在这里插入图片描述

  重定向出的文件也可以是任意自定义的文件,若将规则保存到/etc/sysconfig/iptables 中,iptables 启动时自动还原规则。

五、企业防火墙脚本编程与规范【附加】

1、“网关型”防火墙脚本

好的防火墙脚本要包括以下部分:

  • 定义基本变量,便于脚本的维护、重用
  • 加载必要的内核模块,将频繁用到的模块载入到内核
  • 调整/proc 参数,Linux 内核控制及调优
  • 具体的防火墙规则,按表、链分别设置规则,包括默认策略

1.1、定义基本变量便于脚本的维护、重用

#!/bin/bash
INET_IF=”eth0”
INET_IP=”192.168.1.108”
LAN_IF=”eth1”
LAN_IP=”192.168.100.1”
LAN_NET=”192.168.100.0/24”
LAN_WWW_IP=”192.168.100.100”
IPT=”/sbin/iptables”
MOD=”/sbin/modprobe”
CTL=”/sbin/sysctl”

1.2、加载必要的内核模块将频繁用到的模块载入内核

……
$MOD ip_tables
$MOD ip_conntrack
$MOD ipt_REJECT
$MOD ipt_LOG
$MOD ipt_iprange
$MOD xt_tcpudp
$MOD xt_state
$MOD xt_multiport
$MOD xt_mac
&dollar;MOD ip_nat_ftp      支持 FTP 访问的地址转换
$MOD ip_conntrack_ftp   支持 FTP 访问的连接状态跟踪

1.3、调整/proc 参数Linux 内核控制及调优

……
$CTL -w net.ipv4.ip_forward=1            开启路由转发功能
$CTL -w net.ipv4.default_ttl=128         默认生存周期
$CTL -w net.ipv4.icmp_echo_ignore_all=1            根本不要响应 echo 包。请不要设置为缺省,它可能在你正被利用成为 DoS 攻击的跳板时可能有用
$CTL -w net.ipv4.icmp_echo_ignore_broadcasts=1     ping 子网的子网地址,所有的机器都应该予以回应。这可能成为非常好用的拒绝服务攻击工具。设置为 1 来忽略这些子网广播消息以下配置为优化 TCP 响应能力
$CTL -w net.ipv4.tcp_syncookies=1        tcp syncookie,默认关闭
$CTL -w net.ipv4.tcp_syn_retries=3       外向 syn 握手重试次数,默认 4
$CTL -w net.ipv4.tcp_synack_retries=3    syn-ack 握手状态重试次数,默认 5,遭受 syn-flood 攻击时改为 1 或 2
$CTL -w net.ipv4.tcp_fin_timeout=60      默认 60,tcp fin 状态超时时间
$CTL -w net.ipv4.tcp_max_syn_backlog=3200     syn 队列,默认1024,> 1280 可能工作不稳定,需要修改内核源码参数
……

1.4、具体的防火墙规则

按表、链分别设置规则,包括默认策略

清空原有规则:
$IPT -t filter -X    删除 filter 表内的用户自定义的链
$IPT -t nat -X
$IPT -t filter -F
$IPT -t nat -F

设置默认策略:
$IPT -P INPUT DROP
$IPT -p FORWARD DROP
$IPT -P OUTPUT ACCEPT

其他具体规则:
$IPT -I INPUT -p tcp --dport 22 -j ACCEPT
$IPT -t nat -A POSTROUTING -s $LAN_NET -o $INET_IF -j SNAT --to-source $INET_IP
$IPT -t nat -A PREROUTING -i $INET_IF -d $INET_IP -p tcp --dport 80 -j DNAT --to-destination
$LAN_WWW_IP

1.5、实例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、“主机型”防火墙脚本

  • 将 OUTPUT 链的默认策略设为允许,不添加其他规则
  • 将 INPUT 链的默认策略设为拒绝,只放行对 Web 服务的访问,以及响应本机访问请求的数据包

2.1、定义基本变量

IPT=”/sbin/iptables”
……

2.2、调整/proc 参数

……

2.3、设置具体的防火墙规则

  1>删除自定义的链、清空已有规则
$IPT -t filter -X
$IPT -t filter -F

  2>定义默认策略
$IPT -P INPUT DROP
$IPT -p FORWARD DROP
$IPT -P OUTPUT ACCEPT

   3>设置 filter 表中的各种规则
$IPT -A INPUT -m multiport -p tcp --dport 22,80 -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

2.4、实例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

相关文章

🍎【Linux】iptables之防火墙概述及规则匹配+实例(1)


🍌【Linux】iptables之防火墙的应用及案例、策略、备份与还原(2)


🍐【Linux】firewall-cmd之防火墙简介及常用命令+实例

在这里插入图片描述

目录
相关文章
|
23天前
|
Linux 网络性能优化 网络安全
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
76 28
|
2月前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
|
3月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
98 17
|
3月前
|
缓存 网络协议 Linux
深入探索Linux操作系统的内核优化策略####
本文旨在探讨Linux操作系统内核的优化方法,通过分析当前主流的几种内核优化技术,结合具体案例,阐述如何有效提升系统性能与稳定性。文章首先概述了Linux内核的基本结构,随后详细解析了内核优化的必要性及常用手段,包括编译优化、内核参数调整、内存管理优化等,最后通过实例展示了这些优化技巧在实际场景中的应用效果,为读者提供了一套实用的Linux内核优化指南。 ####
92 1
|
3月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
249 3
|
3月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
129 3
|
3月前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####
|
3月前
|
缓存 算法 Linux
Linux内核中的调度策略优化分析####
本文深入探讨了Linux操作系统内核中调度策略的工作原理,分析了不同调度算法(如CFS、实时调度)在多核处理器环境下的性能表现,并提出了针对高并发场景下调度策略的优化建议。通过对比测试数据,展示了调度策略调整对于系统响应时间及吞吐量的影响,为系统管理员和开发者提供了性能调优的参考方向。 ####
|
3月前
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
61 0
|
6月前
|
安全 Linux 应用服务中间件
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?