Deutsch |
---|
Beschreibung:Liste der verwendeten Variablen: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) { // Function to create VRRP Entry var addVRRPEntry = function (routerID, routerIP, mainPrio, backupPrio, remoteSite, comment) { var table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2"); var table_1_2_8_21_2_row_1 = table1_2_8_21_2.createNewRow(); table_1_2_8_21_2_row_1.setByOid(1, routerID); table_1_2_8_21_2_row_1.setByOid(2, routerIP); table_1_2_8_21_2_row_1.setByOid(3, mainPrio); table_1_2_8_21_2_row_1.setByOid(4, backupPrio); table_1_2_8_21_2_row_1.setByOid(5, remoteSite); table_1_2_8_21_2_row_1.setByOid(6, comment); table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1); }; // If Statement to only create VRRP Entry, if device has the variable VRRP_Prio if (context.vars.VRRP_PRIO != "") { config.setScalarByOid("1.2.8.21.1", "1"); // Function Call to create a new Entry addVRRPEntry("1", "10.10.10.254", context.vars.VRRP_PRIO, "0", "INTERNET", ""); } }; |
---|
Addin als JSON-Datei:
|
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.
Englisch |
---|
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);
};
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")
}
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")
}
};
|
---|
View file |
---|
name | 1toN-VPN-Routing.json |
---|
height | 250 |
---|
| download json file
|