linux如何通過防火墻iptables做隔離端口的腳本
通過防火墻iptables做隔離端口的腳本
vi iptables_fix.sh #!/bin/bash #備份舊的規(guī)則 iptables-save > “/opt/firewall-“date "+%Y-%m-%d-%H:%M:%S"”.txt”
獲取集群內(nèi)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
添加集群內(nèi)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
同時(shí)開啟firewall和iptables
使用向?qū)?/p>
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)服務(wù)的本質(zhì)區(qū)別是:
iptables服務(wù)將配置存儲(chǔ)在/etc/sysconfig/iptables和/etc/sysconfig/ip6tables中,而firewalld將配置存儲(chǔ)在/usr/lib/firewalld/和/etc/firewalld/中的各種XML文件中。
注意,/etc/sysconfig/iptables文件不存在,因?yàn)樵赗ed Hat Enterprise Linux上默認(rèn)安裝了firewalld。
在iptables服務(wù)中,每次更改都意味著刷新所有舊規(guī)則并從/etc/sysconfig/iptables讀取所有新規(guī)則,而在firewalld中不需要重新創(chuàng)建所有規(guī)則。
只應(yīng)用差異。因此,firewalld可以在運(yùn)行時(shí)更改設(shè)置,而不會(huì)丟失現(xiàn)有的連接。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux?docker?neo4j導(dǎo)出方式(windows導(dǎo)入)
在Docker中無法直接停止Neo4j服務(wù)備份,需創(chuàng)建臨時(shí)容器并掛載宿主機(jī)/backup目錄,確保版本一致及權(quán)限設(shè)置,導(dǎo)出文件后退出容器即可在宿主機(jī)備份目錄獲取數(shù)據(jù)2025-08-08
Linux下connect超時(shí)處理(總結(jié))
這篇文章主要介紹了Linux下connect超時(shí)處理(總結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04
如何重置 RHEL7/CentOS7 系統(tǒng)的root密碼
這篇文章主要介紹了如何重置 RHEL7/CentOS7 系統(tǒng)的root密碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02
安裝Ubuntu20.04與安裝NVIDIA驅(qū)動(dòng)的教程
這篇文章主要介紹了安裝Ubuntu20.04,安裝NVIDIA驅(qū)動(dòng)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
Linux使用cd命令之實(shí)現(xiàn)切換目錄的完全指南
這篇文章主要介紹了Linux使用cd命令之實(shí)現(xiàn)切換目錄的完全指南,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
Linux文件系統(tǒng)的創(chuàng)建與掛載方法完整流程
在現(xiàn)代操作系統(tǒng)中,文件系統(tǒng)是數(shù)據(jù)組織、存儲(chǔ)和檢索的核心機(jī)制,Linux?作為一款功能強(qiáng)大且高度靈活的操作系統(tǒng),支持多種文件系統(tǒng)類型,本文將深入探討?Linux?中文件系統(tǒng)的創(chuàng)建與掛載方法,需要的朋友可以參考下2026-03-03

