Revision 4d8b3382
Added by Carlos Eduardo Ramos almost 15 years ago
usr/local/www/vpn_openvpn_server.php | ||
---|---|---|
37 | 37 |
require("guiconfig.inc"); |
38 | 38 |
require_once("openvpn.inc"); |
39 | 39 |
|
40 |
$pgtitle = array("OpenVPN", "Server");
|
|
40 |
$pgtitle = array(gettext("OpenVPN"), gettext("Server"));
|
|
41 | 41 |
$statusurl = "status_openvpn.php"; |
42 | 42 |
$logurl = "diag_logs_openvpn.php"; |
43 | 43 |
|
... | ... | |
175 | 175 |
if (!empty($pconfig['authmode'])) { |
176 | 176 |
foreach ($pconfig['authmode'] as $pauthmode) { |
177 | 177 |
if ($pauthmode != "Local Database" && $pconfig['mode'] == "server_tls_user") |
178 |
$input_errors[] = "Only 'Local authentication database' is allowed with " . $openvpn_server_modes[$pconfig['mode']];
|
|
178 |
$input_errors[] = gettext("Only 'Local authentication database' is allowed with") . " " . $openvpn_server_modes[$pconfig['mode']];
|
|
179 | 179 |
} |
180 | 180 |
} |
181 | 181 |
|
... | ... | |
194 | 194 |
|
195 | 195 |
$portused = openvpn_port_used($pconfig['protocol'], $pconfig['local_port']); |
196 | 196 |
if (($portused != $vpnid) && ($portused != 0)) |
197 |
$input_errors[] = "The specified 'Local port' is in use. Please select another value";
|
|
197 |
$input_errors[] = gettext("The specified 'Local port' is in use. Please select another value");
|
|
198 | 198 |
|
199 | 199 |
if ($pconfig['autokey_enable']) |
200 | 200 |
$pconfig['shared_key'] = openvpn_create_key(); |
... | ... | |
202 | 202 |
if (!$tls_mode && !$pconfig['autokey_enable']) |
203 | 203 |
if (!strstr($pconfig['shared_key'], "-----BEGIN OpenVPN Static key V1-----") || |
204 | 204 |
!strstr($pconfig['shared_key'], "-----END OpenVPN Static key V1-----")) |
205 |
$input_errors[] = "The field 'Shared Key' does not appear to be valid";
|
|
205 |
$input_errors[] = gettext("The field 'Shared Key' does not appear to be valid");
|
|
206 | 206 |
|
207 | 207 |
if ($tls_mode && $pconfig['tlsauth_enable'] && !$pconfig['autotls_enable']) |
208 | 208 |
if (!strstr($pconfig['tls'], "-----BEGIN OpenVPN Static key V1-----") || |
209 | 209 |
!strstr($pconfig['tls'], "-----END OpenVPN Static key V1-----")) |
210 |
$input_errors[] = "The field 'TLS Authentication Key' does not appear to be valid";
|
|
210 |
$input_errors[] = gettext("The field 'TLS Authentication Key' does not appear to be valid");
|
|
211 | 211 |
|
212 | 212 |
if ($pconfig['dns_server_enable']) { |
213 | 213 |
if (!empty($pconfig['dns_server1']) && !is_ipaddr(trim($pconfig['dns_server1']))) |
214 |
$input_errors[] = "The field 'DNS Server #1' must contain a valid IP address";
|
|
214 |
$input_errors[] = gettext("The field 'DNS Server #1' must contain a valid IP address");
|
|
215 | 215 |
if (!empty($pconfig['dns_server2']) && !is_ipaddr(trim($pconfig['dns_server2']))) |
216 |
$input_errors[] = "The field 'DNS Server #2' must contain a valid IP address";
|
|
216 |
$input_errors[] = gettext("The field 'DNS Server #2' must contain a valid IP address");
|
|
217 | 217 |
if (!empty($pconfig['dns_server3']) && !is_ipaddr(trim($pconfig['dns_server3']))) |
218 |
$input_errors[] = "The field 'DNS Server #3' must contain a valid IP address";
|
|
218 |
$input_errors[] = gettext("The field 'DNS Server #3' must contain a valid IP address");
|
|
219 | 219 |
if (!empty($pconfig['dns_server4']) && !is_ipaddr(trim($pconfig['dns_server4']))) |
220 |
$input_errors[] = "The field 'DNS Server #4' must contain a valid IP address";
|
|
220 |
$input_errors[] = gettext("The field 'DNS Server #4' must contain a valid IP address");
|
|
221 | 221 |
} |
222 | 222 |
|
223 | 223 |
if ($pconfig['ntp_server_enable']) { |
224 | 224 |
if (!empty($pconfig['ntp_server1']) && !is_ipaddr(trim($pconfig['ntp_server1']))) |
225 |
$input_errors[] = "The field 'NTP Server #1' must contain a valid IP address";
|
|
225 |
$input_errors[] = gettext("The field 'NTP Server #1' must contain a valid IP address");
|
|
226 | 226 |
if (!empty($pconfig['ntp_server2']) && !is_ipaddr(trim($pconfig['ntp_server2']))) |
227 |
$input_errors[] = "The field 'NTP Server #2' must contain a valid IP address";
|
|
227 |
$input_errors[] = gettext("The field 'NTP Server #2' must contain a valid IP address");
|
|
228 | 228 |
if (!empty($pconfig['ntp_server3']) && !is_ipaddr(trim($pconfig['ntp_server3']))) |
229 |
$input_errors[] = "The field 'NTP Server #3' must contain a valid IP address";
|
|
229 |
$input_errors[] = gettext("The field 'NTP Server #3' must contain a valid IP address");
|
|
230 | 230 |
if (!empty($pconfig['ntp_server4']) && !is_ipaddr(trim($pconfig['ntp_server4']))) |
231 |
$input_errors[] = "The field 'NTP Server #4' must contain a valid IP address";
|
|
231 |
$input_errors[] = gettext("The field 'NTP Server #4' must contain a valid IP address");
|
|
232 | 232 |
} |
233 | 233 |
|
234 | 234 |
if ($pconfig['netbios_enable']) { |
235 | 235 |
if ($pconfig['wins_server_enable']) { |
236 | 236 |
if (!empty($pconfig['wins_server1']) && !is_ipaddr(trim($pconfig['wins_server1']))) |
237 |
$input_errors[] = "The field 'WINS Server #1' must contain a valid IP address";
|
|
237 |
$input_errors[] = gettext("The field 'WINS Server #1' must contain a valid IP address");
|
|
238 | 238 |
if (!empty($pconfig['wins_server2']) && !is_ipaddr(trim($pconfig['wins_server2']))) |
239 |
$input_errors[] = "The field 'WINS Server #2' must contain a valid IP address";
|
|
239 |
$input_errors[] = gettext("The field 'WINS Server #2' must contain a valid IP address");
|
|
240 | 240 |
} |
241 | 241 |
if ($pconfig['nbdd_server_enable']) |
242 | 242 |
if (!empty($pconfig['nbdd_server1']) && !is_ipaddr(trim($pconfig['nbdd_server1']))) |
243 |
$input_errors[] = "The field 'NetBIOS Data Distribution Server #1' must contain a valid IP address";
|
|
243 |
$input_errors[] = gettext("The field 'NetBIOS Data Distribution Server #1' must contain a valid IP address");
|
|
244 | 244 |
} |
245 | 245 |
|
246 | 246 |
if ($pconfig['maxclients'] && !is_numeric($pconfig['maxclients'])) |
247 |
$input_errors[] = "The field 'Concurrent connections' must be numeric.";
|
|
247 |
$input_errors[] = gettext("The field 'Concurrent connections' must be numeric.");
|
|
248 | 248 |
|
249 | 249 |
/* If we are not in shared key mode, then we need the CA/Cert. */ |
250 | 250 |
if ($pconfig['mode'] != "p2p_shared_key") { |
251 | 251 |
$reqdfields = explode(" ", "caref certref"); |
252 |
$reqdfieldsn = explode(",", "Certificate Authority,Certificate");;
|
|
252 |
$reqdfieldsn = array(gettext("Certificate Authority"),gettext("Certificate"));;
|
|
253 | 253 |
} elseif (!$pconfig['autokey_enable']) { |
254 | 254 |
/* We only need the shared key filled in if we are in shared key mode and autokey is not selected. */ |
255 | 255 |
$reqdfields = array('shared_key'); |
256 |
$reqdfieldsn = array('Shared key');
|
|
256 |
$reqdfieldsn = array(gettext('Shared key'));
|
|
257 | 257 |
} |
258 | 258 |
|
259 | 259 |
$reqdfields[] = 'tunnel_network'; |
260 |
$reqdfieldsn[] = 'Tunnel network';
|
|
260 |
$reqdfieldsn[] = gettext('Tunnel network');
|
|
261 | 261 |
|
262 | 262 |
do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); |
263 | 263 |
|
... | ... | |
534 | 534 |
<form action="vpn_openvpn_server.php" method="post" name="iform" id="iform" onsubmit="presubmit()"> |
535 | 535 |
<table width="100%" border="0" cellpadding="6" cellspacing="0"> |
536 | 536 |
<tr> |
537 |
<td colspan="2" valign="top" class="listtopic">General information</td>
|
|
537 |
<td colspan="2" valign="top" class="listtopic"><?=gettext("General information"); ?></td>
|
|
538 | 538 |
</tr> |
539 | 539 |
<tr> |
540 |
<td width="22%" valign="top" class="vncellreq">Disabled</td>
|
|
540 |
<td width="22%" valign="top" class="vncellreq"><?=gettext("Disabled"); ?></td>
|
|
541 | 541 |
<td width="78%" class="vtable"> |
542 | 542 |
<table border="0" cellpadding="0" cellspacing="0"> |
543 | 543 |
<tr> |
... | ... | |
548 | 548 |
<td> |
549 | 549 |
|
550 | 550 |
<span class="vexpl"> |
551 |
<strong>Disable this server</strong><br>
|
|
551 |
<strong><?=gettext("Disable this server"); ?></strong><br>
|
|
552 | 552 |
</span> |
553 | 553 |
</td> |
554 | 554 |
</tr> |
555 | 555 |
</table> |
556 |
Set this option to disable this server without removing it from the list.
|
|
556 |
<?=gettext("Set this option to disable this server without removing it from the list"); ?>.
|
|
557 | 557 |
</td> |
558 | 558 |
</tr> |
559 | 559 |
<tr> |
... | ... | |
604 | 604 |
</td> |
605 | 605 |
</tr> |
606 | 606 |
<tr> |
607 |
<td width="22%" valign="top" class="vncellreq">Interface</td>
|
|
607 |
<td width="22%" valign="top" class="vncellreq"><?=gettext("Interface"); ?></td>
|
|
608 | 608 |
<td width="78%" class="vtable"> |
609 | 609 |
<select name="interface" class="formselect"> |
610 | 610 |
<?php |
... | ... | |
635 | 635 |
</td> |
636 | 636 |
</tr> |
637 | 637 |
<tr> |
638 |
<td width="22%" valign="top" class="vncell">Description</td>
|
|
638 |
<td width="22%" valign="top" class="vncell"><?=gettext("Description"); ?></td>
|
|
639 | 639 |
<td width="78%" class="vtable"> |
640 | 640 |
<input name="description" type="text" class="formfld unknown" size="30" value="<?=htmlspecialchars($pconfig['description']);?>"> |
641 | 641 |
<br> |
642 |
You may enter a description here for your reference (not parsed).
|
|
642 |
<?=gettext("You may enter a description here for your reference (not parsed)"); ?>.
|
|
643 | 643 |
</td> |
644 | 644 |
</tr> |
645 | 645 |
<tr> |
646 | 646 |
<td colspan="2" class="list" height="12"></td> |
647 | 647 |
</tr> |
648 | 648 |
<tr> |
649 |
<td colspan="2" valign="top" class="listtopic">Cryptographic Settings</td>
|
|
649 |
<td colspan="2" valign="top" class="listtopic"><?=gettext("Cryptographic Settings"); ?></td>
|
|
650 | 650 |
</tr> |
651 | 651 |
<tr id="tls"> |
652 |
<td width="22%" valign="top" class="vncellreq">TLS Authentication</td>
|
|
652 |
<td width="22%" valign="top" class="vncellreq"><?=gettext("TLS Authentication"); ?></td>
|
|
653 | 653 |
<td width="78%" class="vtable"> |
654 | 654 |
<table border="0" cellpadding="2" cellspacing="0"> |
655 | 655 |
<tr> |
... | ... | |
659 | 659 |
</td> |
660 | 660 |
<td> |
661 | 661 |
<span class="vexpl"> |
662 |
Enable authentication of TLS packets.
|
|
662 |
<?=gettext("Enable authentication of TLS packets"); ?>.
|
|
663 | 663 |
</span> |
664 | 664 |
</td> |
665 | 665 |
</tr> |
... | ... | |
673 | 673 |
</td> |
674 | 674 |
<td> |
675 | 675 |
<span class="vexpl"> |
676 |
Automatically generate a shared TLS authentication key.
|
|
676 |
<?=gettext("Automatically generate a shared TLS authentication key"); ?>.
|
|
677 | 677 |
</span> |
678 | 678 |
</td> |
679 | 679 |
</tr> |
... | ... | |
684 | 684 |
<td> |
685 | 685 |
<textarea name="tls" cols="65" rows="7" class="formpre"><?=htmlspecialchars($pconfig['tls']);?></textarea> |
686 | 686 |
<br/> |
687 |
Paste your shared key here.
|
|
687 |
<?=gettext("Paste your shared key here"); ?>.
|
|
688 | 688 |
</td> |
689 | 689 |
</tr> |
690 | 690 |
</table> |
691 | 691 |
</td> |
692 | 692 |
</tr> |
693 | 693 |
<tr id="tls_ca"> |
694 |
<td width="22%" valign="top" class="vncellreq">Peer Certificate Authority</td>
|
|
694 |
<td width="22%" valign="top" class="vncellreq"><?=gettext("Peer Certificate Authority"); ?></td>
|
|
695 | 695 |
<td width="78%" class="vtable"> |
696 | 696 |
<select name='caref' class="formselect"> |
697 | 697 |
<?php |
... | ... | |
706 | 706 |
</td> |
707 | 707 |
</tr> |
708 | 708 |
<tr id="tls_cert"> |
709 |
<td width="22%" valign="top" class="vncellreq">Server Certificate</td>
|
|
709 |
<td width="22%" valign="top" class="vncellreq"><?=gettext("Server Certificate"); ?></td>
|
|
710 | 710 |
<td width="78%" class="vtable"> |
711 | 711 |
<select name='certref' class="formselect"> |
712 | 712 |
<?php |
... | ... | |
723 | 723 |
</td> |
724 | 724 |
</tr> |
725 | 725 |
<tr id="tls_dh"> |
726 |
<td width="22%" valign="top" class="vncellreq">DH Parameters Length</td>
|
|
726 |
<td width="22%" valign="top" class="vncellreq"><?=gettext("DH Parameters Length"); ?></td>
|
|
727 | 727 |
<td width="78%" class="vtable"> |
728 | 728 |
<select name="dh_length" class="formselect"> |
729 | 729 |
<?php |
... | ... | |
741 | 741 |
</td> |
742 | 742 |
</tr> |
743 | 743 |
<tr id="psk"> |
744 |
<td width="22%" valign="top" class="vncellreq">Shared Key</td>
|
|
744 |
<td width="22%" valign="top" class="vncellreq"><?=gettext("Shared Key"); ?></td>
|
|
745 | 745 |
<td width="78%" class="vtable"> |
746 | 746 |
<?php if (!$pconfig['shared_key']): ?> |
747 | 747 |
<table border="0" cellpadding="2" cellspacing="0"> |
... | ... | |
752 | 752 |
</td> |
753 | 753 |
<td> |
754 | 754 |
<span class="vexpl"> |
755 |
Automatically generate a shared key.
|
|
755 |
<?=gettext("Automatically generate a shared key"); ?>.
|
|
756 | 756 |
</span> |
757 | 757 |
</td> |
758 | 758 |
</tr> |
... | ... | |
763 | 763 |
<td> |
764 | 764 |
<textarea name="shared_key" cols="65" rows="7" class="formpre"><?=htmlspecialchars($pconfig['shared_key']);?></textarea> |
765 | 765 |
<br/> |
766 |
Paste your shared key here.
|
|
766 |
<?=gettext("Paste your shared key here"); ?>.
|
|
767 | 767 |
</td> |
768 | 768 |
</tr> |
769 | 769 |
</table> |
770 | 770 |
</td> |
771 | 771 |
</tr> |
772 | 772 |
<tr> |
773 |
<td width="22%" valign="top" class="vncellreq">Encryption algorithm</td>
|
|
773 |
<td width="22%" valign="top" class="vncellreq"><?=gettext("Encryption algorithm"); ?></td>
|
|
774 | 774 |
<td width="78%" class="vtable"> |
775 | 775 |
<select name="crypto" class="formselect"> |
776 | 776 |
<?php |
... | ... | |
791 | 791 |
<td colspan="2" class="list" height="12"></td> |
792 | 792 |
</tr> |
793 | 793 |
<tr> |
794 |
<td colspan="2" valign="top" class="listtopic">Tunnel Settings</td>
|
|
794 |
<td colspan="2" valign="top" class="listtopic"><?=gettext("Tunnel Settings"); ?></td>
|
|
795 | 795 |
</tr> |
796 | 796 |
<tr> |
797 |
<td width="22%" valign="top" class="vncellreq">Tunnel Network</td>
|
|
797 |
<td width="22%" valign="top" class="vncellreq"><?=gettext("Tunnel Network"); ?></td>
|
|
798 | 798 |
<td width="78%" class="vtable"> |
799 | 799 |
<input name="tunnel_network" type="text" class="formfld unknown" size="20" value="<?=htmlspecialchars($pconfig['tunnel_network']);?>"> |
800 | 800 |
<br> |
801 |
This is the virtual network used for private
|
|
802 |
communications between this server and client
|
|
803 |
hosts expressed using CIDR (eg. 10.0.8.0/24).
|
|
804 |
The first network address will be assigned to
|
|
805 |
the server virtual interface. The remaining
|
|
806 |
network addresses can optionally be assigned
|
|
807 |
to connecting clients. (see Address Pool)
|
|
801 |
<?=gettext("This is the virtual network used for private " .
|
|
802 |
"communications between this server and client " .
|
|
803 |
"hosts expressed using CIDR (eg. 10.0.8.0/24). " .
|
|
804 |
"The first network address will be assigned to " .
|
|
805 |
"the server virtual interface. The remaining " .
|
|
806 |
"network addresses can optionally be assigned " .
|
|
807 |
"to connecting clients. (see Address Pool)"); ?>
|
|
808 | 808 |
</td> |
809 | 809 |
</tr> |
810 | 810 |
<tr> |
811 |
<td width="22%" valign="top" class="vncell">Redirect Gateway</td>
|
|
811 |
<td width="22%" valign="top" class="vncell"><?=gettext("Redirect Gateway"); ?></td>
|
|
812 | 812 |
<td width="78%" class="vtable"> |
813 | 813 |
<table border="0" cellpadding="2" cellspacing="0"> |
814 | 814 |
<tr> |
... | ... | |
818 | 818 |
</td> |
819 | 819 |
<td> |
820 | 820 |
<span class="vexpl"> |
821 |
Force all client generated traffic through the tunnel.
|
|
821 |
<?=gettext("Force all client generated traffic through the tunnel"); ?>.
|
|
822 | 822 |
</span> |
823 | 823 |
</td> |
824 | 824 |
</tr> |
... | ... | |
826 | 826 |
</td> |
827 | 827 |
</tr> |
828 | 828 |
<tr id="local_opts"> |
829 |
<td width="22%" valign="top" class="vncell">Local Network</td>
|
|
829 |
<td width="22%" valign="top" class="vncell"><?=gettext("Local Network"); ?></td>
|
|
830 | 830 |
<td width="78%" class="vtable"> |
831 | 831 |
<input name="local_network" type="text" class="formfld unknown" size="20" value="<?=htmlspecialchars($pconfig['local_network']);?>"> |
832 | 832 |
<br> |
833 |
This is the network that will be accessible
|
|
834 |
from the remote endpoint. Expressed as a CIDR
|
|
835 |
range. You may leave this blank if you don't
|
|
836 |
want to add a route to the local network
|
|
837 |
through this tunnel on the remote machine.
|
|
838 |
This is generally set to your LAN network.
|
|
833 |
<?=gettext("This is the network that will be accessible " .
|
|
834 |
"from the remote endpoint. Expressed as a CIDR " .
|
|
835 |
"range. You may leave this blank if you don't " .
|
|
836 |
"want to add a route to the local network " .
|
|
837 |
"through this tunnel on the remote machine. " .
|
|
838 |
"This is generally set to your LAN network"); ?>.
|
|
839 | 839 |
</td> |
840 | 840 |
</tr> |
841 | 841 |
<tr id="remote_opts"> |
842 |
<td width="22%" valign="top" class="vncell">Remote Network</td>
|
|
842 |
<td width="22%" valign="top" class="vncell"><?=gettext("Remote Network"); ?></td>
|
|
843 | 843 |
<td width="78%" class="vtable"> |
844 | 844 |
<input name="remote_network" type="text" class="formfld unknown" size="20" value="<?=htmlspecialchars($pconfig['remote_network']);?>"> |
845 | 845 |
<br> |
846 |
This is a network that will be routed through
|
|
847 |
the tunnel, so that a site-to-site VPN can be
|
|
848 |
established without manually changing the
|
|
849 |
routing tables. Expressed as a CIDR range. If
|
|
850 |
this is a site-to-site VPN, enter here the
|
|
851 |
remote LAN here. You may leave this blank if
|
|
852 |
you don't want a site-to-site VPN.
|
|
846 |
<?=gettext("This is a network that will be routed through " .
|
|
847 |
"the tunnel, so that a site-to-site VPN can be " .
|
|
848 |
"established without manually changing the " .
|
|
849 |
"routing tables. Expressed as a CIDR range. If " .
|
|
850 |
"this is a site-to-site VPN, enter here the " .
|
|
851 |
"remote LAN here. You may leave this blank if " .
|
|
852 |
"you don't want a site-to-site VPN"); ?>.
|
|
853 | 853 |
</td> |
854 | 854 |
</tr> |
855 | 855 |
<tr> |
... | ... | |
857 | 857 |
<td width="78%" class="vtable"> |
858 | 858 |
<input name="maxclients" type="text" class="formfld unknown" size="5" value="<?=htmlspecialchars($pconfig['maxclients']);?>"/> |
859 | 859 |
<br/> |
860 |
Specify the maximum number of clients allowed to concurrently connect to this server.
|
|
860 |
<?=gettext("Specify the maximum number of clients allowed to concurrently connect to this server"); ?>.
|
|
861 | 861 |
</td> |
862 | 862 |
</tr> |
863 | 863 |
<tr> |
864 |
<td width="22%" valign="top" class="vncell">Compression</td>
|
|
864 |
<td width="22%" valign="top" class="vncell"><?=gettext("Compression"); ?></td>
|
|
865 | 865 |
<td width="78%" class="vtable"> |
866 | 866 |
<table border="0" cellpadding="2" cellspacing="0"> |
867 | 867 |
<tr> |
... | ... | |
871 | 871 |
</td> |
872 | 872 |
<td> |
873 | 873 |
<span class="vexpl"> |
874 |
Compress tunnel packets using the LZO algorithm.
|
|
874 |
<?=gettext("Compress tunnel packets using the LZO algorithm"); ?>.
|
|
875 | 875 |
</span> |
876 | 876 |
</td> |
877 | 877 |
</tr> |
... | ... | |
879 | 879 |
</td> |
880 | 880 |
</tr> |
881 | 881 |
<tr> |
882 |
<td width="22%" valign="top" class="vncell">Type-of-Service</td>
|
|
882 |
<td width="22%" valign="top" class="vncell"><?=gettext("Type-of-Service"); ?></td>
|
|
883 | 883 |
<td width="78%" class="vtable"> |
884 | 884 |
<table border="0" cellpadding="2" cellspacing="0"> |
885 | 885 |
<tr> |
... | ... | |
889 | 889 |
</td> |
890 | 890 |
<td> |
891 | 891 |
<span class="vexpl"> |
892 |
Set the TOS IP header value of tunnel packets to match the encapsulated packet value.
|
|
892 |
<?=gettext("Set the TOS IP header value of tunnel packets to match the encapsulated packet value"); ?>.
|
|
893 | 893 |
</span> |
894 | 894 |
</td> |
895 | 895 |
</tr> |
... | ... | |
897 | 897 |
</td> |
898 | 898 |
</tr> |
899 | 899 |
<tr id="inter_client_communication"> |
900 |
<td width="22%" valign="top" class="vncell">Inter-client communication</td>
|
|
900 |
<td width="22%" valign="top" class="vncell"><?=gettext("Inter-client communication"); ?></td>
|
|
901 | 901 |
<td width="78%" class="vtable"> |
902 | 902 |
<table border="0" cellpadding="2" cellspacing="0"> |
903 | 903 |
<tr> |
... | ... | |
907 | 907 |
</td> |
908 | 908 |
<td> |
909 | 909 |
<span class="vexpl"> |
910 |
Allow communication between clients connected to this server
|
|
910 |
<?=gettext("Allow communication between clients connected to this server"); ?>
|
|
911 | 911 |
</span> |
912 | 912 |
</td> |
913 | 913 |
</tr> |
... | ... | |
921 | 921 |
<td colspan="2" class="list" height="12"></td> |
922 | 922 |
</tr> |
923 | 923 |
<tr> |
924 |
<td colspan="2" valign="top" class="listtopic">Client Settings</td>
|
|
924 |
<td colspan="2" valign="top" class="listtopic"><?=gettext("Client Settings"); ?></td>
|
|
925 | 925 |
</tr> |
926 | 926 |
<tr> |
927 |
<td width="22%" valign="top" class="vncell">Dynamic IP</td>
|
|
927 |
<td width="22%" valign="top" class="vncell"><?=gettext("Dynamic IP"); ?></td>
|
|
928 | 928 |
<td width="78%" class="vtable"> |
929 | 929 |
<table border="0" cellpadding="2" cellspacing="0"> |
930 | 930 |
<tr> |
... | ... | |
934 | 934 |
</td> |
935 | 935 |
<td> |
936 | 936 |
<span class="vexpl"> |
937 |
Allow connected clients to retain their connections if their IP address changes.<br>
|
|
937 |
<?=gettext("Allow connected clients to retain their connections if their IP address changes"); ?>.<br>
|
|
938 | 938 |
</span> |
939 | 939 |
</td> |
940 | 940 |
</tr> |
... | ... | |
942 | 942 |
</td> |
943 | 943 |
</tr> |
944 | 944 |
<tr> |
945 |
<td width="22%" valign="top" class="vncell">Address Pool</td>
|
|
945 |
<td width="22%" valign="top" class="vncell"><?=gettext("Address Pool"); ?></td>
|
|
946 | 946 |
<td width="78%" class="vtable"> |
947 | 947 |
<table border="0" cellpadding="2" cellspacing="0"> |
948 | 948 |
<tr> |
... | ... | |
952 | 952 |
</td> |
953 | 953 |
<td> |
954 | 954 |
<span class="vexpl"> |
955 |
Provide a virtual adapter IP address to clients (see Tunnel Network)<br>
|
|
955 |
<?=gettext("Provide a virtual adapter IP address to clients (see Tunnel Network)"); ?><br>
|
|
956 | 956 |
</span> |
957 | 957 |
</td> |
958 | 958 |
</tr> |
... | ... | |
960 | 960 |
</td> |
961 | 961 |
</tr> |
962 | 962 |
<tr> |
963 |
<td width="22%" valign="top" class="vncell">DNS Default Domain</td>
|
|
963 |
<td width="22%" valign="top" class="vncell"><?=gettext("DNS Default Domain"); ?></td>
|
|
964 | 964 |
<td width="78%" class="vtable"> |
965 | 965 |
<table border="0" cellpadding="2" cellspacing="0"> |
966 | 966 |
<tr> |
... | ... | |
970 | 970 |
</td> |
971 | 971 |
<td> |
972 | 972 |
<span class="vexpl"> |
973 |
Provide a default domain name to clients<br>
|
|
973 |
<?=gettext("Provide a default domain name to clients"); ?><br>
|
|
974 | 974 |
</span> |
975 | 975 |
</td> |
976 | 976 |
</tr> |
... | ... | |
985 | 985 |
</td> |
986 | 986 |
</tr> |
987 | 987 |
<tr> |
988 |
<td width="22%" valign="top" class="vncell">DNS Servers</td>
|
|
988 |
<td width="22%" valign="top" class="vncell"><?=gettext("DNS Servers"); ?></td>
|
|
989 | 989 |
<td width="78%" class="vtable"> |
990 | 990 |
<table border="0" cellpadding="2" cellspacing="0"> |
991 | 991 |
<tr> |
... | ... | |
995 | 995 |
</td> |
996 | 996 |
<td> |
997 | 997 |
<span class="vexpl"> |
998 |
Provide a DNS server list to clients<br>
|
|
998 |
<?=gettext("Provide a DNS server list to clients"); ?><br>
|
|
999 | 999 |
</span> |
1000 | 1000 |
</td> |
1001 | 1001 |
</tr> |
... | ... | |
1004 | 1004 |
<tr> |
1005 | 1005 |
<td> |
1006 | 1006 |
<span class="vexpl"> |
1007 |
Server #1:
|
|
1007 |
<?=gettext("Server"); ?> #1:
|
|
1008 | 1008 |
</span> |
1009 | 1009 |
<input name="dns_server1" type="text" class="formfld unknown" id="dns_server1" size="20" value="<?=$pconfig['dns_server1'];?>"> |
1010 | 1010 |
</td> |
... | ... | |
1012 | 1012 |
<tr> |
1013 | 1013 |
<td> |
1014 | 1014 |
<span class="vexpl"> |
1015 |
Server #2:
|
|
1015 |
<?=gettext("Server"); ?> #2:
|
|
1016 | 1016 |
</span> |
1017 | 1017 |
<input name="dns_server2" type="text" class="formfld unknown" id="dns_server2" size="20" value="<?=$pconfig['dns_server2'];?>"> |
1018 | 1018 |
</td> |
... | ... | |
1020 | 1020 |
<tr> |
1021 | 1021 |
<td> |
1022 | 1022 |
<span class="vexpl"> |
1023 |
Server #3:
|
|
1023 |
<?=gettext("Server"); ?> #3:
|
|
1024 | 1024 |
</span> |
1025 | 1025 |
<input name="dns_server3" type="text" class="formfld unknown" id="dns_server3" size="20" value="<?=$pconfig['dns_server3'];?>"> |
1026 | 1026 |
</td> |
... | ... | |
1028 | 1028 |
<tr> |
1029 | 1029 |
<td> |
1030 | 1030 |
<span class="vexpl"> |
1031 |
Server #4:
|
|
1031 |
<?=gettext("Server"); ?> #4:
|
|
1032 | 1032 |
</span> |
1033 | 1033 |
<input name="dns_server4" type="text" class="formfld unknown" id="dns_server4" size="20" value="<?=$pconfig['dns_server4'];?>"> |
1034 | 1034 |
</td> |
... | ... | |
1037 | 1037 |
</td> |
1038 | 1038 |
</tr> |
1039 | 1039 |
<tr> |
1040 |
<td width="22%" valign="top" class="vncell">NTP Servers</td>
|
|
1040 |
<td width="22%" valign="top" class="vncell"><?=gettext("NTP Servers"); ?></td>
|
|
1041 | 1041 |
<td width="78%" class="vtable"> |
1042 | 1042 |
<table border="0" cellpadding="2" cellspacing="0"> |
1043 | 1043 |
<tr> |
... | ... | |
1047 | 1047 |
</td> |
1048 | 1048 |
<td> |
1049 | 1049 |
<span class="vexpl"> |
1050 |
Provide a NTP server list to clients<br>
|
|
1050 |
<?=gettext("Provide a NTP server list to clients"); ?><br>
|
|
1051 | 1051 |
</span> |
1052 | 1052 |
</td> |
1053 | 1053 |
</tr> |
... | ... | |
1056 | 1056 |
<tr> |
1057 | 1057 |
<td> |
1058 | 1058 |
<span class="vexpl"> |
1059 |
Server #1:
|
|
1059 |
<?=gettext("Server"); ?> #1:
|
|
1060 | 1060 |
</span> |
1061 | 1061 |
<input name="ntp_server1" type="text" class="formfld unknown" id="ntp_server1" size="20" value="<?=$pconfig['ntp_server1'];?>"> |
1062 | 1062 |
</td> |
... | ... | |
1064 | 1064 |
<tr> |
1065 | 1065 |
<td> |
1066 | 1066 |
<span class="vexpl"> |
1067 |
Server #2:
|
|
1067 |
<?=gettext("Server"); ?> #2:
|
|
1068 | 1068 |
</span> |
1069 | 1069 |
<input name="ntp_server2" type="text" class="formfld unknown" id="ntp_server2" size="20" value="<?=$pconfig['ntp_server2'];?>"> |
1070 | 1070 |
</td> |
... | ... | |
1073 | 1073 |
</td> |
1074 | 1074 |
</tr> |
1075 | 1075 |
<tr> |
1076 |
<td width="22%" valign="top" class="vncell">NetBIOS Options</td>
|
|
1076 |
<td width="22%" valign="top" class="vncell"><?=gettext("NetBIOS Options"); ?></td>
|
|
1077 | 1077 |
<td width="78%" class="vtable"> |
1078 | 1078 |
<table border="0" cellpadding="2" cellspacing="0"> |
1079 | 1079 |
<tr> |
... | ... | |
1083 | 1083 |
</td> |
1084 | 1084 |
<td> |
1085 | 1085 |
<span class="vexpl"> |
1086 |
Enable NetBIOS over TCP/IP<br>
|
|
1086 |
<?=gettext("Enable NetBIOS over TCP/IP"); ?><br>
|
|
1087 | 1087 |
</span> |
1088 | 1088 |
</td> |
1089 | 1089 |
</tr> |
1090 | 1090 |
</table> |
1091 |
If this option is not set, all NetBIOS-over-TCP/IP options (including WINS) will be disabled.
|
|
1091 |
<?=gettext("If this option is not set, all NetBIOS-over-TCP/IP options (including WINS) will be disabled"); ?>.
|
|
1092 | 1092 |
<br/> |
1093 | 1093 |
<table border="0" cellpadding="2" cellspacing="0" id="netbios_data"> |
1094 | 1094 |
<tr> |
1095 | 1095 |
<td> |
1096 | 1096 |
<br/> |
1097 | 1097 |
<span class="vexpl"> |
1098 |
Node Type:
|
|
1098 |
<?=gettext("Node Type"); ?>:
|
|
1099 | 1099 |
</span> |
1100 | 1100 |
<select name='netbios_ntype' class="formselect"> |
1101 | 1101 |
<?php |
... | ... | |
1108 | 1108 |
<?php endforeach; ?> |
1109 | 1109 |
</select> |
1110 | 1110 |
<br/> |
1111 |
Possible options: b-node (broadcasts), p-node
|
|
1112 |
(point-to-point name queries to a WINS server),
|
|
1113 |
m-node (broadcast then query name server), and
|
|
1114 |
h-node (query name server, then broadcast).
|
|
1111 |
<?=gettext("Possible options: b-node (broadcasts), p-node " .
|
|
1112 |
"(point-to-point name queries to a WINS server), " .
|
|
1113 |
"m-node (broadcast then query name server), and " .
|
|
1114 |
"h-node (query name server, then broadcast)"); ?>.
|
|
1115 | 1115 |
</td> |
1116 | 1116 |
</tr> |
1117 | 1117 |
<tr> |
1118 | 1118 |
<td> |
1119 | 1119 |
<br/> |
1120 | 1120 |
<span class="vexpl"> |
1121 |
Scope ID:
|
|
1121 |
<?=gettext("Scope ID"); ?>:
|
|
1122 | 1122 |
</span> |
1123 | 1123 |
<input name="netbios_scope" type="text" class="formfld unknown" id="netbios_scope" size="30" value="<?=htmlspecialchars($pconfig['netbios_scope']);?>"> |
1124 | 1124 |
<br/> |
1125 |
A NetBIOS Scope ID provides an extended naming
|
|
1126 |
service for NetBIOS over TCP/IP. The NetBIOS
|
|
1127 |
scope ID isolates NetBIOS traffic on a single
|
|
1128 |
network to only those nodes with the same
|
|
1129 |
NetBIOS scope ID.
|
|
1125 |
<?=gettext("A NetBIOS Scope ID provides an extended naming " .
|
|
1126 |
"service for NetBIOS over TCP/IP. The NetBIOS " .
|
|
1127 |
"scope ID isolates NetBIOS traffic on a single " .
|
|
1128 |
"network to only those nodes with the same " .
|
|
1129 |
"NetBIOS scope ID"); ?>.
|
|
1130 | 1130 |
</td> |
1131 | 1131 |
</tr> |
1132 | 1132 |
</table> |
1133 | 1133 |
</td> |
1134 | 1134 |
</tr> |
1135 | 1135 |
<tr id="wins_opts"> |
1136 |
<td width="22%" valign="top" class="vncell">WINS Servers</td>
|
|
1136 |
<td width="22%" valign="top" class="vncell"><?=gettext("WINS Servers"); ?></td>
|
|
1137 | 1137 |
<td width="78%" class="vtable"> |
1138 | 1138 |
<table border="0" cellpadding="2" cellspacing="0"> |
1139 | 1139 |
<tr> |
... | ... | |
1143 | 1143 |
</td> |
1144 | 1144 |
<td> |
1145 | 1145 |
<span class="vexpl"> |
1146 |
Provide a WINS server list to clients<br>
|
|
1146 |
<?=gettext("Provide a WINS server list to clients"); ?><br>
|
|
1147 | 1147 |
</span> |
1148 | 1148 |
</td> |
1149 | 1149 |
</tr> |
... | ... | |
1152 | 1152 |
<tr> |
1153 | 1153 |
<td> |
1154 | 1154 |
<span class="vexpl"> |
1155 |
Server #1:
|
|
1155 |
<?=gettext("Server"); ?> #1:
|
|
1156 | 1156 |
</span> |
1157 | 1157 |
<input name="wins_server1" type="text" class="formfld unknown" id="wins_server1" size="20" value="<?=$pconfig['wins_server1'];?>"> |
1158 | 1158 |
</td> |
... | ... | |
1160 | 1160 |
<tr> |
1161 | 1161 |
<td> |
1162 | 1162 |
<span class="vexpl"> |
1163 |
Server #2:
|
|
1163 |
<?=gettext("Server"); ?> #2:
|
|
1164 | 1164 |
</span> |
1165 | 1165 |
<input name="wins_server2" type="text" class="formfld unknown" id="wins_server2" size="20" value="<?=$pconfig['wins_server2'];?>"> |
1166 | 1166 |
</td> |
... | ... | |
1175 | 1175 |
<td colspan="2" class="list" height="12"></td> |
1176 | 1176 |
</tr> |
1177 | 1177 |
<tr> |
1178 |
<td colspan="2" valign="top" class="listtopic">Advanced configuration</td>
|
|
1178 |
<td colspan="2" valign="top" class="listtopic"><?=gettext("Advanced configuration"); ?></td>
|
|
1179 | 1179 |
</tr> |
1180 | 1180 |
<tr> |
1181 |
<td width="22%" valign="top" class="vncell">Advanced</td>
|
|
1181 |
<td width="22%" valign="top" class="vncell"><?=gettext("Advanced"); ?></td>
|
|
1182 | 1182 |
<td width="78%" class="vtable"> |
1183 | 1183 |
<table border="0" cellpadding="2" cellspacing="0"> |
1184 | 1184 |
<tr> |
1185 | 1185 |
<td> |
1186 | 1186 |
<textarea rows="6" cols="78" name="custom_options" id="custom_options"><?=$pconfig['custom_options'];?></textarea><br/> |
1187 |
Enter any additional options you would like to add to the OpenVPN server configuration here, separated by a semicolon<br/>
|
|
1188 |
EXAMPLE: push "route 10.0.0.0 255.255.255.0";
|
|
1187 |
<?=gettext("Enter any additional options you would like to add to the OpenVPN server configuration here, separated by a semicolon"); ?><br/>
|
|
1188 |
<?=gettext("EXAMPLE: push \"route 10.0.0.0 255.255.255.0\""); ?>;
|
|
1189 | 1189 |
</td> |
1190 | 1190 |
</tr> |
1191 | 1191 |
</table> |
... | ... | |
1199 | 1199 |
<tr> |
1200 | 1200 |
<td width="22%" valign="top"> </td> |
1201 | 1201 |
<td width="78%"> |
1202 |
<input name="save" type="submit" class="formbtn" value="Save">
|
|
1202 |
<input name="save" type="submit" class="formbtn" value="<?=gettext("Save"); ?>">
|
|
1203 | 1203 |
<input name="act" type="hidden" value="<?=$act;?>"> |
1204 | 1204 |
<?php if (isset($id) && $a_server[$id]): ?> |
1205 | 1205 |
<input name="id" type="hidden" value="<?=$id;?>"> |
... | ... | |
1213 | 1213 |
|
1214 | 1214 |
<table class="sortable" width="100%" border="0" cellpadding="0" cellspacing="0"> |
1215 | 1215 |
<tr> |
1216 |
<td width="10%" class="listhdrr">Disabled</td>
|
|
1217 |
<td width="10%" class="listhdrr">Protocol / Port</td>
|
|
1218 |
<td width="30%" class="listhdrr">Tunnel Network</td>
|
|
1219 |
<td width="40%" class="listhdrr">Description</td>
|
|
1216 |
<td width="10%" class="listhdrr"><?=gettext("Disabled"); ?></td>
|
|
1217 |
<td width="10%" class="listhdrr"><?=gettext("Protocol / Port"); ?></td>
|
|
1218 |
<td width="30%" class="listhdrr"><?=gettext("Tunnel Network"); ?></td>
|
|
1219 |
<td width="40%" class="listhdrr"><?=gettext("Description"); ?></td>
|
|
1220 | 1220 |
<td width="10%" class="list"></td> |
1221 | 1221 |
</tr> |
1222 | 1222 |
<?php |
... | ... | |
1241 | 1241 |
</td> |
1242 | 1242 |
<td valign="middle" nowrap class="list"> |
1243 | 1243 |
<a href="vpn_openvpn_server.php?act=edit&id=<?=$i;?>"> |
1244 |
<img src="./themes/<?=$g['theme'];?>/images/icons/icon_e.gif" title="edit server" width="17" height="17" border="0">
|
|
1244 |
<img src="./themes/<?=$g['theme'];?>/images/icons/icon_e.gif" title="<?=gettext("edit server"); ?>" width="17" height="17" border="0">
|
|
1245 | 1245 |
</a> |
1246 | 1246 |
|
1247 |
<a href="vpn_openvpn_server.php?act=del&id=<?=$i;?>" onclick="return confirm('Do you really want to delete this server?')">
|
|
1248 |
<img src="/themes/<?=$g['theme'];?>/images/icons/icon_x.gif" title="delete server" width="17" height="17" border="0">
|
|
1247 |
<a href="vpn_openvpn_server.php?act=del&id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this server?"); ?>')">
|
|
1248 |
<img src="/themes/<?=$g['theme'];?>/images/icons/icon_x.gif" title="<?=gettext("delete server"); ?>" width="17" height="17" border="0">
|
|
1249 | 1249 |
</a> |
1250 | 1250 |
</td> |
1251 | 1251 |
</tr> |
... | ... | |
1256 | 1256 |
<tr> |
1257 | 1257 |
<td class="list" colspan="4"></td> |
1258 | 1258 |
<td class="list"> |
1259 |
<a href="vpn_openvpn_server.php?act=new"><img src="./themes/<?=$g['theme'];?>/images/icons/icon_plus.gif" title="add server" width="17" height="17" border="0">
|
|
1259 |
<a href="vpn_openvpn_server.php?act=new"><img src="./themes/<?=$g['theme'];?>/images/icons/icon_plus.gif" title="<?=gettext("add server"); ?>" width="17" height="17" border="0">
|
|
1260 | 1260 |
</a> |
1261 | 1261 |
</td> |
1262 | 1262 |
</tr> |
... | ... | |
1296 | 1296 |
$chk = ''; |
1297 | 1297 |
} |
1298 | 1298 |
|
1299 |
?> |
|
1299 |
?> |
Also available in: Unified diff
Implement gettext() calls on vpn_openvpn_server.php