]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
web UI: Add graph for connection tracking
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 21 Aug 2020 16:33:56 +0000 (17:33 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sat, 19 Sep 2020 19:13:10 +0000 (19:13 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
14 files changed:
config/cfgroot/graphs.pl
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.it
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
doc/language_missings
html/cgi-bin/netother.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl

index 0e29e0e2d9567df1a0f97d1d3c1c1eca88732793..4783e67f7e60f0b20e0ce4c08d31a54dc0b57ae1 100644 (file)
@@ -1160,3 +1160,31 @@ sub updateentropygraph {
 
        print "Error in RRD::graph for entropy: ".$ERROR."\n" if $ERROR;
 }
+
+sub updateconntrackgraph {
+       my $period = $_[0];
+       my @command = (
+               @GRAPH_ARGS,
+               "-",
+               "--start",
+               "-1" . $period,
+               "-r",
+               "--lower-limit","0",
+               "-t $Lang::tr{'connection tracking'}",
+               "-v $Lang::tr{'open connections'}",
+               "DEF:conntrack=$mainsettings{'RRDLOG'}/collectd/localhost/conntrack/conntrack.rrd:entropy:AVERAGE",
+               "LINE3:conntrack#ff0000:" . sprintf("%-15s", $Lang::tr{'open connections'}),
+               "VDEF:ctmin=conntrack,MINIMUM",
+               "VDEF:ctmax=conntrack,MAXIMUM",
+               "VDEF:ctavg=conntrack,AVERAGE",
+               "GPRINT:ctmax:" . sprintf("%15s\\: %%5.0lf", $Lang::tr{'maximum'}),
+               "GPRINT:ctmin:" . sprintf("%15s\\: %%5.0lf", $Lang::tr{'minimum'}),
+               "GPRINT:ctavg:" . sprintf("%15s\\: %%5.0lf", $Lang::tr{'average'}) . "\\n",
+               "--color=BACK" . $color{"color21"},
+       );
+
+       RRDs::graph(@command);
+       $ERROR = RRDs::error;
+
+       print STDERR "Error in RRD::Graph for conntrack: " . $ERROR . "\n" if $ERROR;
+}
index f2a7ba8aeeb7d52bed6e085d066518c06c8af7f2..667b98b27dda5fcaab4d800686f84366f575accb 100644 (file)
@@ -767,6 +767,7 @@ WARNING: translation string unused: zoneconf val ppp assignment error
 WARNING: translation string unused: zoneconf val vlan amount assignment error
 WARNING: translation string unused: zoneconf val vlan tag assignment error
 WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: connnection tracking = Connection Tracking
 WARNING: untranslated string: error the to date has to be later than the from date = The to date has to be later than the from date!
 WARNING: untranslated string: fwhost cust locationgrp = unknown string
 WARNING: untranslated string: fwhost err hostip = unknown string
index 40cba2292fabc174f06cce425a13eb16acfb30c8..10b56af0316ce4d5027c81cc2595623f90b6bc6c 100644 (file)
@@ -492,6 +492,7 @@ WARNING: untranslated string: connection type = Connection Type
 WARNING: untranslated string: connection type is invalid = Connection type is invalid.
 WARNING: untranslated string: connections = Connections
 WARNING: untranslated string: connections are associated with this ca.  deleting the ca will delete these connections as well. = connections are associated with this CA. Deleting the CA will delete these connections as well.
+WARNING: untranslated string: connnection tracking = Connection Tracking
 WARNING: untranslated string: connscheduler = Connection Scheduler
 WARNING: untranslated string: could not be opened = could not be opened.
 WARNING: untranslated string: could not download latest updates = Could not download latest updates.
@@ -1113,7 +1114,7 @@ WARNING: untranslated string: invalid input for keepalive 1 = Invalid input for
 WARNING: untranslated string: invalid input for keepalive 1:2 = Invalid input for Keepalive use at least a ratio of 1:2
 WARNING: untranslated string: invalid input for keepalive 2 = Invalid input for Keepalive ping-restart
 WARNING: untranslated string: invalid input for local ip address = Invalid input for local IP address
-WARNING: untranslated string: invalid input for max clients = Invalid input for Max Clients
+WARNING: untranslated string: invalid input for max clients = Invalid input for Max Clients. The maximum of 1024 clients has been exceeded
 WARNING: untranslated string: invalid input for mode = Invalid input for mode
 WARNING: untranslated string: invalid input for name = Invalid input for user's full name or system hostname
 WARNING: untranslated string: invalid input for oink code = Invalid input for Oink code
@@ -1378,6 +1379,7 @@ WARNING: untranslated string: one year = One Year
 WARNING: untranslated string: only digits allowed in holdoff field = Only digits allowed in holdoff field
 WARNING: untranslated string: only digits allowed in max retries field = Only digits allowed in max retries field.
 WARNING: untranslated string: only digits allowed in the idle timeout = Only digits allowed in the idle timeout.
+WARNING: untranslated string: open connections = Open Connections
 WARNING: untranslated string: openssl produced an error = OpenSSL produced an error
 WARNING: untranslated string: openvpn client = OpenVPN client
 WARNING: untranslated string: openvpn default = Default
index f7431f6927dbe1afcc18f59a65052eb10f321619..043df5c0f84c795640b0b8efa18e3bc3c6387d81 100644 (file)
@@ -793,6 +793,7 @@ WARNING: untranslated string: ccd routes = Routing:
 WARNING: untranslated string: ccd subnet = Subnet
 WARNING: untranslated string: ccd used = Used addresses
 WARNING: untranslated string: check all = Check all
+WARNING: untranslated string: connnection tracking = Connection Tracking
 WARNING: untranslated string: count = Count
 WARNING: untranslated string: countries = Countries
 WARNING: untranslated string: country codes and flags = Country Codes and Flags:
@@ -1199,6 +1200,7 @@ WARNING: untranslated string: one hour = One Hour
 WARNING: untranslated string: one month = One Month
 WARNING: untranslated string: one week = One Week
 WARNING: untranslated string: one year = One Year
+WARNING: untranslated string: open connections = Open Connections
 WARNING: untranslated string: openvpn default = Default
 WARNING: untranslated string: openvpn destination port used = The destination port is already used by another OpenVPN server.
 WARNING: untranslated string: openvpn fragment allowed with udp = Using fragment is only allowed when using the UDP protocol.
index 597883693f7396f2e0a96c4c47782c9cf2c2c27b..1ebed2140bb7b3b0ff0dbf435db0d4963c4cb751 100644 (file)
@@ -807,6 +807,7 @@ WARNING: translation string unused: zoneconf val ppp assignment error
 WARNING: translation string unused: zoneconf val vlan amount assignment error
 WARNING: translation string unused: zoneconf val vlan tag assignment error
 WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: connnection tracking = Connection Tracking
 WARNING: untranslated string: fwhost cust locationgrp = unknown string
 WARNING: untranslated string: fwhost err hostip = unknown string
 WARNING: untranslated string: guardian block a host = unknown string
@@ -839,6 +840,7 @@ WARNING: untranslated string: guardian logtarget_syslog = unknown string
 WARNING: untranslated string: guardian no entries = unknown string
 WARNING: untranslated string: guardian service = unknown string
 WARNING: untranslated string: legacy architecture warning = You are running IPFire on a legacy architecture and it is recommended to upgrade
+WARNING: untranslated string: open connections = Open Connections
 WARNING: untranslated string: pakfire ago = ago.
 WARNING: untranslated string: route config changed = unknown string
 WARNING: untranslated string: routing config added = unknown string
index c943da739a94373e683033bdd883831f1a76af23..f0790ed231ba63bf298160f3eebec7e5d397399b 100644 (file)
@@ -832,6 +832,7 @@ WARNING: untranslated string: block = Block
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
 WARNING: untranslated string: check all = Check all
+WARNING: untranslated string: connnection tracking = Connection Tracking
 WARNING: untranslated string: cpu frequency = CPU frequency
 WARNING: untranslated string: crypto error = Cryptographic error
 WARNING: untranslated string: crypto warning = Cryptographic warning
@@ -1012,6 +1013,7 @@ WARNING: untranslated string: one hour = One Hour
 WARNING: untranslated string: one month = One Month
 WARNING: untranslated string: one week = One Week
 WARNING: untranslated string: one year = One Year
+WARNING: untranslated string: open connections = Open Connections
 WARNING: untranslated string: outgoing compression in bytes per second = Outgoing compression
 WARNING: untranslated string: outgoing overhead in bytes per second = Outgoing Overhead
 WARNING: untranslated string: ovpn add conf = Additional configuration
index 7496d647c534573c3c6626c02b080185d4b7ecc9..2dfde5c5ba7f41313220e85d26a7de8fd4e16970 100644 (file)
@@ -826,6 +826,7 @@ WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
 WARNING: untranslated string: capabilities = Capabilities
 WARNING: untranslated string: check all = Check all
+WARNING: untranslated string: connnection tracking = Connection Tracking
 WARNING: untranslated string: cpu frequency = CPU frequency
 WARNING: untranslated string: crypto error = Cryptographic error
 WARNING: untranslated string: crypto warning = Cryptographic warning
@@ -1037,6 +1038,7 @@ WARNING: untranslated string: one hour = One Hour
 WARNING: untranslated string: one month = One Month
 WARNING: untranslated string: one week = One Week
 WARNING: untranslated string: one year = One Year
+WARNING: untranslated string: open connections = Open Connections
 WARNING: untranslated string: outgoing compression in bytes per second = Outgoing compression
 WARNING: untranslated string: outgoing overhead in bytes per second = Outgoing Overhead
 WARNING: untranslated string: ovpn add conf = Additional configuration
index f7431f6927dbe1afcc18f59a65052eb10f321619..043df5c0f84c795640b0b8efa18e3bc3c6387d81 100644 (file)
@@ -793,6 +793,7 @@ WARNING: untranslated string: ccd routes = Routing:
 WARNING: untranslated string: ccd subnet = Subnet
 WARNING: untranslated string: ccd used = Used addresses
 WARNING: untranslated string: check all = Check all
+WARNING: untranslated string: connnection tracking = Connection Tracking
 WARNING: untranslated string: count = Count
 WARNING: untranslated string: countries = Countries
 WARNING: untranslated string: country codes and flags = Country Codes and Flags:
@@ -1199,6 +1200,7 @@ WARNING: untranslated string: one hour = One Hour
 WARNING: untranslated string: one month = One Month
 WARNING: untranslated string: one week = One Week
 WARNING: untranslated string: one year = One Year
+WARNING: untranslated string: open connections = Open Connections
 WARNING: untranslated string: openvpn default = Default
 WARNING: untranslated string: openvpn destination port used = The destination port is already used by another OpenVPN server.
 WARNING: untranslated string: openvpn fragment allowed with udp = Using fragment is only allowed when using the UDP protocol.
index a3eb3366967e1e320c436f2a8d2230514cc37464..52de2e38255b99f276f4d0a2859bf9b4d5f3d835 100644 (file)
@@ -796,6 +796,7 @@ WARNING: untranslated string: ccd subnet = Subnet
 WARNING: untranslated string: ccd used = Used addresses
 WARNING: untranslated string: check all = Check all
 WARNING: untranslated string: community rules = Snort/VRT GPLv2 Community Rules
+WARNING: untranslated string: connnection tracking = Connection Tracking
 WARNING: untranslated string: count = Count
 WARNING: untranslated string: countries = Countries
 WARNING: untranslated string: country codes and flags = Country Codes and Flags:
@@ -1201,6 +1202,7 @@ WARNING: untranslated string: one hour = One Hour
 WARNING: untranslated string: one month = One Month
 WARNING: untranslated string: one week = One Week
 WARNING: untranslated string: one year = One Year
+WARNING: untranslated string: open connections = Open Connections
 WARNING: untranslated string: openvpn default = Default
 WARNING: untranslated string: openvpn destination port used = The destination port is already used by another OpenVPN server.
 WARNING: untranslated string: openvpn fragment allowed with udp = Using fragment is only allowed when using the UDP protocol.
index 60a646e5f2fa70570182423ed9ff8823adc4c1ae..e5792e08e3f35e898f5345b667663b2256660bbb 100644 (file)
@@ -815,6 +815,7 @@ WARNING: untranslated string: advproxy wpad title = Web Proxy Auto-Discovery Pro
 WARNING: untranslated string: advproxy wpad view pac = Open PAC File
 WARNING: untranslated string: broken = Broken
 WARNING: untranslated string: bytes = unknown string
+WARNING: untranslated string: connnection tracking = Connection Tracking
 WARNING: untranslated string: cpu frequency = CPU frequency
 WARNING: untranslated string: crypto error = Cryptographic error
 WARNING: untranslated string: crypto warning = Cryptographic warning
@@ -925,6 +926,7 @@ WARNING: untranslated string: no data = unknown string
 WARNING: untranslated string: no entries = No entries at the moment.
 WARNING: untranslated string: not affected = Not Affected
 WARNING: untranslated string: not validating = Not validating
+WARNING: untranslated string: open connections = Open Connections
 WARNING: untranslated string: ovpn connection name = Connection Name
 WARNING: untranslated string: ovpn error dh = The Diffie-Hellman parameter needs to be in minimum 2048 bit! <br>Please generate or upload a new Diffie-Hellman parameter, this can be made below in the section "Diffie-Hellman parameters options".</br>
 WARNING: untranslated string: ovpn error md5 = You host certificate uses MD5 for the signature which is not accepted anymore. <br>Please update to the latest IPFire version and generate a new root and host certificate.</br><br>All OpenVPN clients needs then to be renewed!</br>
index 3fbaad77b66db20d474d0f041600b9504009513f..c9c42d15a4e6433e33edfdf2fe927752a0c68d51 100644 (file)
@@ -25,6 +25,7 @@
 < Captive invalid coupon
 < Captive please enter a coupon code
 < choose media
+< connnection tracking
 < could not connect to www ipfire org
 < cryptographic settings
 < dhcp server disabled on blue interface
 < ccd subnet
 < ccd used
 < check all
+< connnection tracking
 < ConnSched dial
 < ConnSched hangup
 < ConnSched reboot
 < one month
 < one week
 < one year
+< open connections
 < openvpn default
 < openvpn destination port used
 < openvpn disabled
 < ansi t1.483
 < bewan adsl pci st
 < bewan adsl usb
+< connnection tracking
 < g.dtm
 < g.lite
 < legacy architecture warning
+< open connections
 < upload fcdsl.o
 ############################################################################
 # Checking cgi-bin translations for language: it                           #
 < Captive WiFi coupon
 < Captive wrong ext
 < check all
+< connnection tracking
 < cpu frequency
 < crypto error
 < cryptographic settings
 < one month
 < one week
 < one year
+< open connections
 < outgoing compression in bytes per second
 < outgoing overhead in bytes per second
 < ovpn add conf
 < Captive WiFi coupon
 < Captive wrong ext
 < check all
+< connnection tracking
 < cpu frequency
 < crypto error
 < cryptographic settings
 < one month
 < one week
 < one year
+< open connections
 < outgoing compression in bytes per second
 < outgoing overhead in bytes per second
 < ovpn add conf
 < ccd used
 < check all
 < community rules
+< connnection tracking
 < ConnSched dial
 < ConnSched hangup
 < ConnSched reboot
 < one month
 < one week
 < one year
+< open connections
 < openvpn default
 < openvpn destination port used
 < openvpn disabled
 < ccd used
 < check all
 < community rules
+< connnection tracking
 < ConnSched dial
 < ConnSched hangup
 < ConnSched reboot
 < one month
 < one week
 < one year
+< open connections
 < openvpn default
 < openvpn destination port used
 < openvpn disabled
 < advproxy wpad view pac
 < broken
 < Captive delete logo
+< connnection tracking
 < cpu frequency
 < crypto error
 < cryptographic settings
 < not affected
 < not validating
 < okay
+< open connections
 < ovpn connection name
 < ovpn error dh
 < ovpn error md5
index 4f03c82e835c8485e7471eaa14437d3e4ac498ed..3256a0d6b7a0a2a1d901befd32b50c06b8e4841b 100755 (executable)
@@ -41,7 +41,11 @@ my @querry = split(/\?/,$ENV{'QUERY_STRING'});
 $querry[0] = '' unless defined $querry[0];
 $querry[1] = 'hour' unless defined $querry[1];
 
-if ( $querry[0] =~ "fwhits"){
+if ( $querry[0] eq "conntrack") {
+       print "Content-Type: image/png\n\n";
+       binmode(STDOUT);
+       &Graphs::updateconntrackgraph($querry[1]);
+} elsif ( $querry[0] =~ "fwhits"){
        print "Content-type: image/png\n\n";
        binmode(STDOUT);
        &Graphs::updatefwhitsgraph($querry[1]);
@@ -67,6 +71,10 @@ if ( $querry[0] =~ "fwhits"){
                &Header::closebox();
        }
 
+       &Header::openbox('100%', 'center', $Lang::tr{'connnection tracking'});
+       &Graphs::makegraphbox("netother.cgi", "conntrack", "day");
+       &Header::closebox();
+
        &Header::openbox('100%', 'center', "$Lang::tr{'firewallhits'} $Lang::tr{'graph'}");
        &Graphs::makegraphbox("netother.cgi","fwhits","day");
        &Header::closebox();
index 11c0cc4758e5d09aa02e98ae640ad839d0391859..4a8b9e0fff6416312768c87bfa7cb7306fcc3641 100644 (file)
 'only digits allowed in max retries field' => 'Im Feld &quot;Maximale Wiederholversuche&quot; sind nur Ziffern erlaubt.',
 'only digits allowed in the idle timeout' => 'Im Feld &quot;Leerlauf-Wartezeit&quot; sind nur Ziffern erlaubt.',
 'only red' => 'Nur ROT',
+'open connections' => 'Offene Verbindungen',
 'open to all' => 'Überschreibe externen Zugang zu ALL',
 'openssl produced an error' => 'OpenSSL hat einen Fehler verursacht',
 'openvpn client' => 'OpenVPN-Client',
index de60a3bb3725b0d55aec7e4c87c8fb2840f4d9a1..8012a47601cb19732e64ec78ef175bdb01e3ef91 100644 (file)
 'connection type is invalid' => 'Connection type is invalid.',
 'connections' => 'Connections',
 'connections are associated with this ca.  deleting the ca will delete these connections as well.' => 'connections are associated with this CA. Deleting the CA will delete these connections as well.',
+'connnection tracking' => 'Connection Tracking',
 'connscheduler' => 'Connection Scheduler',
 'core notice 1' => '<strong>Notice:</strong> There is an core-update from',
 'core notice 2' => 'to',
 'only digits allowed in max retries field' => 'Only digits allowed in max retries field.',
 'only digits allowed in the idle timeout' => 'Only digits allowed in the idle timeout.',
 'only red' => 'Only RED',
+'open connections' => 'Open Connections',
 'open to all' => 'Override external access to ALL',
 'openssl produced an error' => 'OpenSSL produced an error',
 'openvpn client' => 'OpenVPN client',