<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Creating BPR per User - PoC in API / CLI Discussion</title>
    <link>https://community.checkpoint.com/t5/API-CLI-Discussion/Link-Load-Balacing-per-User/m-p/80304#M4647</link>
    <description>&lt;P&gt;Superb work!&lt;/P&gt;
&lt;P&gt;This opens so many possibilities, like routing per application, routing per user, balancing link per application or per user.&lt;/P&gt;
&lt;P&gt;Very useful indeed.&lt;/P&gt;</description>
    <pubDate>Tue, 31 Mar 2020 12:17:37 GMT</pubDate>
    <dc:creator>Eduardo_Pereira</dc:creator>
    <dc:date>2020-03-31T12:17:37Z</dc:date>
    <item>
      <title>Link Load Balacing per User</title>
      <link>https://community.checkpoint.com/t5/API-CLI-Discussion/Link-Load-Balacing-per-User/m-p/80268#M4646</link>
      <description>&lt;P&gt;&lt;FONT color="#FF00FF"&gt;&lt;STRONG&gt;Link Load Balacing per User&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Security Engineering Brazil&lt;/P&gt;
&lt;P&gt;March, 2020&lt;/P&gt;
&lt;P&gt;Version 01&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Author:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Thiago Mourao, SE&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Contents&lt;/P&gt;
&lt;P&gt;&lt;A href="#_Toc34932949" target="_blank" rel="noopener"&gt;Creating BPR per User - PoC&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="#_Toc34932950" target="_blank" rel="noopener"&gt;Objective&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="#_Toc34932952" target="_blank" rel="noopener"&gt;Know Limitation and Requirements&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="#_Toc34932953" target="_blank" rel="noopener"&gt;Topology&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="#_Toc34932954" target="_blank" rel="noopener"&gt;Scripts&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="#_Toc34932955" target="_blank" rel="noopener"&gt;Step by Step&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Objective&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Change the default route from selected users.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Know Limitation and Requirements&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ISP Redundancy cannot be used together with PBR&lt;/LI&gt;
&lt;LI&gt;Need to manually change the object name of each user to match the SCRIPT configuration&lt;/LI&gt;
&lt;LI&gt;To use more than 2 internet Links, the script need to be adapted.&lt;/LI&gt;
&lt;LI&gt;For this PoC we assume that you already have IA integrated with AD using WMI&lt;/LI&gt;
&lt;LI&gt;For this PoC we are using API Key to authenticate instead of User/Pass&lt;/LI&gt;
&lt;LI&gt;IA Configuration "&lt;EM&gt;&lt;STRONG&gt;Assume that only one user is connected per computer&lt;/STRONG&gt;&lt;/EM&gt;" need to turned on&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Topology&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_1-1585618933112.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5244i092D46207CAA1FDB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_1-1585618933112.png" alt="Thiago_Mourao_1-1585618933112.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;On our lab we are using GloudGuard VE (Virtual Edition) on R80.40 on both Security Gateway and Manager on VMware Workstation 12.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Virtual Environment:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;1 x Check Point Gateway R80.40&lt;/LI&gt;
&lt;LI&gt;1 x Check Point Manager R80.40&lt;/LI&gt;
&lt;LI&gt;1 x Microsoft Windows Server 2012 R2&lt;/LI&gt;
&lt;LI&gt;3 x Windows 7 Ultimate&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Host Environment:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;1 x Notebook (Windows Professional) with VMWare Workstation 12&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scripts&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;FirstTimeSetup.sh&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This script will prepare the environment for the first time run.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="664"&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#!/bin/bash -f&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;source /opt/CPshrd-R80.40/tmp/.CPprofile.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#Script Directory&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;EXECDIR="/home/admin/PBRPerUser"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#User that will Execute the Scripts and Cron Job&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;EXECUSER="admin"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "First time setup"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating all files and Gaia configuration"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating Exec Directory"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;mkdir $EXECDIR&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating Files"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;touch $EXECDIR/PBRPerUser.log&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;touch $EXECDIR/PBRPerUserLink1.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;touch $EXECDIR/PBRPerUserLink1_IPs.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;touch $EXECDIR/PBRPerUserLink1_Table.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;touch $EXECDIR/PBRPerUserLink1_Table_To_Compare.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;touch $EXECDIR/PBRPerUserLink1_ToRemove.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;touch $EXECDIR/PBRPerUserLink1_Users.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;touch $EXECDIR/PBRPerUserLink1_Watch.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;touch $EXECDIR/sid_c.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Copying Scripts to $EXECDIR"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cp ./PBRPerUserLink1.sh $EXECDIR/PBRPerUserLink1.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cp ./PBRPerUserLink1_Watch.sh $EXECDIR/PBRPerUserLink1_Watch.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cp ./PBRPerUserLink1_CronJob.sh $EXECDIR/PBRPerUserLink1_CronJob.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Change Permission"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;chmod 760 $EXECDIR/PBRPerUserLink1.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;chmod 760 $EXECDIR/PBRPerUserLink1_Watch.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;chmod 760 $EXECDIR/PBRPerUserLink1_CronJob.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Adding System-Startup Recurrence for PBRPerUserLink1_Watch.sh at Cron Job"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "add cron job PBRPerUserLink1_CronJob command '$EXECDIR/PBRPerUserLink1_CronJob.sh &amp;gt;&amp;gt; $EXECDIR/PBRPerUser.log 2&amp;gt;&amp;amp;1' recurrence system-startup"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;if grep -q PBRPerUserLink1_Watch.sh /var/spool/cron/admin; then&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "Job already in Cron"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;else&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "Creating Cron Job"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "##PBRPerUser" &amp;gt;&amp;gt; /var/spool/cron/$EXECUSER&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* $EXECDIR/PBRPerUserLink1_Watch.sh &amp;gt;&amp;gt; $EXECDIR/PBRPerUser.log 2&amp;gt;&amp;amp;1" &amp;gt;&amp;gt; /var/spool/cron/$EXECUSER&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;fi&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Lock Database Override"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "lock database override"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;### Creating IP Reachability Detection ###&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;### CHANGE IP TO REFLET YOUR ON ENVIRONMENT ###&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating IP Reachability Detection"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "set ip-reachability-detection ping address 200.150.0.100 enable-ping on"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "set ip-reachability-detection ping address 200.200.0.100 enable-ping on"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;### Creating Default Route HA without ISP Redundancy With ICMP Health Checking ###&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;### CHANGE IP TO REFLET YOUR ON ENVIRONMENT ###&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating Default Route HA without ISP Redundancy With ICMP Health Checking"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "set static-route default nexthop gateway address 200.150.0.100 priority 1 on"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "set static-route default nexthop gateway address 200.150.0.100 monitored-ip 200.150.0.100 on"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "set static-route default nexthop gateway address 200.150.0.100 monitored-ip-option fail-any"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "set static-route default nexthop gateway address 200.200.0.100 priority 2 on"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "set static-route default nexthop gateway address 200.200.0.100 monitored-ip 200.200.0.100 on"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "set static-route default nexthop gateway address 200.200.0.100 monitored-ip-option fail-any"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;### Creating PBR Table ###&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;### CHANGE IP TO REFLET YOUR ON ENVIRONMENT ###&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating PBR Table"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "set pbr table PBRPerUserLink1 static-route default nexthop gateway address 200.200.0.100 on"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Saving Config"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "save config"&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;PBRPerUserLink1_Watch.sh&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This script will check if there is change between the last time the script run and if yes, execute the script to change the PBR&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="664"&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#!/bin/bash -f&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;source /opt/CPshrd-R80.40/tmp/.CPprofile.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#Script Directory&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;EXECDIR="/home/admin/PBRPerUser"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#User that will Execute the Scripts and Cron Job&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;EXECUSER="admin"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;APIKEY="4JjIKMtzRCLx8MEs4rcRTg=="&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;MGMTIP="10.0.50.10"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cd $EXECDIR&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "#### Executing PBRPerUserScript_Watch.sh at $(date -u) ####"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "MGMT Login"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;mgmt_cli login --management $MGMTIP api-key $APIKEY &amp;gt; sid_c.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Erasing PBRPerUserLink1_Users.txt file"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;gt; PBRPerUserLink1_Users.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Getting information from AR_PBRPerUserLink1 Object and saving on file PBRPerUserLink1_Users.txt"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;mgmt_cli --management $MGMTIP -s sid_c.txt show access-role name "AR_PBRPerUserLink1" --format json | jq '.users[].name' | awk -F'_' '{gsub(/"/, "", $2); print $2}' &amp;gt; PBRPerUserLink1_Users.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "MGMT Logout"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;mgmt_cli --management $MGMTIP -s sid_c.txt logout&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Erasing PBRPerUserLink1_Table.txt file"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;gt; PBRPerUserLink1_Table.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating Matrix with User and IP Information"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;sort PBRPerUserLink1_Users.txt | while read a; do NAME=$a; IP=$(pdp monitor user $a | grep "Ip: " | awk -F ' ' '{print $2}'); echo "$NAME;$IP" &amp;gt;&amp;gt; PBRPerUserLink1_Table.txt; done&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Comparing PBRPerUserLink1_Table.txt file with previous version"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;diff -q PBRPerUserLink1_Table_To_Compare.txt PBRPerUserLink1_Table.txt 1&amp;gt;/dev/null&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;if [[ $? == "0" ]]&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;then&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp; echo "No changes on PBRPerUserLink1_Table.txt file"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;else&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp; echo "Running script $EXECDIR/PBRPerUserLink1.sh"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;nbsp; sh PBRPerUserLink1.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;fi&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "#### End of Execution of PBRPerUserScript_Watch.sh at $(date -u) ####"&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;PBRPerUserLink1.sh&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This script will change the PBR configuration on Gaia.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="664"&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#!/bin/bash -f&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;source /opt/CPshrd-R80.40/tmp/.CPprofile.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#Script Directory&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;EXECDIR="/home/admin/PBRPerUser"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#User that will Execute the Scripts and Cron Job&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;EXECUSER="admin"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cd $EXECDIR&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "#### Executing PBRPerUserScript.sh at $(date -u) ####"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Lock Database Override"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "lock database override"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Erasing current PBR per User"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cat PBRPerUserLink1_ToRemove.txt | while read a; do clish -c "$a"; done&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Erasing old PBRPerUserLink1_IPs.txt file"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;gt; PBRPerUserLink1_IPs.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating new PBRPerUserLink1_IPs.txt file"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;sort PBRPerUserLink1_Users.txt | while read a; do pdp monitor user $a | grep "Ip: " | awk -F ' ' '{print $2}' &amp;gt;&amp;gt; PBRPerUserLink1_IPs.txt; done&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating PBR Match condition Based on Extracted IP Information form User"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;pn=100 &amp;amp;&amp;amp; cat PBRPerUserLink1_IPs.txt | while read a; do clish -c "set pbr rule priority $pn match from $a/32"; clish -c "set pbr rule priority $pn action table PBRPerUserLink1"; pn=$((pn+1)); done&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Erasing PBRPerUserLink1_ToRemove.txt file"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;gt; PBRPerUserLink1_ToRemove.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Create file to remove PBR"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;pn=100 &amp;amp;&amp;amp; cat PBRPerUserLink1_IPs.txt | while read a; do echo "set pbr rule priority $pn off" &amp;gt;&amp;gt; PBRPerUserLink1_ToRemove.txt; pn=$((pn+1)); done&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating copy of PBRPerUserLink1_Table.txt"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cp PBRPerUserLink1_Table.txt PBRPerUserLink1_Table_To_Compare.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "#### End of Execution of PBRPerUserScript.sh at $(date -u) ####"&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;PBRPerUserLink1_CronJob.sh&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This script will be called by the Cron Job PBRPerUserLink1_CronJob to create a customized Cron Job that will run every minute to check changes on the PDP MONITOR and/or on AR_PBRPerUserLink1 object .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="664"&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#!/bin/bash -f&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;source /opt/CPshrd-R80.40/tmp/.CPprofile.sh&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#Script Directory&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;EXECDIR="/home/admin/PBRPerUser"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;#User that will Execute the Scripts and Cron Job&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;EXECUSER="admin"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cd $EXECDIR&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "#### Executing PBRPerUserScript.sh at $(date -u) ####"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Lock Database Override"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;clish -c "lock database override"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Erasing current PBR per User"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cat PBRPerUserLink1_ToRemove.txt | while read a; do clish -c "$a"; done&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Erasing old PBRPerUserLink1_IPs.txt file"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;gt; PBRPerUserLink1_IPs.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating new PBRPerUserLink1_IPs.txt file"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;sort PBRPerUserLink1_Users.txt | while read a; do pdp monitor user $a | grep "Ip: " | awk -F ' ' '{print $2}' &amp;gt;&amp;gt; PBRPerUserLink1_IPs.txt; done&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating PBR Match condition Based on Extracted IP Information form User"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;pn=100 &amp;amp;&amp;amp; cat PBRPerUserLink1_IPs.txt | while read a; do clish -c "set pbr rule priority $pn match from $a/32"; clish -c "set pbr rule priority $pn action table PBRPerUserLink1"; pn=$((pn+1)); done&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Erasing PBRPerUserLink1_ToRemove.txt file"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;&amp;gt; PBRPerUserLink1_ToRemove.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Create file to remove PBR"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;pn=100 &amp;amp;&amp;amp; cat PBRPerUserLink1_IPs.txt | while read a; do echo "set pbr rule priority $pn off" &amp;gt;&amp;gt; PBRPerUserLink1_ToRemove.txt; pn=$((pn+1)); done&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "Creating copy of PBRPerUserLink1_Table.txt"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;cp PBRPerUserLink1_Table.txt PBRPerUserLink1_Table_To_Compare.txt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="terminal,monaco" size="2"&gt;echo "#### End of Execution of PBRPerUserScript.sh at $(date -u) ####"&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step by Step&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Copy the 3 (three) scripts to the Gateway&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_2-1585618933115.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5243i8B0A7F90E82D9403/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_2-1585618933115.png" alt="Thiago_Mourao_2-1585618933115.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Change permission of “FirstTimeSetup.sh”&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_3-1585618933118.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5245iA4114A5FA1751D90/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_3-1585618933118.png" alt="Thiago_Mourao_3-1585618933118.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Execute the “FirstTimeSetup.sh”&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_4-1585618933120.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5248i85A09D4A2D114F1D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_4-1585618933120.png" alt="Thiago_Mourao_4-1585618933120.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Check if CRON JOB was created&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_5-1585618933123.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5247i7953783A7CFA279F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_5-1585618933123.png" alt="Thiago_Mourao_5-1585618933123.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;PS: Customized Cron Job do not survive to reboot, because of that, we create a Job to bring back the customized Job on Startup.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;PPS: If you use Gaia to edit Cron Job, customized Jobs will be erased&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Create user for the API authentication&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_6-1585618933133.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5251i75EBCED3C034304E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_6-1585618933133.png" alt="Thiago_Mourao_6-1585618933133.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Create the Access Role Object with the name “&lt;STRONG&gt;&lt;EM&gt;AR_PBRPerUserLink1&lt;/EM&gt;&lt;/STRONG&gt;” and add all the users that you want to route to the first non-default internet Link&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_7-1585618933138.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5250i642A38800AF6CBA7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_7-1585618933138.png" alt="Thiago_Mourao_7-1585618933138.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Click on each member of the group and change the object name to match the following structure PBR_[AD_Login]&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_8-1585618933142.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5249i72FB5189C2BF71D2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_8-1585618933142.png" alt="Thiago_Mourao_8-1585618933142.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;PS: On this example, the original name of the object was &lt;STRONG&gt;&lt;U&gt;ad_user_Anna_Smith&lt;/U&gt;&lt;/STRONG&gt; and we changed to &lt;STRONG&gt;&lt;U&gt;PBR_asmith&lt;/U&gt;&lt;/STRONG&gt;.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Check &lt;STRONG&gt;&lt;EM&gt;PBRPerUser.log&lt;/EM&gt;&lt;/STRONG&gt; file to see if the scripts are running well&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_9-1585618933149.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5252iE96F1C0782F547C1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_9-1585618933149.png" alt="Thiago_Mourao_9-1585618933149.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Check &lt;STRONG&gt;&lt;EM&gt;PBRPerUserLink1_Table.txt&lt;/EM&gt;&lt;/STRONG&gt; file to see the Logged Users from the Access Role Object &lt;STRONG&gt;&lt;EM&gt;AR_PBRPerUserLink1&lt;/EM&gt;&lt;/STRONG&gt; and their respective IPs&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thiago_Mourao_10-1585618933150.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5253i30DD72D0EABDDA03/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Thiago_Mourao_10-1585618933150.png" alt="Thiago_Mourao_10-1585618933150.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Check if the respective &lt;STRONG&gt;PBR RULES&lt;/STRONG&gt; were created&lt;/LI&gt;
&lt;/UL&gt;
&lt;DIV id="tinyMceEditorThiago_Mourao_14" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt; &lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="pbr_rules.png" style="width: 400px;"&gt;&lt;img src="https://community.checkpoint.com/t5/image/serverpage/image-id/5256i9629B3BC4579212E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="pbr_rules.png" alt="pbr_rules.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Apr 2020 13:45:06 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/API-CLI-Discussion/Link-Load-Balacing-per-User/m-p/80268#M4646</guid>
      <dc:creator>Thiago_Mourao</dc:creator>
      <dc:date>2020-04-24T13:45:06Z</dc:date>
    </item>
    <item>
      <title>Re: Creating BPR per User - PoC</title>
      <link>https://community.checkpoint.com/t5/API-CLI-Discussion/Link-Load-Balacing-per-User/m-p/80304#M4647</link>
      <description>&lt;P&gt;Superb work!&lt;/P&gt;
