Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 3 Aktuelle »


Description:

With this Add-in you can change the 1 to 1 VPN routing, to make additional private Networks reachable via the VPN connection.

Important Variables:

  • context.vars.centralVPN = true
  • context.vars.remoteVPN = true

The following example expects the centralVPN Device to have an additional network, that the remoteVPN Device wants to reach over the existing VPN-Connection in the untagged (VLAN 1) Network.

List of used variables:

VariableDescription
context.vars.centralVPN
context.vars.remoteVPN

Add-in code:

/**
* @param {Config} config
* @param {Context} context
* Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main = function (config, context) {
    var addFirewallRule = function ( Name , Source , Destination , Action , RtgTag ) {
        var firewallRule = config.getTableByOid( "1.2.8.10.2" );
        var firewallRule_row = firewallRule.createNewRow();
       firewallRule_row.setByOid( "1" , Name );
       firewallRule_row.setByOid( "3" , Source );
       firewallRule_row.setByOid( "4" , Destination );
       firewallRule_row.setByOid( "7" , Action );
       firewallRule_row.setByOid( "14" , RtgTag );
       firewallRule.addOrMerge(firewallRule_row);
   };
    var addRoute = function ( DestinationIP , IpMask , RtgTag , AdminDistance , PeerOrIP , Distance , Masquerade , Active , Comment ) {
        var TableRouting = config.getTableByOid( "1.2.8.2" );
        var TableRouting_row = TableRouting .createNewRow();
        TableRouting_row .setByOid( 1 , DestinationIP );
        TableRouting_row .setByOid( 2 , IpMask );
        TableRouting_row .setByOid( 8 , RtgTag );
        TableRouting_row .setByOid( 9 , AdminDistance );
        TableRouting_row .setByOid( 3 , PeerOrIP );
        TableRouting_row .setByOid( 4 , Distance );
        TableRouting_row .setByOid( 5 , Masquerade );
        TableRouting_row .setByOid( 6 , Active );
        TableRouting_row .setByOid( 7 , Comment );
        TableRouting .addOrMerge( TableRouting_row );
   };

              
                

    // centralVPN = Settings regarding and outgoint to Central Site Device
    // remoteVPN  = Settings regarding and outgoint to Remote Site Device

    // Firewall Rule and Routing Table Entry on Central Site Device
    if (context.vars.centralVPN == "true" ) {
       config.infoLog( "central" );
       addFirewallRule( "RuleName" , "%HremoteVPNPeer" , "%centralVPNNetworkName" , "ACCEPT" , "centralVPNNetworkRtgTag" )
       addRoute( "remoteVPNNetwork" , "remoteVPNNetmask" , "0" , "0" , "remoteVPNPeer" , "4" , "0" , "0" , "Route for additional Central VPN Network to Remote VPN Peer" )

   }
// Firewall Rule and Routing Table Entry on Remote Site Device
    if (context.vars.remoteVPN == "true" ) {
       config.infoLog( "remote" );
       addFirewallRule( "RuleName" , "%HcentralVPNPeer" , "%LremoteVPNNetworkName" , "ACCEPT" , "remoteVPNNetworkRtgTag" )
       addRoute( "centralVPNNetwork" , "centralVPNNetmask" , "0" , "0" , "centralVPNPeer" , "4" , "0" , "0" , "Route for additional Central VPN Network" )
   }

};

Add-in as JSON file:

1toN-VPN-Routing.json

  • Keine Stichwörter