-
+
$Lang::tr{'network'} |
$Lang::tr{'ip address'} |
$Lang::tr{'status'} |
$Lang::tr{'internet'}
|
$ipaddr |
- $connstate
+ | $connstate |
END
my $HOSTNAME = (gethostbyaddr(pack("C4", split(/\./, $ipaddr)), 2))[0];
if ( "$HOSTNAME" ne "" ) {
print <Hostname: | $HOSTNAME |
+ | Hostname: | $HOSTNAME | |
END
}
- if ( -e "/var/ipfire/red/remote-ipaddress" ) {
- my $GATEWAY = `cat /var/ipfire/red/remote-ipaddress`;
+ if ( -e "${General::swroot}/red/remote-ipaddress" ) {
+ open (TMP, "<${General::swroot}/red/remote-ipaddress");
+ my $GATEWAY = ;
chomp($GATEWAY);
+ close TMP;
print <Gateway: | $GATEWAY |
+ | Gateway: | $GATEWAY | |
END
}
-
- my $DNS1 = `cat /var/ipfire/red/dns1`;
- my $DNS2 = `cat /var/ipfire/red/dns2`;
- chomp($DNS1);
+ #Read DNS server 1
+ open (DNS1, "<${General::swroot}/red/dns1");
+ my $DNS1 = ;
chomp($DNS1);
+ close DNS1;
+ #Read DNS server 2
+ open (DNS2, "<${General::swroot}/red/dns2");
+ my $DNS2 = ;
+ chomp($DNS2);
+ close DNS2;
if ( $DNS1 ) { print <DNS-Server: | $DNS1
+ | $Lang::tr{'dns server'}1: | $DNS1 | |
END
}
if ( $DNS2 ) { print <$DNS2
+ $Lang::tr{'dns server'}2: | $DNS2 | |
+
END
} else { print <
+ |
+
END
}
@@ -255,9 +270,9 @@ END
$netsettings{'GREEN_ADDRESS'}/$sub
|
END
- if ( `cat /var/ipfire/proxy/advanced/settings | grep ^ENABLE=on` ) {
- print $Lang::tr{'advproxy on'};
- if ( `cat /var/ipfire/proxy/advanced/settings | grep ^TRANSPARENT=on` ) { print " (transparent)"; }
+ if ( $proxysettings{'ENABLE'} eq 'on' ) {
+ print $Lang::tr{'advproxy on'};
+ if ( $proxysettings{'TRANSPARENT'} eq 'on' ) { print " (transparent)"; }
} else { print $Lang::tr{'advproxy off'}; }
}
if ( $netsettings{'BLUE_DEV'} ) {
@@ -267,9 +282,9 @@ END
| $netsettings{'BLUE_ADDRESS'}/$sub
|
END
- if ( `cat /var/ipfire/proxy/advanced/settings | grep ^ENABLE_BLUE=on` ) {
- print $Lang::tr{'advproxy on'};
- if ( `cat /var/ipfire/proxy/advanced/settings | grep ^TRANSPARENT_BLUE=on` ) { print " (transparent)"; }
+ if ( $proxysettings{'ENABLE_BLUE'} eq 'on' ) {
+ print $Lang::tr{'advproxy on'};
+ if ( $proxysettings{'TRANSPARENT_BLUE'} eq 'on' ) { print " (transparent)"; }
} else { print $Lang::tr{'advproxy off'}; }
}
if ( $netsettings{'ORANGE_DEV'} ) {
@@ -281,10 +296,8 @@ END
END
}
#check if IPSEC is running
-if ( `cat /var/ipfire/vpn/settings | grep ^ENABLED=on` ||
- `cat /var/ipfire/vpn/settings | grep ^ENABLED_BLUE=on` ) {
- $haveipsec=1;
- my $ipsecip = `cat /var/ipfire/vpn/settings | grep ^VPN_IP= | cut -c 8-`;
+if ( $vpnsettings{'ENABLED'} eq 'on' || $vpnsettings{'ENABLED_BLUE'} eq 'on' ) {
+ my $ipsecip = $vpnsettings{'VPN_IP'};
print<$Lang::tr{'ipsec'}
| $ipsecip
@@ -302,7 +315,6 @@ if (($confighash{'ENABLED'} eq "on") ||
my ($ovpnip,$sub) = split("/",$confighash{'DOVPN_SUBNET'});
$sub=&General::iporsubtocidr($sub);
$ovpnip="$ovpnip/$sub";
- $haveovpn=1;
print <
@@ -315,53 +327,73 @@ END
print" | ";
&Header::closebox();
-# Start of Box wich contains all vpn connections
- &Header::openbox('100%', 'center', $Lang::tr{'vpn'}) if ($haveipsec || $haveovpn);
+#Check if there are any vpns configured (ipsec and openvpn)
+&General::readhasharray("${General::swroot}/vpn/config", \%vpnconfig);
+foreach my $key (sort { ncmp($vpnconfig{$a}[1],$vpnconfig{$b}[1]) } keys %vpnconfig) {
+ if ($vpnconfig{$key}[0] eq 'on'){
+ $showipsec=1;
+ $showbox=1;
+ last;
+ }
+}
+&General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%ovpnconfig);
+foreach my $dkey (sort { ncmp($ovpnconfig{$a}[1],$ovpnconfig{$b}[1])} keys %ovpnconfig) {
+ if (($ovpnconfig{$dkey}[3] eq 'net') && (-e "/var/run/$ovpnconfig{$dkey}[1]n2n.pid")){
+ $showbox=1;
+ $showovpn=1;
+ last;
+ }
+}
+if ($showbox){
+# Start of Box wich contains all vpn connections
+ &Header::openbox('100%', 'center', $Lang::tr{'vpn'});
#show ipsec connectiontable
- if ( $haveipsec ) {
- my $ipsecip = `cat /var/ipfire/vpn/settings | grep ^VPN_IP= | cut -c 8-`;
+ if ( $showipsec ) {
+ my $ipsecip = $vpnsettings{'VPN_IP'};
my @status = `/usr/local/bin/ipsecctrl I`;
my %confighash = ();
- &General::readhasharray("${General::swroot}/vpn/config", \%confighash);
+ my $id = 0;
+ my $gif;
+ my $col="";
+ my $count=0;
print <
- $Lang::tr{'ipsec network'} |
- $Lang::tr{'ip address'} |
- $Lang::tr{'status'} |
+ $Lang::tr{'ipsec network'} |
+ $Lang::tr{'ip address'} |
+ $Lang::tr{'status'} |
END
- my $id = 0;
- my $gif;
- my $col="";
- foreach my $key (sort { uc($confighash{$a}[1]) cmp uc($confighash{$b}[1]) } keys %confighash) {
- if ($confighash{$key}[0] eq 'on') { $gif = 'on.gif'; } else { $gif = 'off.gif'; }
- my ($vpnip,$vpnsub) = split("/",$confighash{$key}[11]);
- $vpnsub=&General::iporsubtocidr($vpnsub);
- $vpnip="$vpnip/$vpnsub";
- if ($id % 2) {
- $col="bgcolor='$color{'color20'}'";
- print "$confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ") | $vpnip | ";
- } else {
- $col="bgcolor='$color{'color22'}'";
- print " $confighash{$key}[1] / " . $Lang::tr{"$confighash{$key}[3]"} . " (" . $Lang::tr{"$confighash{$key}[4]"} . ") | $vpnip | ";
- }
-
- my $active = "$Lang::tr{'capsclosed'} | ";
- if ($confighash{$key}[0] eq 'off') {
- $active = "$Lang::tr{'capsclosed'} | ";
- } else {
- foreach my $line (@status) {
- if (($line =~ /\"$confighash{$key}[1]\".*IPsec SA established/) ||
- ($line =~/$confighash{$key}[1]\{.*INSTALLED/ ))
- {
- $active = "";
+ foreach my $key (sort { uc($vpnconfig{$a}[1]) cmp uc($vpnconfig{$b}[1]) } keys %vpnconfig) {
+ if ($vpnconfig{$key}[0] eq 'on') {
+ $count++;
+ my ($vpnip,$vpnsub) = split("/",$vpnconfig{$key}[11]);
+ $vpnsub=&General::iporsubtocidr($vpnsub);
+ $vpnip="$vpnip/$vpnsub";
+ if ($count % 2){
+ $col="bgcolor='$color{'color22'}'";
+ }else{
+ $col="bgcolor='$color{'color20'}'";
+ }
+ if ($id % 2) {
+ print " $vpnconfig{$key}[1] | $vpnip | ";
+ } else {
+ print " $vpnconfig{$key}[1] | $vpnip | ";
+ }
+ my $active = "$Lang::tr{'capsclosed'} | ";
+ if ($vpnconfig{$key}[0] eq 'off') {
+ $active = "$Lang::tr{'capsclosed'} | ";
+ } else {
+ foreach my $line (@status) {
+ if (($line =~ /\"$vpnconfig{$key}[1]\".*IPsec SA established/) || ($line =~/$vpnconfig{$key}[1]\{.*INSTALLED/ )){
+ $active = "$Lang::tr{'capsopen'} | ";
+ }
+ }
}
- }
+ print "$active";
}
- print "$active";
}
print " ";
}
@@ -370,77 +402,67 @@ END
# Check if there is any OpenVPN connection configured.
###
-if ( $haveovpn )
-{
- print <
-
-
- $Lang::tr{'openvpn network'} |
- $Lang::tr{'ip address'} |
- $Lang::tr{'status'} |
+ if ( $showovpn ){
+ print <
+
+
+ $Lang::tr{'openvpn network'} |
+ $Lang::tr{'ip address'} |
+ $Lang::tr{'status'} |
END
- # Check if the OpenVPN server for Road Warrior Connections is running and display status information.
- my %confighash=();
- &General::readhash("${General::swroot}/ovpn/settings", \%confighash);
- # Print the OpenVPN N2N connection status.
- if ( -d "${General::swroot}/ovpn/n2nconf") {
- my %confighash=();
-
- &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
- my $lines;
- my $col="";
- foreach my $dkey (keys %confighash) {
- $lines++;
- if (($confighash{$dkey}[3] eq 'net') && (-e "/var/run/$confighash{$dkey}[1]n2n.pid")) {
- my $tport = $confighash{$dkey}[22];
- next if ($tport eq '');
-
- my $tnet = new Net::Telnet ( Timeout=>5, Errmode=>'return', Port=>$tport);
- $tnet->open('127.0.0.1');
- my @output = $tnet->cmd(String => 'state', Prompt => '/(END.*\n|ERROR:.*\n)/');
- my @tustate = split(/\,/, $output[1]);
-
- my $display;
- my $display_colour = $Header::colourred;
- if (($tustate[1] eq 'CONNECTED') || ($tustate[1] eq 'WAIT')) {
- $display_colour = $Header::colourgreen;
- $display = $Lang::tr{'capsopen'};
- } else {
- $display = $tustate[1];
- }
- if ($lines %2){
- $col="bgcolor='$color{'color20'}'";
- }else{
- $col="bgcolor='$color{'color22'}'";
- }
- #make cidr from ip
- my ($vpnip,$vpnsub) = split("/",$confighash{$dkey}[11]);
- my $vpnsub=&General::iporsubtocidr($vpnsub);
- my $vpnip="$vpnip/$vpnsub";
- print <
-
- $confighash{$dkey}[1]
- |
-
- $vpnip
- |
-
-
-
- $display
-
-
- |
-
+ # Check if the OpenVPN server for Road Warrior Connections is running and display status information.
+ my $active;
+ my $count=0;
+ # Print the OpenVPN N2N connection status.
+ if ( -d "${General::swroot}/ovpn/n2nconf") {
+ my $col="";
+ foreach my $dkey (sort { ncmp ($ovpnconfig{$a}[1],$ovpnconfig{$b}[1])} keys %ovpnconfig) {
+ if (($ovpnconfig{$dkey}[3] eq 'net') && (-e "/var/run/$ovpnconfig{$dkey}[1]n2n.pid")){
+ $count++;
+ my $tport = $ovpnconfig{$dkey}[22];
+ next if ($tport eq '');
+ my $tnet = new Net::Telnet ( Timeout=>5, Errmode=>'return', Port=>$tport);
+ $tnet->open('127.0.0.1');
+ my @output = $tnet->cmd(String => 'state', Prompt => '/(END.*\n|ERROR:.*\n)/');
+ my @tustate = split(/\,/, $output[1]);
+ my $display;
+ my $display_colour = $Header::colourred;
+ if ( $tustate[1] eq 'CONNECTED' || ($tustate[1] eq 'WAIT')) {
+ $display_colour = $Header::colourgreen;
+ $display = $Lang::tr{'capsopen'};
+ } else {
+ $display = $tustate[1];
+ }
+ if ($count %2){
+ $col="bgcolor='$color{'color22'}'";
+ }else{
+ $col="bgcolor='$color{'color20'}'";
+ }
+ $active='off';
+ #make cidr from ip
+ my ($vpnip,$vpnsub) = split("/",$ovpnconfig{$dkey}[11]);
+ my $vpnsub=&General::iporsubtocidr($vpnsub);
+ my $vpnip="$vpnip/$vpnsub";
+ print <
+ $ovpnconfig{$dkey}[1] |
+ $vpnip |
+ $display |
+
END
+ }
}
}
+ if ($active ne 'off'){
+ print "$Lang::tr{'ovpn no connections'} | ";
+ }
+ print" ";
}
-}
&Header::closebox();
+}
+
# Fireinfo
if ( ! -e "/var/ipfire/main/send_profile") {
$warnmessage .= "$Lang::tr{'fireinfo please enable'}";
@@ -501,52 +523,21 @@ foreach my $disk (@files) {
$warnmessage .= "$disk - $Lang::tr{'deprecated fs warn'}\n\n";
}
-
if ($warnmessage) {
+ &Header::openbox('100%','center', );
+ print "";
+ print "$Lang::tr{'fwhost hint'} | ";
print "$warnmessage | ";
+ &Header::closebox();
}
-print <
-END
-;
+
+print "";
&Header::closebigbox();
&Header::closepage();
diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
index b4753a6fd..eb11acc91 100644
--- a/langs/de/cgi-bin/de.pl
+++ b/langs/de/cgi-bin/de.pl
@@ -1273,6 +1273,7 @@
'iptmangles' => 'IPTable Mangles',
'ipsec' => 'IPsec',
'ipsec network' => 'IPsec-Netzwerke',
+'ipsec no connections' => 'Keine aktiven IPsec Verbindungen',
'iptnats' => 'IPTable Network Address Translation',
'ipts' => 'iptables',
'isdn' => 'ISDN',
@@ -1603,6 +1604,7 @@
'ovpn mtu-disc off' => 'Deaktiviert',
'ovpn mtu-disc with mssfix or fragment' => 'Path MTU Discovery kann nicht gemeinsam mit mssfix oder fragment verwendet werden.',
'ovpn mtu-disc yes' => 'Forciert',
+'ovpn no connections' => 'Keine aktiven OpenVPN Verbindungen',
'ovpn on blue' => 'OpenVPN auf BLAU',
'ovpn on orange' => 'OpenVPN auf ORANGE',
'ovpn on red' => 'OpenVPN auf ROT',
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index 3d9a5eb4d..8f8356b4b 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -1300,6 +1300,7 @@
'ipinfo' => 'IP info',
'ipsec' => 'IPsec',
'ipsec network' => 'IPsec network',
+'ipsec no connections' => 'No active IPsec connections',
'iptable rules' => 'IPTable rules',
'iptmangles' => 'IPTable Mangles',
'iptnats' => 'IPTable Network Address Translation',
@@ -1633,6 +1634,7 @@
'ovpn mtu-disc off' => 'Disabled',
'ovpn mtu-disc with mssfix or fragment' => 'Path MTU Discovery cannot be used with mssfix or fragment.',
'ovpn mtu-disc yes' => 'Forced',
+'ovpn no connections' => 'No active OpenVPN connections',
'ovpn on blue' => 'OpenVPN on BLUE',
'ovpn on orange' => 'OpenVPN on ORANGE',
'ovpn on red' => 'OpenVPN on RED',
--
2.39.2
| |