Beschreibung:Mit diesem Add-In können Sie das 1:1 VPN-Routing ändern, um zusätzliche private Netzwerke über die VPN-Verbindung erreichbar zu machen. Wichtige Variablen: - context.vars.centralVPN = true
- context.vars.remoteVPN = true
Das folgende Beispiel geht davon aus, dass das centralVPN Device ein zusätzliches Netzwerk hat, das das remoteVPN Device über die bestehende VPN-Verbindung im ungetaggten (VLAN 1) Netzwerk erreichen möchte. Liste der verwendeten Variablen:Variable | Beschreibung |
---|
context.vars.centralVPN |
| context.vars.remoteVPN |
|
Add-In 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 addFirewallRule = function ( routerIDName, routerIPSource, mainPrioDestination, backupPrioAction, remoteSite, commentRtgTag) { var table1_2_8_21_2 firewallRule = config.getTableByOid("1.2.8. 2110.2"); var table_1_2_8_21_2_row_1 = table1_2_8_21_2 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) { varTableRouting = config.getTableByOid("1.2.8.2"); varTableRouting_row = TableRouting.createNewRow(); table_1_2_8_21_2_row_1TableRouting_row.setByOid(1, routerIDDestinationIP); table_1_2_8_21_2_row_1.setByOid(2, routerIPTableRouting_row.setByOid(2, IpMask); TableRouting_row.setByOid(8, RtgTag); TableRouting_row.setByOid(9, AdminDistance); table_1_2_8_21_2_row_1TableRouting_row.setByOid(3, mainPrioPeerOrIP); table_1_2_8_21_2_row_1TableRouting_row.setByOid(4, backupPrioDistance); table_1_2_8_21_2_row_1TableRouting_row.setByOid(5, remoteSiteMasquerade); table_1_2_8_21_2TableRouting_row _1.setByOid(6, commentActive); table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1TableRouting_row.setByOid(7, Comment); TableRouting.addOrMerge(TableRouting_row); };
// centralVPN = Settings regarding and outgoint to Central Site Device //
If Statement to only create VRRP Entry, if device has the variable VRRP_Prio if remoteVPN = Settings regarding and outgoint to Remote Site Device
// Firewall Rule and Routing Table Entry on Central Site Device if (context.vars. VRRP_PRIO != "centralVPN == "true") { config.infoLog("central"); 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 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 als JSON-Datei: View file |
---|
name | 1toN-VPN-Routing.json |
---|
height | 150 |
---|
|
|