linux如何通过防火墙iptables做隔离端口的脚本

 更新时间:2023年06月03日 11:50:23   作者:数据湖填坑  
这篇文章主要介绍了linux如何通过防火墙iptables做隔离端口的脚本问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

通过防火墙iptables做隔离端口的脚本

vi iptables_fix.sh
#!/bin/bash
#备份旧的规则
iptables-save > “/opt/firewall-“date "+%Y-%m-%d-%H:%M:%S"”.txt”

获取集群内hosts的ip,空格分隔

clusters=cat /etc/hosts | grep -v ::1 | grep -v "^$" | awk '{print $1}'

配置集群外的ip,空格分隔,格式如下

business=“127.0.0.1 172.17.0.1/16”

配置需要隔离的端口,空格分隔,以22为例

block_ports=“22”
echo “FireWall fix…”

新建chain

iptables -t filter -N BIGDATA_BLOCK_PORTS

添加集群内ip白名单

for block_port in $block_ports;
do
for chost in $clusters;
do
#echo $ahost
iptables -I BIGDATA_BLOCK_PORTS -s $chost -p tcp --dport $block_port -j ACCEPT
iptables -I BIGDATA_BLOCK_PORTS -s $chost -p udp --dport $block_port -j ACCEPT
done
done

添加集群外ip白名单

for block_port in $block_ports;
do
for bhost in $business;
do
#echo $ahost
iptables -I BIGDATA_BLOCK_PORTS -s $bhost -p tcp --dport $block_port -j ACCEPT
iptables -I BIGDATA_BLOCK_PORTS -s $bhost -p udp --dport $block_port -j ACCEPT
done
done

最后隔离端口

for block_port in $block_ports;
do
iptables -A BIGDATA_BLOCK_PORTS -p tcp --dport $block_port -j DROP
iptables -A BIGDATA_BLOCK_PORTS -p udp --dport $block_port -j DROP
done
将BIGDATA_BLOCK_PORTS加入INPUT和FORWARD
iptables -I INPUT -j BIGDATA_BLOCK_PORTS
iptables -I FORWARD -j BIGDATA_BLOCK_PORTS
echo "fix finished

同时开启firewall和iptables

使用向导

With the iptables service, every single change means flushing all the old rules and reading all the new rules from /etc/sysconfig/iptables, while with firewalld there is no recreating of all the rules. Only the differences are applied. Consequently, firewalld can change the settings during runtime without existing connections being lost.

翻译

firewalld与iptables(和ip6tables)服务的本质区别是:

iptables服务将配置存储在/etc/sysconfig/iptables和/etc/sysconfig/ip6tables中,而firewalld将配置存储在/usr/lib/firewalld/和/etc/firewalld/中的各种XML文件中。

注意,/etc/sysconfig/iptables文件不存在,因为在Red Hat Enterprise Linux上默认安装了firewalld。

在iptables服务中,每次更改都意味着刷新所有旧规则并从/etc/sysconfig/iptables读取所有新规则,而在firewalld中不需要重新创建所有规则。

只应用差异。因此,firewalld可以在运行时更改设置,而不会丢失现有的连接。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • linux URL的301重定向代码分析

    linux URL的301重定向代码分析

    301重定向已经过很多次了,它可以将网站的主域名和二级域名规范到一个url上,使网页在搜索引擎里只能通过唯一的一个地址可以访问到,以免因重复内容造成降权。
    2008-09-09
  • Linux下如何实时查看GPU状态

    Linux下如何实时查看GPU状态

    这篇文章主要介绍了Linux下如何实时查看GPU状态问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 使用yum查看工具lspci所在包并安装的方法(详解)

    使用yum查看工具lspci所在包并安装的方法(详解)

    下面小编就为大家带来一篇使用yum查看工具lspci所在包并安装的方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • CentOS配置本地yum源/阿里云yum源/163yuan源并配置yum源的优先级

    CentOS配置本地yum源/阿里云yum源/163yuan源并配置yum源的优先级

    这篇文章主要介绍了CentOS配置本地yum源/阿里云yum源/163yuan源并配置yum源的优先级,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Linux使用 iftop 实时监控网卡的流量

    Linux使用 iftop 实时监控网卡的流量

    iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。这篇文章主要介绍了Linux 实时网卡流量监控,需要的朋友可以参考下
    2019-11-11
  • linux下安装mongodb教程

    linux下安装mongodb教程

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。这篇文章主要介绍了linux下安装mongodb,需要的朋友可以参考下
    2019-12-12
  • 详解Linux系统中网卡MAC地址克隆方法

    详解Linux系统中网卡MAC地址克隆方法

    本篇文章主要介绍了详解Linux系统中网卡MAC地址克隆方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Easypanel免费的VPS主机面板 可跨平台Linux和Windows

    Easypanel免费的VPS主机面板 可跨平台Linux和Windows

    Easypanel是一款免费的功能强大集开通虚拟主机,ftp空间,数据库等功能为一体的主机控制面板,具备跨平台(windows,linux),安全稳定、操作简便等特点,感兴趣的小伙伴们可以关注一下
    2017-07-07
  • Linux下利用unzip命令如何解压多个文件详解

    Linux下利用unzip命令如何解压多个文件详解

    这篇文章主要给大家介绍了关于在Linux下利用unzip命令如何解压多个文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • 清除minerd进程的简单方法

    清除minerd进程的简单方法

    下面小编就为大家带来一篇清除minerd进程的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12

最新评论