Juniper EX4200屏蔽指定端口笔记

in 技术 with 0 comment

最开始配Juniper的时候,只是胡乱在网上找了一些别人现成的配置文件,对很多配置的理解并不透彻,这导致在很长的一段时间里面,有几个机柜的网络配置是非常minimal的,没有发挥EX4200作为TOR的优良特征。

最近想起这个事儿来了,有一个机柜默认全局屏蔽了25端口(邮件发送),这样一来就好坏通杀,想正常发邮件都不行了。于是重新翻阅了Juniper的参考文档,取以下部分为笔记:

创建防火墙filter

不管是要对端口,VLAN还是Layer 3 interface进行限制,都需要创建filter,然后在filter中创建匹配规则。

对于端口和VLAN,设置family address类型为 ethernet-switching 即可:

[edit firewall]
user@switch# set family ethernet-switching

对于Layer 3 interface,则设置family address为 inet:

[edit firewall]
user@switch# set family inet

指定filter名称

给filter取名,最好是取得有意义一点,能够在review的时候看懂是用作什么用途,我的习惯是根据进流量和出流量命名:

[edit firewall family ethernet-switching]
user@switch# set filter INPUT-FILTER

指定规则名称

给规则取名,一个filter可以有多个规则:

[edit firewall family ethernet-switching filter INPUT-FILTER]
user@switch# set term BLOCK-25-SOURCE

设置匹配

这里可以操作的事情就很多了,比如屏蔽端口,屏蔽IP地址等:

[edit firewall family ethernet-switching filter INPUT-FILTER term BLOCK-25-SOURCE]
user@switch# set from source-port 25

设定了匹配规则,当然还要设置匹配的操作

[edit firewall family ethernet-switching filter INPUT-FILTER term BLOCK-25-SOURCE]
user@switch# set then discard

参考配置

firewall {                              
    family ethernet-switching {         
        filter INPUT-FILTER {           
            term BLOCK-25-SOURCE {      
                from {                  
                    source-port 25;     
                }                       
                then {                  
                    discard;            
                    count BLOCK-25-SOURCE;
                }                       
            }                           
            term BLOCK-25-DEST {        
                from {                  
                    destination-port 25;
                }                       
                then {                  
                    discard;            
                    count BLOCK-25-DEST;
                }                       
            }                           
            term ACCEPT {               
                then accept;            
            }                           
        }                               
        filter OUTPUT-FILTER {          
            term BLOCK-25-SOURCE {      
                from {                  
                    source-port 25;     
                }                       
                then {                  
                    discard;            
                    count BLOCK-25-SOURCE;
                }                       
            }                           
            term BLOCK-25-DEST {        
                from {                  
                    destination-port 25;
                }                       
                then {                  
                    discard;            
                    count BLOCK-25-DEST;
                }                       
            }                           
            term ACCEPT {               
                then accept;            
            }                           
        }                               
    }                                   
}

将规则应用到端口、VLAN或者Layer 3 interface

只需要在对应的配置规则中引入filter,即:

filter {                
   input INPUT-FILTER; 
   output OUTPUT-FILTER;
}

端口和VLAN对应的是 ethernet-switching, Layer 3 interface 对应的则是 inet。

Responses