首页 > 系统相关 >Windows 防火墙中设置规则以拒绝所有流量,但允许特定 IP 通过

Windows 防火墙中设置规则以拒绝所有流量,但允许特定 IP 通过

时间:2024-03-25 19:44:06浏览次数:28  
标签:设置 Windows IP 防火墙 出站 Allow 规则

在 Windows 防火墙中设置规则以拒绝所有流量,但允许特定 IP 通过,可以通过以下步骤进行设置:

  1. 打开控制面板

    • 点击“开始”按钮,然后输入“控制面板”并按回车键。
  2. 打开 Windows Defender 防火墙

    • 在控制面板中,找到并点击“系统和安全” > “Windows Defender 防火墙”。
  3. 设置高级设置

    • 在左侧菜单中,点击“高级设置”。
  4. 配置出站规则

    • 在左侧菜单中,点击“出站规则”。
  5. 创建新规则

    • 在右侧的操作窗格中,点击“新建规则”。
  6. 选择规则类型和方向

    • 在“规则类型”下拉菜单中选择“程序”。
    • 在“方向”下拉菜单中选择“出站”。
  7. 配置规则

    • 在“程序”设置中,选择“此程序路径”并浏览找到要允许的程序(这里选择所有程序)。
    • 在“操作”下拉菜单中选择“允许连接”。
    • 在“配置文件”下拉菜单中选择要应用规则的配置文件(如“公共”、“私有”、“域”或“混合”)。
  8. 设置例外

    • 在“例外设置”中,选择“IP地址”和“子网掩码”。
    • 在“IP地址”框中输入允许的 IP 地址(例如 192.168.2.254),在“子网掩码”框中输入 255.255.255.255。
  9. 应用规则

    • 点击“完成”以保存新创建的规则。

请注意,如果想要拒绝所有流量,除了特定 IP,则不需要创建新的出站规则。Windows 防火墙默认会阻止所有出站连接,除非有特定的规则允许它们。

如果需要,你还可以为入站流量创建一个类似的规则,以允许特定 IP 的入站连接。

以上步骤可能会因 Windows 版本的不同而有所差异,但总体上应该类似。如果你在使用过程中遇到困难,可以查阅 Windows 防火墙的官方文档或寻求技术支持。


在 PowerShell 中,你可以使用 New-NetFirewallRule 命令来创建防火墙规则。以下是一个 PowerShell 脚本示例,它将创建一个规则,拒绝所有出站连接,但允许来自 IP 地址 192.168.2.254 的流量:

powershell 复制
# 设置允许的IP地址
$AllowedIP = "192.168.2.254"

# 创建防火墙规则,拒绝所有出站连接
New-NetFirewallRule -DisplayName "Deny All Outgoing" -Direction Outbound -Action Block -Protocol * -LocalPort * -RemoteIP $AllowedIP

# 允许特定IP的出站连接
New-NetFirewallRule -DisplayName "Allow Specific IP Outgoing" -Direction Outbound -Action Allow -Protocol * -LocalPort * -RemoteIP $AllowedIP

这个脚本将创建两个规则:

  1. Deny All Outgoing:拒绝所有出站连接。
  2. Allow Specific IP Outgoing:允许来自特定 IP 地址(192.168.2.254)的出站连接。

请确保在运行此脚本之前,你已经具有足够的权限来修改防火墙设置。你可能需要以管理员身份运行 PowerShell。

此外,请注意,这个脚本可能需要根据你的具体网络环境和需求进行调整。如果你想要拒绝所有流量,除了特定 IP,你可能需要考虑其他网络层的设置,比如在路由器上设置 ACL(访问控制列表)或使用其他网络管理工具来实现这一目标。


在 Windows 防火墙中,规则的顺序很重要。Deny 规则会优先于 Allow 规则执行。这意味着,如果你首先设置了拒绝所有流量的规则,那么即使你随后设置了允许特定流量的规则,这些流量也可能因为之前的 Deny 规则而被阻止。

为了确保特定流量能够通过,你需要确保 Allow 规则位于 Deny 规则之前。此外,你还需要确保 Allow 规则的 DisplayName 是唯一的,因为 DisplayName 用于标识规则,并且每个规则的 DisplayName 必须是唯一的。

以下是一个 PowerShell 脚本示例,它将创建一个规则,拒绝所有出站连接,但允许来自 IP 地址 192.168.2.254 的流量:

powershell 复制
# 设置允许的IP地址
$AllowedIP = "192.168.2.254"

# 创建允许特定IP的出站连接规则,并将其置于拒绝规则之前
New-NetFirewallRule -DisplayName "Allow Specific IP Outgoing" -Direction Outbound -Action Allow -Protocol * -LocalPort * -RemoteIP $AllowedIP | Set-NetFirewallRule -Priority 100

# 创建拒绝所有出站连接的规则,但优先级低于允许特定IP的规则
New-NetFirewallRule -DisplayName "Deny All Outgoing" -Direction Outbound -Action Block -Protocol * -LocalPort * -RemoteIP $AllowedIP | Set-NetFirewallRule -Priority 200