&lt;P&gt;This opens so many possibilities, like routing per application, routing per user, balancing link per application or per user.&lt;/P&gt;
&lt;P&gt;Very useful indeed.&lt;/P&gt;</description>
      <pubDate>Tue, 31 Mar 2020 12:17:37 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/API-CLI-Discussion/Link-Load-Balacing-per-User/m-p/80304#M4647</guid>
      <dc:creator>Eduardo_Pereira</dc:creator>
      <dc:date>2020-03-31T12:17:37Z</dc:date>
    </item>
    <item>
      <title>Re: Creating BPR per User - PoC</title>
      <link>https://community.checkpoint.com/t5/API-CLI-Discussion/Link-Load-Balacing-per-User/m-p/80342#M4650</link>
      <description>&lt;P&gt;Awesome!!&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinning_face:"&gt;😀&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Mar 2020 16:27:08 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/API-CLI-Discussion/Link-Load-Balacing-per-User/m-p/80342#M4650</guid>
      <dc:creator>MiguelHernandez</dc:creator>
      <dc:date>2020-03-31T16:27:08Z</dc:date>
    </item>
    <item>
      <title>Re: Link Load Balacing per User</title>
      <link>https://community.checkpoint.com/t5/API-CLI-Discussion/Link-Load-Balacing-per-User/m-p/80536#M4669</link>
      <description>Pretty sure this is leveraging a "hidden" feature in R80.40.&lt;BR /&gt;Clever application of it, though.</description>
      <pubDate>Wed, 01 Apr 2020 20:57:13 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/API-CLI-Discussion/Link-Load-Balacing-per-User/m-p/80536#M4669</guid>
      <dc:creator>PhoneBoy</dc:creator>
      <dc:date>2020-04-01T20:57:13Z</dc:date>
    </item>
  </channel>
</rss>

