批量增加防火墙入站规则

环境:Win10

需求:每个端口单独增加一条入站规则

方案:使用脚本批量增加规则

脚本

@echo off & setlocal enabledelayedexpansion
REM 服务器别名
set server_alias=135

REM 端口列表
set port_list=9922,8090

REM 实测入站规则的作用域(远程地址)是有长度限制的,所以IP如果比较多,可分为多组
set ip_list_1=192.168.1.1,192.168.1.2,192.168.1.3
set ip_list_2=192.168.1.4,192.168.1.5,192.168.1.6

REM 调用add_rule_batch模块
call :add_rule_batch
goto :eof


REM 定义add_rule_batch模块
:add_rule_batch
for /f "tokens=1,* delims=," %%i in ("!port_list!") do (
    set rule_name1=%server_alias%端口白名单-%%i-1
    echo 正在删除入站规则:!rule_name1!
    netsh advfirewall firewall delete rule name="!rule_name1!"
    netsh advfirewall firewall add rule name="!rule_name1!" dir=in action=allow protocol=TCP localport=%%i enable=yes profile=domain,private,public remoteip=!ip_list_1!
    echo=
    
    set rule_name2=%server_alias%端口白名单-%%i-2
    echo 正在删除入站规则:!rule_name2!
    netsh advfirewall firewall delete rule name="!rule_name2!"
    netsh advfirewall firewall add rule name="!rule_name2!" dir=in action=allow protocol=TCP localport=%%i enable=yes profile=domain,private,public remoteip=!ip_list_2!
    echo=
    
    set port_list=%%j
    goto add_rule_batch
)
goto :eof

实测效果图:两个端口,两组IP列表

**************************************************

Linux脚本(使用iptables):

# 禁用
iptables -I INPUT -p tcp --dport 1521 -j DROP

# 单IP
iptables -I INPUT -s 192.168.10.0 -p tcp --dport 1521 -j ACCEPT

# 多IP
iptables -I INPUT -s 192.168.10.49,192.168.10.33 -p tcp --dport 54321 -j ACCEPT

# 掩码
iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 1521 -j ACCEPT

# IP段
iptables -I INPUT -m iprange --src-range 192.168.10.0-192.168.10.255 -p tcp --dport 1521 -j ACCEPT

# 指定网卡
iptables -I INPUT -s 192.168.10.0 -p tcp -i eno1 --dport 1521 -j ACCEPT

# 指定目的IP
iptables -I INPUT -s 192.168.10.0 -p tcp -d 192.168.10.1 --dport 1521 -j ACCEPT

# 多个端口(连续)
iptables -I INPUT -s 192.168.10.0 -p tcp --dport 65530:65535 -j ACCEPT

# 多个端口(不连续)
iptables -I INPUT -s 192.168.10.0 -p tcp -m multiport --dport 65530:65535,1521,2181 -j ACCEPT

Linux脚本(使用firewall-cmd):

#!/bin/bash
file="ip-list.txt"
ZONE=public
 
if [ -f "$file" ]; then
	while IFS= read -r IP; do
		# 需要替换掉换行符
        IP=${IP//\n/}
		IP=${IP//\r/}
		IP=$(echo -n "$IP" | tr -d '\n')
		IP=$(echo -n "$IP" | tr -d '\r')
        # 去掉收尾空格
        IP=`echo $IP | xargs`
		echo "$IP"
		# 移除
		# firewall-cmd --permanent --zone=public --remove-source=$IP
		firewall-cmd --permanent --zone=$ZONE --add-rich-rule="rule family="ipv4" source address="$IP" port protocol="tcp" port="54321" accept"
	done < "$file"
	
	firewall-cmd --reload
    echo "添加完成"
else
	echo "文件 $file 不存在"
fi

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Excel中,我们可以使用不同的方法来实现批量增加字符。 方法一:使用公式 1. 在需要增加字符的单元格中,输入第一个单元格的字符。 2. 选中该单元格,鼠标移至右下角变为黑十字,双击鼠标左键,将公式自动拖动应用到其他相邻的单元格。此时,Excel会自动识别出你需要的增加字符的规律。 方法二:使用填充功能 1. 在需要增加字符的单元格中,输入第一个单元格的字符。 2. 选中该单元格,点击“开始”选项卡的“填充”按钮,弹出下拉菜单。 3. 在下拉菜单中选择“系列”,弹出“序列”对话框。 4. 在“序列”对话框中,设置增加字符的规则,如逐步增加、固定增加、根据日期增加等。 5. 点击“确定”按钮,将规则应用到其他相邻的单元格,即可实现批量增加字符。 方法三:使用宏 1. 打开Excel的”开发工具“选项卡,点击“Visual Basic”按钮,打开VBA编辑器。 2. 在VBA编辑器中,输入以下代码: Sub AddCharacter() Dim cell As Range For Each cell In Selection cell.Value = "增加的字符" & cell.Value Next cell End Sub 3. 点击“运行”按钮或按下快捷键F5,运行宏。 4. 在Excel工作表中,选择需要增加字符的单元格范围,运行宏,即可批量增加字符。 总结:以上是三种常用的方法,分别是使用公式、使用填充功能以及使用宏来实现批量增加字符。你可以根据实际情况选择合适的方法来完成任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wsdhla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值