Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Tracker in der config.xml

    Scheduled Pinned Locked Moved Deutsch
    11 Posts 3 Posters 1.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Sessa45
      last edited by

      In der Konfigurationsdatei der pfSense (config.xml) befindet sich nach einer Neuinstallation lediglich die Regeln, welche per Default gesetzt werden. Das sieht so aus:

      <rule>
      			<type>pass</type>
      			<ipprotocol>inet</ipprotocol>
      			<descr><![CDATA[Default allow LAN to any rule]]></descr>
      			<interface>lan</interface>
      			<tracker>0100000101</tracker>
      			<source>
      				<network>lan</network>
      			</source>
      			<destination>
      				<any></any>
      			</destination>
      		</rule>
      		<rule>
      			<type>pass</type>
      			<ipprotocol>inet6</ipprotocol>
      			<descr><![CDATA[Default allow LAN IPv6 to any rule]]></descr>
      			<interface>lan</interface>
      			<tracker>0100000102</tracker>
      			<source>
      				<network>lan</network>
      			</source>
      			<destination>
      				<any></any>
      			</destination>
      		</rule>
      

      Dazu eine Frage: Die tracker ID bezieht sich auf das Interface, oder als eindeutige (?) ID auf die Regel?

      Wenn ich nun eine Regel über die GUI einpflege, erweitert sich die config.xml um folgendes:

      <rule>
      			<id></id>
      			<tracker>1545912394</tracker>
      			<type>pass</type>
      			<interface>lan</interface>
      			<ipprotocol>inet</ipprotocol>
      			<tag></tag>
      			<tagged></tagged>
      			<max></max>
      			<max-src-nodes></max-src-nodes>
      			<max-src-conn></max-src-conn>
      			<max-src-states></max-src-states>
      			<statetimeout></statetimeout>
      			<statetype><![CDATA[keep state]]></statetype>
      			<os></os>
      			<protocol>tcp</protocol>
      			<source>
      				<any></any>
      			</source>
      			<destination>
      				<any></any>
      			</destination>
      			<descr><![CDATA[TEST]]></descr>
      			<updated>
      				<time>1545912394</time>
      				<username>admin@10.0.1.120 (Local Database)</username>
      			</updated>
      			<created>
      				<time>1545912394</time>
      				<username>admin@10.0.1.120 (Local Database)</username>
      			</created>
      		</rule>
      

      Hier ist ein klarer Unterschied gegenüber den beiden default Regeln zu erkennen.
      Zunächst die Frage, wieso sich der Aufbau gänzlich von den anderen beiden unterscheidet? Auch, wenn ich eine Beschreibung der Regel vergebe, sieht dieser Block nicht annähernd so aus, als die beiden anderen Blöcke, welche die beiden Default regeln beinhalten.

      Dann die Frage, welche Rolle die tracker-nummer bei der neu gesetzten Regel spielt?
      Ist das ebenfalls eine eindeutige Nummer für die Regel?

      Danke und beste Grüße :)

      1 Reply Last reply Reply Quote 0
      • V
        viragomann
        last edited by

        Hallo,

        der Aufbau der beiden Regeln unterscheidet sich nich wirklich gänzlich. Beides feinsäuberliches XML, lediglich haben eigene Regeln einige zusätzliche Parameter, auch wenn diese gar nicht spezifiziert wurden.
        In den Default-Regeln wurden diese eben einfach vorweg weggelassen.
        Die Default-Regeln kommen aus der initialen Konfigurationsdatei, die beim Installieren der pfSense geschrieben wird, worauf der User keinenn Einfluss nehmen kann. Man kann sie aber hinterher löschen.

        Die Tracker-ID ist eine eindeutige ID der Regel für das interne Handling. Sie wird offenbar mithilfe der Erstellungszeit generiert.
        Das zutreffende Interface steht in einem XML-Abschnitt der Regel.

        Grüße

        S 1 Reply Last reply Reply Quote 1
        • S
          Sessa45 @viragomann
          last edited by

          @viragomann said in Tracker in der config.xml:

          Die Tracker-ID ist eine eindeutige ID der Regel für das interne Handling

          Für welches Handling denn? Diese ID wird definitiv jedesmal bei der Erstellung erzeugt? Und, wenn eine Regel geändert wurde? Ändert sich diese ID dann? Oder lediglich der timestamp weiter unten im Block?

          Wobei ich mich Frage, wie der Timestamp aufgebaut ist:

          <time>1545912394</time>
          

          So, wie ich das verstanden habe, werden seit dem 01.01.1970 die Sekunden gezählt? Kann ich nun aus diesen Angaben was raus lesen, oder muss ich das erst umrechnen?

          1 Reply Last reply Reply Quote 0
          • V
            viragomann
            last edited by

            Die Tracker-ID wird bspw. zum Abarbeiten des Regelsatzes in der richtigen Reihenfolge und für das Logging verwendet (es wird nur der Tracker ins Log geschrieben, die Beschreibung wird in der GUI bei Anzeige hinzugefügt).
            Soweit ich weiß, wird diese bei der Erstellung erzeugt und ändert sich beim Editieren nicht.

            Zum Timestamp habe ich mir noch keine Gedanken gemacht. Ja, ist vermutlich eine absolute Zeit, deren Zählung irgendwann gestartet wurde.
            In humaner Form werden die Zeiten wieder in der GUI angezeigt, im Editiermodus.

            1 Reply Last reply Reply Quote 0
            • S
              Sessa45
              last edited by

              Gibt es denn eine Möglichkeit, Regeln per config.xml einzubinden statt über die GUI?
              Habe es versucht, erhalte jedoch einen Fatal Error. Ich mein, davon bin ich ausgegangen. Aber eventuell gibt es ja einen Weg, die Konfiguration per .xml zu bearbeiten?

              JeGrJ 1 Reply Last reply Reply Quote 0
              • V
                viragomann
                last edited by

                Die Regeln stehen vermutlich auch in der config.xml, aber versucht habe ich das noch nicht.

                Ich kenne nur die Variante über easyrule: https://www.netgate.com/docs/pfsense/firewall/adding-rules-with-easyrule.html
                Dies kann bspw. auch via SSH-Session ausgeführt werden und damit von jedem anderen Rechner aus und automatisiert. Die Möglichkeiten sind aber gegenüber der GUI bescheiden.

                1 Reply Last reply Reply Quote 0
                • JeGrJ
                  JeGr LAYER 8 Moderator @Sessa45
                  last edited by

                  @sessa45 said in Tracker in der config.xml:

                  Gibt es denn eine Möglichkeit, Regeln per config.xml einzubinden statt über die GUI?

                  Ja, allerdings sollte man dann fließend PHP und XML sprechen können und sich relativ gut bis sehr gut mit dem Config.XML Schema auskennen. Dann ist es durchaus möglich per pfSSH Developer Shell Aliase oder Regeln per SSH einzutragen, da sollte man aber sein Regelrohgerüst schon recht gut fertig haben, damit man keine Fehler einbaut. Hängt aber stark davon ab, WAS genau man einpflegen will. Eine richtige API oder CLI in der Form gibt es in dieser Version noch nicht.

                  Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                  If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                  S 1 Reply Last reply Reply Quote 0
                  • V
                    viragomann
                    last edited by

                    Möchte noch hinzufügen: Nach einer Regelanpassung in der config.xml müsste auch noch ein Filter Reload ausgeführt werden, automatisch macht die pfSense das nicht.

                    1 Reply Last reply Reply Quote 0
                    • JeGrJ
                      JeGr LAYER 8 Moderator
                      last edited by

                      Stimmt. Bei dem Weg über die pfSSH wird ebenfalls ein save/reload und exit command benötigt.

                      Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                      If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                      1 Reply Last reply Reply Quote 0
                      • S
                        Sessa45 @JeGr
                        last edited by

                        @jegr said in Tracker in der config.xml:

                        Eine richtige API oder CLI in der Form gibt es in dieser Version noch nicht.

                        Das ist aber in Planung?

                        easyrule ist eine gute Alternative. Mal schauen, ob das schon genügt.
                        Viele Dank!

                        1 Reply Last reply Reply Quote 0
                        • JeGrJ
                          JeGr LAYER 8 Moderator
                          last edited by

                          @sessa45 said in Tracker in der config.xml:

                          Das ist aber in Planung?

                          In der Tat, ist es.

                          easyrule ist eine gute Alternative. Mal schauen, ob das schon genügt.

                          Wenn nicht, kann man sich auch pfSSH anschauen, die pfSense Developer Shell. Nicht sehr schön API-like und durchdesigned, sondern eher ein "rohes" Werkzeug um das Config XML direkt(er) zu editieren, aber damit Regeln oder Aliase zu erstellen oder modifizieren ist relativ gut machbar.

                          Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                          If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                          1 Reply Last reply Reply Quote 1
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.