在这个脚本中,我们首先创建了一个 Allow 规则,并将其优先级设置为 100。然后,我们创建了一个 Deny 规则,但其优先级设置为 200,低于 Allow 规则。这样,即使所有其他出站流量都被拒绝,来自 192.168.2.254 的流量仍然会被允许。

请确保在运行此脚本之前,你已经具有足够的权限来修改防火墙设置。你可能需要以管理员身份运行 PowerShell。

此外,请注意,这个脚本可能需要根据你的具体网络环境和需求进行调整。如果你对网络设置不熟悉,建议咨询网络管理员或进行更深入的研究。


 

标签:设置,Windows,IP,防火墙,出站,Allow,规则
From: https://www.cnblogs.com/suv789/p/18095151

相关文章

  • ISOLAR Autosar BSW 配置 之 TcpIp
    5.TcpIp5.1TcpIpGeneralTcplpDevErrorDetect  开发错误检测和通知;TcplpGetAndResetMeasurementDataApi  允许应用程序获取以太网接口当前的测量数据,并将这些数据重置为初始值。TcplpMainFunctionPeriod  任务调度周期TcplpScalabilityClass  协议栈......
  • 防火墙、IDS与IPS
    防火墙防火墙可以实现内部网络(信任网络)与外部不可信任网络(Internet)之间或是内部网络不同区域隔离与访问控制防火墙技术与分类:包过滤、状态化防火墙、应用层网关、应用层DPI 根据网络的安全信任程度和需要保护的对象,认为划分若干个安全区域:本地区域(Local):防火......
  • 将一个Windows系统备份成ISO文件,您可以遵循以下步骤
    将一个Windows系统备份成ISO文件,您可以遵循以下步骤:使用Windows内置工具制作ISO映像准备源文件:首先,您需要找到Windows安装媒体的ISO文件。如果您没有现成的ISO文件,可以从Microsoft官方网站下载Windows10或Windows11的ISO文件。提取ISO内容:将ISO文件复制到一个文件夹中,例如D盘上......
  • 如何理解TCP/IP协议?
    一、是什么TCP/IP,传输控制协议/网际协议,是指能够在多个不同网络间实现信息传输的协议簇TCP(传输控制协议)一种面向连接的、可靠的、基于字节流的传输层通信协议IP(网际协议)用于封包交换数据网络的协议TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、U......
  • 【白嫖无废话-秒懂javascript基础知识-免费持续更新】
    一、js须知的概念js是一门事件驱动型的编程语言,依靠事件去驱动,然后执行对应的程序。(一)JS中的事件在JS中有很多事件,其中有一个事件叫做:鼠标单击,单词:click。并且任何事件都会对应一个事件句柄叫做:onclick。注意:事件和事件句柄的区别是事件句柄是事件单词前加on而且事件......
  • JavaScript初识及基本语法详解
    JavaScript是一种轻量级的编程语言,它可以在网页中嵌入,用来控制网页的动态效果和用户交互。JavaScript是所有现代网页浏览器都支持的脚本语言,它可以让网页变得“活”起来,实现各种复杂的功能。JavaScript的基本语法JavaScript的语法基础与Java语言类似,但它是解释型语言,不需......
  • JavaScript 基础 - 第1天
     了解变量、数据类型、运算符等基础概念,能够实现数据类型的转换,结合四则运算体会如何编程。体会现实世界中的事物与计算机的关系理解什么是数据并知道数据的分类理解变量存储数据的“容器”掌握常见运算符的使用,了解优先级关系知道JavaScript数据类型隐式转......
  • 【ARM版银河麒麟源码编译安装开源混合整数规划器SCIP和PySCIPOpt】
    ARM版银河麒麟修炼之路第一章ARM版银河麒麟源码编译安装开源混合整数规划器SCIP和PySCIPOpt文章目录ARM版银河麒麟修炼之路前言一、本机软硬件配置二、编译环境搭建1.添加Ubuntu20.04apt源2.apt安装依赖库3.源码编译安装其它依赖库1.安装metis2.安装LAPACK3.安装GMP......
  • Windows System Assessment Tool(WinSAT)是Windows操作系统中的一个工具,用于评估和测量
    您可以使用winsat命令来运行性能评分测试程序,也就是WindowsExperienceIndex(Windows体验指数)测试。这个测试程序能够评估您计算机的性能,并为各个硬件组件打分,最终得出一个综合的基准分数。WindowsSystemAssessmentTool(WinSAT)最早出现在WindowsVista操作系统中。它是由......
  • 高性能JavaScript——6、快速响应的用户界面
    大多数浏览器让一个单线程共用于执行JavaScript和更新用户界面。每个时刻只能执行其中一种操作,这意味着当JavaScript代码正在执行时用户界面无法响应输入,反之亦然。当JavaScript代码执行时,用户界面处于“锁定”状态。管理好JavaScript的运行时间对Web应用的性能非常重要。......