iptables的备份、恢复及防火墙脚本的基本使用

一:规则的导出、导入:

规则的备份及还原:

防火墙规则的批量备份、还原用到两个命令 iptables-save、iptables-restore,分别用来保存(Save)和恢复(Restore)。

1、iptables-save 命令:

iptables-save命令用来批量导出Linux防火墙规则。

直接执行iptables-save:显示出当前启用的所有规则,按照raw、mangle、nat、filter表的顺序依次列出;

“ -t表名”:列出某一个表;

iptables-save -t nat          列出nat表的规则内容;

注解:

“#”号开头的表示注释;“*表名”表示所在的表;

“:链名默认策略”表示相应的链及默认策略,具体的规则部分省略了命令名“iptables”;

“COMMIT”表示提交前面的规则设置;

2、iptables-restore 命令:

作用:批量导入Linux防火墙规则。也需要结合重定向输入来指定备份文件的位置。

iptables-restore /etc/sysconfig/iptables.bak

iptables -nL

3、使用iptables服务:

脚本位置:/etc/init.d/iptables

规则文件位置:/etc/sysconfig/iptables (默认没有此文件)

a.自动启用防火墙规则:

将调试好的各种iptables规则,使用iptables-save备份为默认的规则配置文件/etc/sysconfig/iptables,然后通过iptables服务来调用。

eg:保存当前的防火墙规则,并设置在每次开机后根据已保存的规则内容自动进行重建:

 

 

二:使用防火墙脚本:

防火墙脚本的优势:便于使用shell变量、程序控制逻辑;作为独立的文件在需要重用、移植使用时会非常方便。

1.定义基本变量:

将防火墙的网卡、IP地址、局域网段、iptables命令的路径等定义为变量:

INET_IF="eth0" ###外网接口

INET_IP="173.16.16.1" ###外网接口地址

LAN_IF="eth1" ###内网接口

LAN_IP="192.168.10.1" ###内网接口地址

LAN_NET="192.168.10.0/24" ###内网网段

LAN_WWW_IP="192.168.10.2" ###网站服务器的内部地址

IPT="/sbin/iptables" ###iptables命令的路径

MOD="/sbin/modprobe" ###modprobe命令的路径

CTL="/sbin/sysctl" ###sysctl命令的路径

2.加载内核模块(5.5系统为例):

(与FTP发布相关的ip_nat_ftp、ip_conntrack_ftp)需手动进行加载。

$MOD ip_tables ###iptables基本模块

$MOD ip_conntrack ###连接跟踪模块

$MOD ipt_REJECT ###拒绝操作模块

$MOD ipt_LOG ###日志记录模块

$MOD ipt_iprange ###支持IP范围匹配

$MOD xt_tcpudp ###支持TCP、UDP协议

$MOD xt_state ###支持状态匹配

$MOD xt_multiport ###支持多端口匹配

$MOD xt_mac ###支持MAC地址匹配

$MOD ip_nat_ftp ###支持FTP地址转换

$MOD ip_conntrack_ftp ###支持FTP连接跟踪

3.调整/proc参数:

/proc是Linux或UNIX中的一种伪文件系统机制,提供了访问内核运行结构、改变内核设置的实时数据。

与ext4、NFS、FAT32等文件系统不同,/proc中的数据存放在内存而不是硬盘上。

在/proc/sys下存放着与系统相关的可控参数,可以直接用来改变内核的行为,通常作为Linux的内核调优的实时入口。

也可以写到/etc/sysctl.conf文件中,sysctl-p使修改生效。

$CTL -w net.ipv4.ip_forward=1 ###打开路由转发功能

$CTL -w net.ipv4.ip_default_ttl=128 ###修改ICMP响应超时间

$CTL -w net.ipv4.icmp_echo_ignore_all=1 ###拒绝响应ICMP请求

$CTL -w net.ipv4.icmp_echo_ignore_broadcasts=1 ###拒绝响应ICMP广播

$CTL -w net.ipv4.tcp_syncookies=1 ###启用SYN Cookie机制

$CTL -w net.ipv4.tcp_syn_retries=3 ###最大SYN请求重试次数

$CTL -w net.ipv4.tcp_synack_retries=3 ###最大ACK确认重试次数

$CTL -w net.ipv4.tcp_fin_timeout=60 ###TCP连接等待超时

$CTL -w net.ipv4.tcp_max_syn_backlog=3200 ###SYN请求的队列长度

注解:

ICMP相关的参数调整可使本机忽略其他主机的ping测试,TCP相关的内核参数调整可适当提高本机抗DoS攻击的能力。

4.设置具体的iptables规则:

aa.清理已有的规则(避免已有防火墙规则造成的干扰):

删除所有表中用户自定义的链、清空所有链内的规则:

实际生产环境中,防火墙过滤规则建议采取“默认拒绝”的策略。

bb.设置nat表中的各种规则、设置filter表中的各种规则(根据实际需求自行添加):

iptables的nat表主要用在Linux网关服务器中,主机型防火墙方案中很少会用到。

iptables的filter表主要用来过滤数据包,Linux网关或Linux服务器都经常用到。

主机型防火墙主要使用INPUT、OUTPUT链,网络型防火墙主要使用FORWARD链。

cc.为脚本文件添加执行权限,并设置自启动,并将脚本路径写入到/etc/rc.local文件中:

使用IP地址黑、白名单:

黑白名单需要提前建立ip地址文件,同时需要注意的是:必须严格控制访问ip地址名单列表的权限。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iptables-persistent是一个工具,用于在Linux系统上保存和恢复iptables防火墙规则。它可以通过调用iptables-save和iptables-restore命令来保存和加载防火墙规则。当系统重启或防火墙服务重新加载时,iptables-persistent会自动恢复之前保存的规则,确保防火墙规则持久有效。使用iptables-persistent可以简化管理防火墙规则的过程,并确保规则在系统重启后仍然有效。 你可以使用以下命令来保存和加载防火墙规则: 1. 保存规则:sudo /etc/init.d/iptables-persistent save 2. 重新加载规则:sudo /etc/init.d/iptables-persistent reload 另外,还有一些额外的脚本工具,如docker-iptables-save.sh和docker-iptables-restore.sh,可以用于制作NAT表和FILTER表的备份,并将它们放置在/etc/iptables目录中,带有基本时间戳记。这些工具可以帮助你更方便地管理防火墙规则的备份恢复。 总之,iptables-persistent是一个实用的工具,可以确保在Linux系统上防火墙规则持久有效,并提供了一些辅助脚本工具来简化规则的备份恢复过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [使用iptables-persistent持久化iptables规则](https://blog.csdn.net/hehaibo2008/article/details/70768955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [docker-iptables-restore:将iptables推送到docker主机时,可能会破坏docker创建的现有规则。 备份并稍后...](https://download.csdn.net/download/weixin_42177768/18715322)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值