<packagegui> <name>openvpnserver</name> <title>OpenVPN: Server</title> <include_file>openvpn.inc</include_file> <delete_string>An OpenVPN server has been deleted.</delete_string> <addedit_string>An OpenVPN server has been created/modified.</addedit_string> <tabs> <tab> <text>Server</text> <url>/pkg.php?xml=openvpn.xml</url> <active/> </tab> <tab> <text>Client</text> <url>/pkg.php?xml=openvpn_cli.xml</url> </tab> <tab> <text>Client-specific configuration</text> <url>/pkg.php?xml=openvpn_csc.xml</url> </tab> </tabs> <adddeleteeditpagefields> <columnitem> <fieldname>disable</fieldname> <fielddescr>Disabled</fielddescr> <type>checkbox</type> </columnitem> <columnitem> <fieldname>protocol</fieldname> <fielddescr>Protocol</fielddescr> </columnitem> <columnitem> <fieldname>addresspool</fieldname> <fielddescr>Address pool</fielddescr> </columnitem> <columnitem> <fieldname>description</fieldname> <fielddescr>Description</fielddescr> </columnitem> </adddeleteeditpagefields> <fields> <field> <fieldname>disable</fieldname> <fielddescr>Disable this tunnel</fielddescr> <description>This allows you to disable this tunnel without removing it from the list.</description> <required/> <type>checkbox</type> </field> <field> <fieldname>protocol</fieldname> <fielddescr>Protocol</fielddescr> <description>The protocol to be used for the VPN.</description> <required/> <type>select</type> <options> <option> <value>TCP</value> <name>TCP</name> </option> <option> <value>UDP</value> <name>UDP</name> </option> </options> <default_value>UDP</default_value> </field> <field> <fieldname>dynamic_ip</fieldname> <fielddescr>Dynamic IP</fielddescr> <description>Assume dynamic IPs, so that DHCP clients can connect.</description> <type>checkbox</type> </field> <field> <fieldname>local_port</fieldname> <fielddescr>Local port</fielddescr> <description>The port OpenVPN will listen on. You generally want 1194 here.</description> <required/> <type>input</type> <default_value>1194</default_value> <size>5</size> </field> <field> <fieldname>addresspool</fieldname> <fielddescr>Address pool</fielddescr> <description>This is the address pool to be assigned to the clients. Expressed as a CIDR range (eg. 10.0.8.0/24). If the 'Use static IPs' field isn't set, clients will be assigned addresses from this pool. Otherwise, this will be used to set the local interface's IP.</description> <required/> <type>input</type> </field> <field> <fieldname>nopool</fieldname> <fielddescr>Use static IPs</fielddescr> <description>If this option is set, IPs won't be assigned to clients. Instead, the server will use static IPs on its side, and the clients are expected to use this same value in the 'Address pool' field.</description> <required/> <type>checkbox</type> </field> <field> <fieldname>local_network</fieldname> <fielddescr>Local network</fielddescr> <description>This is the network that will be accessable from the remote endpoint. Expressed as a CIDR range. You may leave this blank you don't want to add a route to your network through this tunnel in the remote machine. This is generally set to your LAN network.</description> <type>input</type> </field> <field> <fieldname>remote_network</fieldname> <fielddescr>Remote network</fielddescr> <description>This is a network that will be routed through the tunnel, so that a site-to-site VPN can be established without manually changing the routing tables. Expressed as a CIDR range. If this is a site-to-site VPN, enter here the remote LAN here. You may leave this blank if you don't want a site-to-site VPN.</description> <type>input</type> </field> <field> <fieldname>client2client</fieldname> <fielddescr>Client-to-client VPN</fielddescr> <description>If this option is set, clients will be able to talk to each other. Otherwise, they will only be able to talk to the server.</description> <required/> <type>checkbox</type> </field> <field> <fieldname>crypto</fieldname> <fielddescr>Cryptography</fielddescr> <description>Here you can choose the cryptography algorithm to be used.</description> <required/> <type>select</type> <default_value>BF-CBC</default_value> </field> <field> <fieldname>auth_method</fieldname> <fielddescr>Authentication method</fielddescr> <description>The authentication method to be used.</description> <required/> <type>select</type> <options> <option> <value>shared_key</value> <name>Shared key</name> </option> <option> <value>pki</value> <name>PKI (Public Key Infrastructure)</name> </option> </options> <onchange>onAuthMethodChanged()</onchange> </field> <field> <fieldname>shared_key</fieldname> <fielddescr>Shared key</fielddescr> <description>Paste your shared key here.</description> <type>textarea</type> <encoding>base64</encoding> <rows>8</rows> <cols>40</cols> </field> <field> <fieldname>ca_cert</fieldname> <fielddescr>CA certificate</fielddescr> <description>Paste your CA certificate in X.509 format here.</description> <type>textarea</type> <encoding>base64</encoding> <rows>8</rows> <cols>40</cols> </field> <field> <fieldname>server_cert</fieldname> <fielddescr>Server certificate</fielddescr> <description>Paste your server certificate in X.509 format here.</description> <type>textarea</type> <encoding>base64</encoding> <rows>8</rows> <cols>40</cols> </field> <field> <fieldname>server_key</fieldname> <fielddescr>Server key</fielddescr> <description>Paste your server key in RSA format here.</description> <type>textarea</type> <encoding>base64</encoding> <rows>8</rows> <cols>40</cols> </field> <field> <fieldname>dh_params</fieldname> <fielddescr>DH parameters</fielddescr> <description>Paste your Diffie Hellman parameters in PEM format here.</description> <type>textarea</type> <encoding>base64</encoding> <rows>8</rows> <cols>40</cols> </field> <field> <fieldname>crl</fieldname> <fielddescr>CRL</fielddescr> <description>Paste your certificate revocation list (CRL) in PEM format here (optional).</description> <type>textarea</type> <encoding>base64</encoding> <rows>8</rows> <cols>40</cols> </field> <field> <fieldname>tls</fieldname> <fielddescr>TLS</fielddescr> <description>Paste your HMAC signature (TLS) here (optional).</description> <type>textarea</type> <encoding>base64</encoding> <rows>8</rows> <cols>40</cols> </field> <field> <fieldname>dhcp_domainname</fieldname> <fielddescr>DHCP-Opt.: DNS-Domainname</fielddescr> <description>Set connection-specific DNS Suffix.</description> <type>input</type> </field> <field> <fieldname>dhcp_dns</fieldname> <fielddescr>DHCP-Opt.: DNS-Server</fielddescr> <description>Set domain name server addresses, separated by semi-colons (;).</description> <type>input</type> </field> <field> <fieldname>dhcp_wins</fieldname> <fielddescr>DHCP-Opt.: WINS-Server</fielddescr> <description>Set WINS server addresses (NetBIOS over TCP/IP Name Server), separated by semi-colons (;).</description> <type>input</type> </field> <field> <fieldname>dhcp_nbdd</fieldname> <fielddescr>DHCP-Opt.: NBDD-Server</fielddescr> <description>Set NBDD server addresses (NetBIOS over TCP/IP Datagram Distribution Server), separated by semi-colons (;).</description> <type>input</type> </field> <field> <fieldname>dhcp_ntp</fieldname> <fielddescr>DHCP-Opt.: NTP-Server</fielddescr> <description>Set NTP server addresses (Network Time Protocol), separated by semi-colons (;).</description> <type>input</type> </field> <field> <fieldname>dhcp_nbttype</fieldname> <fielddescr>DHCP-Opt.: NetBIOS node type</fielddescr> <description>Set NetBIOS over TCP/IP Node type. Possible options: b-node (broadcasts), p-node (point-to-point name queries to a WINS server), m-node (broadcast then query name server), and h-node (query name server, then broadcast).</description> <type>select</type> <options> <option> <value>0</value> <name>none</name> </option> <option> <value>1</value> <name>b-node</name> </option> <option> <value>2</value> <name>p-node</name> </option> <option> <value>4</value> <name>m-node</name> </option> <option> <value>8</value> <name>h-node</name> </option> </options> <default_value>0</default_value> </field> <field> <fieldname>dhcp_nbtscope</fieldname> <fielddescr>DHCP-Opt.: NetBIOS Scope</fielddescr> <description>Set NetBIOS over TCP/IP Scope. A NetBIOS Scope ID provides an extended naming service for NetBIOS over TCP/IP. The NetBIOS scope ID isolates NetBIOS traffic on a single network to only those nodes with the same NetBIOS scope ID.</description> <type>input</type> </field> <field> <fieldname>dhcp_nbtdisable</fieldname> <fielddescr>DHCP-Opt.: Disable NetBIOS</fielddescr> <description>If this option is set, Netbios-over-TCP/IP will be disabled.</description> <type>checkbox</type> </field> <field> <fieldname>use_lzo</fieldname> <fielddescr>LZO compression</fielddescr> <description>Checking this will compress the packets using the LZO algorithm before sending them.</description> <type>checkbox</type> </field> <field> <fieldname>maxclients</fieldname> <fielddescr>Maximum clients</fielddescr> <description>The maximum number of concurrently connected clients we want to allow.</description> <type>input</type> </field> <field> <fieldname>passtos</fieldname> <fielddescr>Pass Type-Of-Service</fielddescr> <description>Checking this will set the TOS field of the tunnel packet to what the payload's TOS is.</description> <type>checkbox</type> </field> <field> <fieldname>gwredir</fieldname> <fielddescr>Redirect Gateway</fielddescr> <description>Redirect ALL traffic through the OpenVPN server.</description> <type>checkbox</type> </field> <field> <fieldname>custom_options</fieldname> <fielddescr>Custom options</fielddescr> <description>You can put your own custom options here, separated by semi-colons (;). They'll be added to the server configuration.</description> <type>textarea</type> <cols>65</cols> <rows>5</rows> </field> <field> <fieldname>description</fieldname> <fielddescr>Description</fielddescr> <description>You may enter a description here. This is optional and is not parsed.</description> <type>input</type> </field> </fields> <custom_php_command_before_form> openvpn_get_ciphers(&$pkg); </custom_php_command_before_form> <custom_php_after_head_command> openvpn_print_javascript('server'); </custom_php_after_head_command> <custom_php_after_form_command> openvpn_print_javascript2(); </custom_php_after_form_command> <custom_php_validation_command> openvpn_validate_input('server', $_POST, &$input_errors); </custom_php_validation_command> <custom_php_resync_config_command> openvpn_resync('server', $id); </custom_php_resync_config_command> </packagegui>