Windows cmd 防火墙配置
1. 打开防火墙
netsh advfirewall set allprofiles state on
2. 关闭防火墙
netsh advfirewall set allprofiles state off
1. 删除 (delete) 所有 “名称” 匹配的出入站规则
netsh advfirewall firewall delete rule name="<名称>"
2. add rule /? – 添加规则
D:\>netsh advfirewall firewall add rule /? 用法: add rule name=<string> dir=in|out action=allow|block|bypass [program=<program path>] [service=<service short name>|any] [description=<string>] [enable=yes|no (default=yes)] [profile=public|private|domain|any[,...]] [localip=any|<IPv4 address>|<IPv6 address>|<subnet>|<range>|<list>] [remoteip=any|localsubnet|dns|dhcp|wins|defaultgateway| <IPv4 address>|<IPv6 address>|<subnet>|<range>|<list>] [localport=0-65535|<port range>[,...]|RPC|RPC-EPMap|IPHTTPS|any (default=any)] [remoteport=0-65535|<port range>[,...]|any (default=any)] [protocol=0-255|icmpv4|icmpv6|icmpv4:type,code|icmpv6:type,code| tcp|udp|any (default=any)] [interfacetype=wireless|lan|ras|any] [rmtcomputergrp=<SDDL string>] [rmtusrgrp=<SDDL string>] [edge=yes|deferapp|deferuser|no (default=no)] [security=authenticate|authenc|authdynenc|authnoencap|notrequired (default=notrequired)] 备注: - 将新的入站或出站规则添加到防火墙策略。 - 规则名称应该是唯一的,且不能为 "all"。 - 如果已指定远程计算机或用户组,则 security 必须为 authenticate、authenc、authdynenc 或 authnoencap。 - 为 authdynenc 设置安全性可允许系统动态协商为匹配 给定 Windows Defender 防火墙规则的通信使用加密。 根据现有连接安全规则属性协商加密。 选择此选项后,只要入站 IPsec 连接已设置安全保护, 但未使用 IPsec 进行加密,计算机就能够接收该入站连接的第一个 TCP 或 UDP 包。 一旦处理了第一个数据包,服务器将重新协商连接并对其进行升级,以便所 有后续通信都完全加密。 - 如果 action=bypass,则 dir=in 时必须指定远程计算机组。 - 如果 service=any,则规则仅应用到服务。 - ICMP 类型或代码可以为 "any"。 - Edge 只能为入站规则指定。 - AuthEnc 和 authnoencap 不能同时使用。 - Authdynenc 仅当 dir=in 时有效。 - 设置 authnoencap 后,security=authenticate 选项就变成可选参数。 示例: 为不具有封装的 messenger.exe 添加入站规则: netsh advfirewall firewall add rule name="allow messenger" dir=in program="c:\programfiles\messenger\msmsgs.exe" security=authnoencap action=allow 为端口 80 添加出站规则: netsh advfirewall firewall add rule name="allow80" protocol=TCP dir=out localport=80 action=block 为 TCP 端口 80 通信添加需要安全和加密的入站规则: netsh advfirewall firewall add rule name="Require Encryption for Inbound TCP/80" protocol=TCP dir=in localport=80 security=authdynenc action=allow 为 messenger.exe 添加需要安全的入站规则: netsh advfirewall firewall add rule name="allow messenger" dir=in program="c:\program files\messenger\msmsgs.exe" security=authenticate action=allow 为 SDDL 字符串标识的组 acmedomain\scanners 添加 经过身份验证的防火墙跳过规则: netsh advfirewall firewall add rule name="allow scanners" dir=in rmtcomputergrp=<SDDL string> action=bypass security=authenticate 为 udp- 的本地端口 5000-5010 添加出站允许规则 Add rule name="Allow port range" dir=out protocol=udp localport=5000-5010 action=allow
Ⅰ. 程序
netsh advfirewall firewall add rule name="<名称>" dir=<in | out> program="<程序路径>" action=<allow | block>
< in | out > : <入站 | 出站>
< allow | block > : <允许 | 禁止>
Ⅱ. 端口 (localport)
netsh advfirewall firewall add rule name="<名称>" dir=<in | out> protocol=<TCP | UDP> localport=<端口> action=<allow | block>
四、本地端口转发
netsh interface portproxy add <v4tov4> listenaddress=[本地地址] listenport=<本地端口> connectaddress=<远程地址> connectport=<远程端口>
解释:将所有发送到 <本地地址:端口> 的请求,转发到 <远程地址:远程端口>,默认转发 TCP 协议。
# 例 —— 将所有发送到本机 80 端口的请求转发到 443 端口:
netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=443
————————————————
本文为 one-ccs 原创文章,引用必须注明出处!
原文链接:https://blog.csdn.net/qq_43155814/article/details/111709638