Post

如何使用Netsh命令配置Windows防火墙规则:封禁IP、端口与MTU设置

2026-04-24

概述

Netsh 是 Windows 系统中用于配置网络设置的命令行工具,特别适用于管理防火墙规则和调整网络接口参数。通过 Netsh,用户可以封禁特定 IP 地址或端口的入站/出站流量,查看现有规则,并调整 MTU(最大传输单元)等网络参数。本文将详细介绍 Netsh 的常用命令及其应用场景。

核心概念

Netsh(Network Shell)是 Windows 提供的命令行工具,用于配置和管理网络相关设置,包括防火墙规则、接口参数等。其功能覆盖了从基础的网络配置到高级的安全策略管理,是系统管理员和开发者进行网络调试和安全加固的重要工具。Windows防火墙配置 是其核心应用场景之一。

工作原理

Netsh 通过与 Windows 的网络服务(如 Windows Firewall)交互,动态修改网络配置。用户通过命令行输入指令,Netsh 解析后执行相应的操作,如添加防火墙规则或调整接口参数。这些更改会立即生效,并且可以通过持久化存储确保重启后仍保留。

使用方法

Netsh 提供了多种命令来管理防火墙规则和网络参数。以下是一些常用命令:

  • 封禁入站 IP

    1netsh advfirewall firewall add rule name="{name}" dir=in action=block protocol=TCP remoteip={remote_ip}
    
  • 封禁出站 IP

    1netsh advfirewall firewall add rule name="{name}" dir=out action=block protocol=TCP remoteip={remote_ip}
    
  • 封禁入站端口

    1netsh advfirewall firewall add rule name="{name}" dir=in action=block protocol=TCP localport={local_port}
    
  • 封禁出站端口

    1netsh advfirewall firewall add rule name="{name}" dir=out action=block protocol=TCP remoteport={remote_port}
    
  • 查看所有规则

    1netsh advfirewall firewall show rule name=all
    
  • 设置 MTU

    1netsh interface ipv4 set subinterface 'network name' mtu=1445 store=persistent
    

示例

假设需要封禁 IP 地址 192.168.1.100 的入站流量,可以执行以下命令:

1netsh advfirewall firewall add rule name="Block IP 192.168.1.100" dir=in action=block protocol=TCP remoteip=192.168.1.100

若需调整某网络接口的 MTU 值为 1445,可使用:

1netsh interface ipv4 set subinterface "Ethernet" mtu=1445 store=persistent

常见问题

在使用 Netsh 时,需注意以下几点:

  1. 权限问题:执行 Netsh 命令需要管理员权限,否则可能无法成功修改防火墙规则。
  2. 规则名称唯一性:添加规则时,名称应唯一,避免重复规则导致配置冲突。
  3. MTU 设置影响:调整 MTU 可能影响网络性能,需根据实际网络环境测试后确定最佳值。
  4. 持久化存储:使用 store=persistent 参数确保配置在重启后仍然有效。

总结

Netsh 是 Windows 系统中强大的网络配置工具,通过其丰富的命令集,用户可以灵活管理防火墙规则和网络参数。掌握 Netsh 的基本用法,有助于提升网络管理和安全配置的效率。

相关来源