在H3C设备上限制服务器访问公网,最直接的做法就是在接入或汇聚交换机上用ACL封锁目标IP,或者在出口防火墙上配置基于安全域的拒绝策略,两者都能快速掐断服务器外联通道。
限制服务器访问公网,先搞懂你的控制点在哪里
在很多园区网和机房场景里,服务器并不是都应该出外网,比如办公内网服务器只负责数据交换,被入侵后如果还能主动外连,就会成为数据泄密的跳板,据工信部近年来发布的网络安全情况通报,相当一部分内网失窃事件都源于服务器被植入后门后主动外连,限制不是一刀切,而是要把控制点选对。
控制点通常有三个位置:
- 接入服务器的接入交换机:适合限制单台或同VLAN内的服务器;
- 汇聚层核心交换机:适合按业务网段统一管控;
- 出口防火墙或路由器:适合做整体边界策略,同时不影响内网互访。
行业共识认为,对于有独立防火墙的出口,优先在防火墙上做策略,因为防火墙有会话状态和日志记录,能看清每一次被拦截的尝试,如果拓扑里少防护墙这一层,再在交换机上用ACL兜底。
| 控制点 | 优点 | 缺点 | 典型设备 |
|---|---|---|---|
| 接入交换机 | 精确到单台服务器 | 规则数量多时影响转发 | S5130、S5560 |
| 汇聚交换机 | 覆盖整个网段 | 无法记录攻击日志 | S7500系列 |
| 出口防火墙 | 有日志、有会话状态 | 需要额外硬件 | SecPath F系列 |
| 路由器 | 可与NAT联动 | 配置相对复杂 | MSR系列 |
h3c交换机怎么禁止服务器访问外网:ACL实操
如果你没有防火墙,或者想让服务器从交换机这一层就断掉外网,ACL是最常用的办法,H3C交换机的包过滤功能可以针对VLAN、接口或全局方向生效,配置思路分三步。
第一步:确认服务器所在的VLAN和网段
先登录交换机,把连着服务器的接口或VLAN摸清楚,常用命令:
- display vlan
- display interface brief
看到服务器所在VLAN号(比如Vlan 10)和网段(比如192.168.10.0/24)后,后面写ACL就直接引用这个源地址。
第二步:创建ACL并写明拒绝规则
H3C交换机上常写高级ACL来精准匹配源IP和任意目标:
acl number 3000 rule 5 deny ip source 192.168.10.10 0 rule 10 deny ip source 192.168.10.0 0.0.0.255 quit
第一条拒绝单台服务器的所有IP流量,第二条拒绝整个网段,注意,ACL匹配到后就不再看后续规则,所以要把更具体的规则放在前面。
如果你只想封禁某些危险端口,比如防止服务器主动向外弹shell,可以换成:
rule 5 deny tcp source 192.168.10.0 0.0.0.255 destination-port eq 4444 rule 10 deny tcp source 192.168.10.0 0.0.0.255 destination-port eq 6666
第三步:把ACL绑定到入方向
在服务器接入的VLAN接口上应用,并选择inbound方向:
int vlan 10 packet-filter 3000 inbound quit
这时服务器发往外网的所有流量都会被丢弃,但它向内网其他设备发送的请求也会被一并拦掉,如果你只想禁止出公网,而不影响内网互访,可以改用目的地址匹配公网网段的ACL,或者把包过滤下发到上行接口的outbound方向。
要区分清楚:H3C交换机上的ACL是CPU转发前匹配,如果业务量很大,放太多规则会影响转发性能,所以几百条大规模封禁不推荐在交换机上做,尽量收敛到防火墙。
进阶:用防火墙策略做到精细化放行和拒绝
出口防火墙是控制服务器访问公网最丝滑的地方,h3c防火墙限制内网服务器访问互联网时,可以用安全策略替代老旧的域间包过滤,它更直观、也更好排错。
创建安全域并划分接口
假设服务器接在防火墙的GigabitEthernet1/0/1,外网口是G1/0/0,先把接口划到不同安全域:
firewall zone trust add interface GigabitEthernet1/0/1 quit firewall zone untrust add interface GigabitEthernet1/0/0 quit
如果有多个服务器的VLAN,可以先建好地址组,再写策略。
配置一条拒绝优先的策略
security-policy ip rule name deny-server-to-internet source-zone trust destination-zone untrust source-address 192.168.10.0 24 action drop quit
这条策略会丢弃从服务器网段发往公网的所有流量,注意,H3C防火墙安全策略匹配顺序通常是先到先得,所以要把这条拒绝规则放在放行规则之前,不然会在后门被放行。
如果再搭配NAT控制,效果会更好,服务器网段在防火墙做地址转换时,你可以用NAT的ACL只让指定内网网段转换出去,其他网段即使能到防火墙,也因为找不到NAT规则而无法访问公网,这就形成了双层保险。
如何区分“访问”和“被访问”
- 限制服务器主动访问公网:重点控制源地址为服务器的流量。
- 限制公网访问服务器:控制目的地址为服务器的入站流量,两者方向不同,策略别写混。
比ACL更彻底:用黑洞路由把外联请求丢进空口
如果不想在防火墙上堆策略,也不想在交换机上配一堆ACL,还有一种很冷门的硬核方法:在核心交换机或路由器上给需要封禁的服务器IP写一条指向NULL 0的静态路由,因为NULL接口是永远丢弃的,任何匹配这条路由的数据包都会被直接扔出去,对CPU几乎零负担。
配置方法很简洁:
ip route-static 192.168.10.10 32 NULL 0 preference 60
这样即使服务器手动配置了网关,它发往任何外网的包都会被核心设备发现“下一跳是空口”,然后默默消失,如果整个网段全部封禁,写成:
ip route-static 192.168.10.0 24 NULL 0
这条思路的好处是不受ACL规则数量限制,也不影响同网段内部互访,因为内部通信不走网关,但要注意,黑洞路由更适合完全封禁,做不到“只放行443端口”这种精细控制。
h3c路由器限制服务器访问公网的配置差异
如果是H3C路由器(比如MSR系列),除了黑洞路由,你更常看到的是在接口下直接做包过滤,思路和交换机类似,但路由器上ACL的应用位置更灵活:
int GigabitEthernet0/0 packet-filter 3000 outbound
outbound方向表示路由器从这个口往外发的数据包要过滤,适合拦在服务器上网的出口处,很多人容易把方向搞反,记住一条:看数据包飞行的方向,而不是看你登录设备后敲命令的方位。
该怎么样判断限网范围:业务需求与安全之间的平衡
限制服务器访问公网,不是越狠越好,大多数情况下,服务器需要定期打补丁、同步时间、上传日志,或者调用云上的API,如果全封死,补丁事务下不来,系统漏洞就会越来越危险,业内专家指出,合理的做法是给服务器开一条“窄门”,只允许访问白名单中的更新服务器和许可证服务器。
具体操作步骤大致是:
- 在防火墙上创建“允许列表”地址组,填入需要放行的公网IP和端口;
- 写一条安全策略,源地址为服务器网段,目的地址为白名单组,动作放行;
- 再写一条默认拒绝策略,把所有其他去往untrust域的动作都设为deny;
- 开启会话日志,连续观察一周,看有没有业务误伤。
现在的H3C防火墙都支持安全策略自动排序,可以把白名单策略置于拒绝策略之前,如果你用的是交换机ACL,也可以用高级ACL只放行某些目的地址。
推荐的白名单类型:
- 系统更新源:Windows Update、RedHat/CentOS官方源;
- 时间同步服务器:NTP域名;
- 日志服务器:如果需要外发日志;
- 许可证服务器:部分商业软件要求定时校验授权。
h3c限制服务器访问公网常见问题排查
配置过程中翻车是常有的事,下面这几个问题几乎每个人都会遇到。
明明配了ACL,服务器还是能上网,为什么?
先检查ACL是否下发到了正确的接口,很多H3C交换机在VLAN接口和物理接口都能做包过滤,如果服务器流量不经过你下发过滤的那个VLAN,自然拦不住,检查ACL是inbound还是outbound:在VLAN接口上做inbound,拦的是其他设备转发进这个VLAN的流量;在物理接口上做outbound,拦的是从这个端口发出的流量,方向反了就不起作用。
还有一个隐蔽原因:如果服务器和网关之间还有一台小交换机,你可能把ACL下发到了错误的汇聚口,用display packet-filter命令查看所有接口的过滤状态,能帮你快速定位。
想要服务器访问外网的特定数据库,怎么做?
不要直接放行所有公网,而是把访问限制在数据库服务器的IP和端口上,用高级ACL只允许源IP和目的IP匹配端口,比如允许服务器访问202.106.10.20的TCP 1521端口(Oracle常用端口),规则这样写:
acl number 3000 rule 5 permit tcp source 192.168.10.10 0 destination 202.106.10.20 0 destination-port eq 1521 quit
然后继续在接口上应用,并确保后面有一条deny ip any any,这样服务器只能去连这个数据库端口,连不了别的公网服务。
内网服务器通过NAT访问公网,限制策略应该写在NAT之前还是之后?
在防火墙上,安全策略的执行顺序先于NAT,也就是说,先看安全策略是否放行,再做地址转换,如果你在安全策略上把服务器到公网的流量deny掉了,无论NAT规则里有没有包含这个网段,它都出不去,反过来,如果安全策略放行了但NAT没匹配,流量同样到不了公网,所以最佳做法是:把ACL、NAT、安全策略三者的规则都保持同方向,并且让服务器网段要么不进入NAT池,要么在安全策略中被明确deny,这样才不会有漏网之鱼。
回到开头那句话:H3C限制服务器访问公网,本质上就是在“服务器流量出门的路上拉一道闸”,闸放在交换机上是ACL,放在防火墙上是安全策略,放在路由器上是黑洞路由,没有标准答案,只有最适合你拓扑的做法,先把控制点定好,再按业务需求写精准规则,就能在安全和可用性之间找到平衡点。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/750880.html





