Ad Widget

Collapse

New template for Juniper firewalls

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • limo
    Senior Member
    • Dec 2004
    • 192

    #1

    New template for Juniper firewalls

    This template is for Juniper SSG and SRX series. It uses SNMP and autodiscovery to discover network interfaces, tunnels, policies and more things.
    Thanks to Pavel Hofer for excelent work! We use this template without any problems on SSG550m.

    Do not forget to import all needed mibs before using. And you have to set macro {$SNMP_COMMUNITY} to your local community.
    Attached Files
  • jdgs
    Junior Member
    • Feb 2016
    • 14

    #2
    Hello,

    Please forgive me, I am new to Zabbix, and SNMP in general. When I try to use the template on ISG1000, in Zabbix nothing seems to happen with the host, even though enabled (stays grey). Log as follows:

    1082:20160309:104838.075 unmatched trap received from "UDP:": 20160309.104836 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1066:20160309:104906.528 item "DC-FW02:nsResCpuAvg" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-RESOURCE-MIB::nsResCpuAvg.0".
    1066:20160309:104906.528 item "DC-FW02:nsResMemAllocate" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-RESOURCE-MIB::nsResMemAllocate.0".
    1066:20160309:104906.528 item "DC-FW02:nsResMemLeft" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-RESOURCE-MIB::nsResMemLeft.0".
    1066:20160309:104906.528 item "DC-FW02:nsResSessAllocate" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-RESOURCE-MIB::nsResSessAllocate.0".
    1082:20160309:105337.235 unmatched trap received from "UDP:": 20160309.105336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1082:20160309:105338.235 unmatched trap received from "UDP:": 20160309.105336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1082:20160309:105836.303 unmatched trap received from "UDP:": 20160309.105835 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1082:20160309:105837.304 unmatched trap received from "UDP:": 20160309.105836 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1057:20160309:105919.628 executing housekeeper
    1057:20160309:105937.213 housekeeper [deleted 107791 hist/trends, 0 items, 0 events, 0 sessions, 0 alarms, 0 audit items in 17.583816 sec, idle for 1 hour(s)]
    1065:20160309:110007.056 item "DC-FW02:nsIfName" became not supported: Invalid SNMP OID: cannot parse expression.
    1065:20160309:110007.056 item "DC-FW02:nsPlyId" became not supported: Invalid SNMP OID: cannot parse expression.
    1065:20160309:110007.056 item "DC-FW02:nsVpnMonIndex" became not supported: Invalid SNMP OID: cannot parse expression.
    1065:20160309:110007.056 item "DC-FW02:nsResSessMaxium" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-RESOURCE-MIB::nsResSessMaxium.0".
    1065:20160309:110007.056 item "DC-FW02:nsSetGenHostName" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-SET-GEN-MIB::nsSetGenHostName.0".
    1065:20160309:110007.056 item "DC-FW02:nsSetGenLicInfo" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-SET-GEN-MIB::nsSetGenLicInfo.0".
    1065:20160309:110007.057 item "DC-FW02:nsSetGenSwVer" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-SET-GEN-MIB::nsSetGenSwVer.0".
    1082:20160309:110337.011 unmatched trap received from "UDP:": 20160309.110336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1082:20160309:110338.011 unmatched trap received from "UDP:": 20160309.110336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1082:20160309:110836.877 unmatched trap received from "UDP:": 20160309.110835 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1082:20160309:110837.881 unmatched trap received from "UDP:": 20160309.110836 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1065:20160309:111217.883 item "DC-FW02:nsResCpuAvg" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-RESOURCE-MIB::nsResCpuAvg.0".
    1065:20160309:111217.883 item "DC-FW02:nsResMemAllocate" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-RESOURCE-MIB::nsResMemAllocate.0".
    1065:20160309:111217.883 item "DC-FW02:nsResMemLeft" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-RESOURCE-MIB::nsResMemLeft.0".
    1065:20160309:111217.883 item "DC-FW02:nsResSessAllocate" became not supported: snmp_parse_oid(): cannot parse OID "NETSCREEN-RESOURCE-MIB::nsResSessAllocate.0".
    1082:20160309:111337.499 unmatched trap received from "UDP:": 20160309.111336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1082:20160309:111338.499 unmatched trap received from "UDP:": 20160309.111336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1082:20160309:111837.677 unmatched trap received from "UDP:": 20160309.111836 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    1082:20160309:111838.677 unmatched trap received from "UDP:": 20160309.111836 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
    Hope you can help.

    Thanks

    Comment

    • limo
      Senior Member
      • Dec 2004
      • 192

      #3
      You need to import SNMP mibs for Juniper devices.
      Download MIBs from juniper site and look to http://www.net-snmp.org/wiki/index.p...d_loading_MIBS how to install them.

      Comment

      • jdgs
        Junior Member
        • Feb 2016
        • 14

        #4
        Hello,

        I followed the guide re the mibs:

        I have the following structure:

        /usr/share/mibs/ietf (MIBS in here)
        /usr/share/mibs/iana (MIBS in here)

        I placed the netscreen 6.3 mibs in the ietf folder.

        When I run
        snmptranslate -Dinit_mib .1.3 2>&1 |grep MIBDIR
        I get the result:
        init_mib: Seen MIBDIRS: Looking in '/usr/share/mibs' for mib dirs ...
        Following the guide, command
        snmptranslate -IR -On nsIfName
        gives result
        Unknown object identifier: nsIfName
        If I try to target MIB, with
        snmptranslate -m +NS-INTERFACE.mib -IR -On nsIfName
        I get
        Unknown object identifier: nsIfName
        However, if I specify full file path,
        snmptranslate -m "/usr/share/mibs/ietf/NS-INTERFACE.mib" -IR -On nsIfName
        I get
        MIB search path: /usr/share/mibs
        Cannot find module (NETSCREEN-SMI): At line 10 in /usr/share/mibs/ietf/NS-INTERFACE.mib
        Cannot find module (SNMPv2-TC): At line 14 in /usr/share/mibs/ietf/NS-INTERFACE.mib
        Did not find 'netscreenInterface' in module #-1 (/usr/share/mibs/ietf/NS-INTERFACE.mib)
        Did not find 'DisplayString' in module #-1 (/usr/share/mibs/ietf/NS-INTERFACE.mib)
        Did not find 'PhysAddress' in module #-1 (/usr/share/mibs/ietf/NS-INTERFACE.mib)
        Unlinked OID in NETSCREEN-INTERFACE-MIB: nsIfMonTable ::= { netscreenInterface 4 }
        Undefined identifier: netscreenInterface near line 570 of /usr/share/mibs/ietf/NS-INTERFACE.mib
        Unlinked OID in NETSCREEN-INTERFACE-MIB: nsIfFlowTable ::= { netscreenInterface 3 }
        Undefined identifier: netscreenInterface near line 468 of /usr/share/mibs/ietf/NS-INTERFACE.mib
        Unlinked OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpTable ::= { netscreenInterface 2 }
        Undefined identifier: netscreenInterface near line 381 of /usr/share/mibs/ietf/NS-INTERFACE.mib
        Unlinked OID in NETSCREEN-INTERFACE-MIB: nsIfTable ::= { netscreenInterface 1 }
        Undefined identifier: netscreenInterface near line 117 of /usr/share/mibs/ietf/NS-INTERFACE.mib
        Unlinked OID in NETSCREEN-INTERFACE-MIB: netscreenInterfaceMibModule ::= { netscreenInterface 0 }
        Undefined identifier: netscreenInterface near line 17 of /usr/share/mibs/ietf/NS-INTERFACE.mib
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonEntry ::= { nsIfMonTable 1 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpIfInfo ::= { nsIfSecondaryIpEntry 7 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpNetmask ::= { nsIfSecondaryIpEntry 6 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpAddress ::= { nsIfSecondaryIpEntry 5 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpZone ::= { nsIfSecondaryIpEntry 4 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpVsys ::= { nsIfSecondaryIpEntry 3 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpIfIdx ::= { nsIfSecondaryIpEntry 2 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpIndex ::= { nsIfSecondaryIpEntry 1 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowIfInfo ::= { nsIfFlowEntry 10 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfOutVlan ::= { nsIfFlowEntry 9 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfInVlan ::= { nsIfFlowEntry 8 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowInVpn ::= { nsIfFlowEntry 7 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowOutPacket ::= { nsIfFlowEntry 6 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowOutByte ::= { nsIfFlowEntry 5 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowInPacket ::= { nsIfFlowEntry 4 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowInByte ::= { nsIfFlowEntry 3 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowVsys ::= { nsIfFlowEntry 2 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowIfIdx ::= { nsIfFlowEntry 1 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonIfInfo ::= { nsIfMonEntry 13 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonSaPolicyDeny ::= { nsIfMonEntry 12 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonSaInactive ::= { nsIfMonEntry 11 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonNoSaPly ::= { nsIfMonEntry 10 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonNoSa ::= { nsIfMonEntry 9 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonEncFail ::= { nsIfMonEntry 8 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonTrMngDrop ::= { nsIfMonEntry 7 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonTrMngQueue ::= { nsIfMonEntry 6 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonUrlBlock ::= { nsIfMonEntry 5 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonAuthFail ::= { nsIfMonEntry 4 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonPlyDeny ::= { nsIfMonEntry 3 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonVsys ::= { nsIfMonEntry 2 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonIfIdx ::= { nsIfMonEntry 1 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfEntry ::= { nsIfTable 1 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpEntry ::= { nsIfSecondaryIpTable 1 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfDescr ::= { nsIfEntry 22 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfInfo ::= { nsIfEntry 21 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngIdentReset ::= { nsIfEntry 20 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngPing ::= { nsIfEntry 19 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngGlobalPro ::= { nsIfEntry 18 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngGlobal ::= { nsIfEntry 17 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngSNMP ::= { nsIfEntry 16 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngSSL ::= { nsIfEntry 15 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngWEB ::= { nsIfEntry 14 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngSCS ::= { nsIfEntry 13 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngTelnet ::= { nsIfEntry 12 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMAC ::= { nsIfEntry 11 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMode ::= { nsIfEntry 10 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMngIp ::= { nsIfEntry 9 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfGateway ::= { nsIfEntry 8 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfNetmask ::= { nsIfEntry 7 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfIp ::= { nsIfEntry 6 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfStatus ::= { nsIfEntry 5 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfZone ::= { nsIfEntry 4 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfVsys ::= { nsIfEntry 3 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfName ::= { nsIfEntry 2 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfIndex ::= { nsIfEntry 1 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowEntry ::= { nsIfFlowTable 1 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: netscreenInterfaceMibModule ::= { netscreenInterface 0 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfTable ::= { netscreenInterface 1 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfSecondaryIpTable ::= { netscreenInterface 2 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfFlowTable ::= { netscreenInterface 3 }
        Cannot adopt OID in NETSCREEN-INTERFACE-MIB: nsIfMonTable ::= { netscreenInterface 4 }
        Unknown object identifier: nsIfName
        So we can see the MIB, but not the other MIBs NETSCREEN-SMI and SNMPv2-TC. However, I have verified in the same directory as the NS-INTERFACE MIB, these do exist.

        I think there is perhaps something wrong with the folder structure/search context for the MIBs, but I am not quite understand what is wrong.

        The snmp.conf file is as follows:

        # As the snmp packages come without MIB files due to license reasons, loading
        # of MIBs is disabled by default. If you added the MIBs you can reenable
        # loading them by commenting out the following line.
        #mibs :
        mibdirs /usr/share/mibs

        I really appreciate your assistance, I am really stuck.

        Thanks

        Comment

        • jdgs
          Junior Member
          • Feb 2016
          • 14

          #5
          Further, playing around now, I commented out all the entries in snmp.conf.

          Now if I run
          snmptranslate -m "/usr/share/mibs/ietf/NS-INTERFACE.mib" -IR -On nsIfName
          I get a result!
          .1.3.6.1.4.1.3224.9.1.1.2
          However, trying to load without full file path still gives error:

          appliance@zabbix:/usr/share/mibs/ietf$ snmptranslate -IR -On nsIfName
          Unknown object identifier: nsIfName
          appliance@zabbix:/usr/share/mibs/ietf$ snmptranslate -m NS-INTERFACE.mib -IR -On nsIfName
          MIB search path: /home/appliance/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp
          Cannot find module (NS-INTERFACE.mib): At line 6 in (none)
          Unknown object identifier: nsIfName

          Comment

          • jdgs
            Junior Member
            • Feb 2016
            • 14

            #6
            Ok, so I made some more progress, by changing the snmp.conf to the following:

            mibs ALL
            Then
            snmptranslate -IR -On nsIfName
            gives result

            .1.3.6.1.4.1.3224.9.1.1.2
            However, when I add the host in Zabbix, and use the template, SNMP stays grey. Using SNMP device template it goes to green and pulls data ok.

            Tail from zabbix_log:

            1082:20160309:135336.672 unmatched trap received from "UDP:": 20160309.135335 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:135337.673 unmatched trap received from "UDP:": 20160309.135336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:135837.321 unmatched trap received from "UDP:": 20160309.135836 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:135838.322 unmatched trap received from "UDP:": 20160309.135836 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:140336.842 unmatched trap received from "UDP:": 20160309.140335 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:140337.842 unmatched trap received from "UDP:": 20160309.140336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:140836.657 unmatched trap received from "UDP:": 20160309.140835 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:140837.657 unmatched trap received from "UDP:": 20160309.140836 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:141337.769 unmatched trap received from "UDP:": 20160309.141336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:141338.769 unmatched trap received from "UDP:": 20160309.141336 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:141837.250 unmatched trap received from "UDP:": 20160309.141835 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224
            1082:20160309:141838.250 unmatched trap received from "UDP:": 20160309.141836 4 0 (null) iso.3.6.1.6.3.1.1.4.3.0 iso.3.6.1.4.1.3224

            Comment

            • jdgs
              Junior Member
              • Feb 2016
              • 14

              #7
              Slowly making progress, but now a new problem. After loading MIBs, reboot was needed. Now SNMP is showing green in Zabbix, but all items under discovery rules listed as not supported.

              Following in log:

              1079:20160309:150024.786 item "DC-FW02:nsIfName" became not supported: Invalid SNMP OID: cannot parse expression.
              1079:20160309:150024.786 item "DC-FW02:nsPlyId" became not supported: Invalid SNMP OID: cannot parse expression.
              1079:20160309:150024.786 item "DC-FW02:nsVpnMonIndex" became not supported: Invalid SNMP OID: cannot parse expression.

              Comment

              • jdgs
                Junior Member
                • Feb 2016
                • 14

                #8
                So I finally got this to graph, turned out the last issue was relating to changes in sytax for version 3.

                Now however, the traffic graphs are graphing incorrectly - minimal amounts of data in the Kbps, whereas the snmp default template graphs on physical IFs at around 30megs... Not sure what I am missing now!

                Comment

                • genakir
                  Member
                  • Mar 2011
                  • 49

                  #9
                  Originally posted by jdgs
                  So I finally got this to graph, turned out the last issue was relating to changes in sytax for version 3.
                  Hi jdgs,
                  Can you please explain how did you fix that issue?
                  Thanks.

                  Comment

                  • genakir
                    Member
                    • Mar 2011
                    • 49

                    #10
                    Originally posted by genakir
                    Hi jdgs,
                    Can you please explain how did you fix that issue?
                    Thanks.
                    Nevermind. Found https://www.zabbix.com/documentation...y_of_snmp_oids

                    Comment

                    • Taner
                      Member
                      • Apr 2018
                      • 47

                      #11
                      Hi I am new in this area and I need help. Who know how to create template for Zabbix from juniper MiB text files? I am with QFX 5110 and Ex 2300 juniper switches with Jun os 17.

                      Comment

                      Working...