Juniper EX4200 屏蔽指定端口笔记

Jun 14 2017 技术

最开始配 Juniper 的时候,只是胡乱在网上找了一些别人现成的配置文件,对很多配置的理解并不透彻,这导致在很长的一段时间里面,有几个机柜的网络配置是非常 basic 的,没有发挥EX4200 作为 TOR 的优良特征。 最近想起这个事儿来了,有一个机柜默认全局屏蔽了25端口(邮件发送),这样一来就好坏通杀,想正常发邮件都不行了。于是重新翻阅了 Juniper 的参考文档,取以下部分为笔记:

创建防火墙 filter

不管是要对端口,VLAN 还是 Layer 3 interface 进行限制,都需要创建 filter,然后在filter 中创建匹配规则。 对于端口和 VLAN,设置 family address 类型为 ethernet-switching 即可:

[edit firewall]
[email protected]# set family ethernet-switching

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

[edit firewall]
[email protected]# set family inet

备注:对于 IPv6 的 family address 则为 inet6。可以同时在一个 layer 3 interface 中配置 IPv4 和 IPv6 的 filter。

指定 filter 名称

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

[edit firewall family ethernet-switching]
[email protected]# set filter INPUT-FILTER

指定规则名称

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

[edit firewall family ethernet-switching filter INPUT-FILTER]
[email protected]# set term BLOCK-25-SOURCE

设置匹配

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

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

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

[edit firewall family ethernet-switching filter INPUT-FILTER term BLOCK-25-SOURCE]
[email protected]# 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。

juniper, 屏蔽25端口