wip: networks access management

This commit is contained in:
Krzysztof Nazarewski
2025-10-28 09:24:08 +01:00
parent b6b823576e
commit 8fa01870df
7 changed files with 318 additions and 121 deletions

3
.gitignore vendored
View File

@@ -27,3 +27,6 @@ package-lock.json
/generator/openapi/
/generator/openapi.yml
/generator/expandOpenAPIRef
# drawio backups
.$*.bkp

View File

@@ -0,0 +1,91 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.1.1 Chrome/138.0.7204.185 Electron/37.2.6 Safari/537.36" version="26.1.1">
<diagram name="Page-1" id="cSO_DhjBtIs-y8T3Yu-b">
<mxGraphModel dx="2582" dy="1493" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" background="#18181B" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="iY10oXc19hh5jrx_zFQi-16" value="&lt;font style=&quot;color: rgb(255, 255, 255);&quot;&gt;router-1&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#F68330;perimeterSpacing=0;dashed=1;labelPosition=center;verticalLabelPosition=middle;align=left;verticalAlign=top;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;dashPattern=1 2;spacing=3;spacingLeft=8;" parent="1" vertex="1">
<mxGeometry x="306" y="327" width="180" height="102" as="geometry" />
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-15" value="&lt;font style=&quot;color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;Server&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#F68330;perimeterSpacing=0;dashed=1;labelPosition=center;verticalLabelPosition=middle;align=left;verticalAlign=top;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;dashPattern=1 2;spacing=3;spacingLeft=8;" parent="1" vertex="1">
<mxGeometry x="506" y="429" width="180" height="102" as="geometry" />
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-13" value="&lt;font style=&quot;color: rgb(255, 255, 255);&quot;&gt;router-2&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#F68330;perimeterSpacing=0;dashed=1;labelPosition=center;verticalLabelPosition=middle;align=left;verticalAlign=top;textShadow=0;shadow=0;glass=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;dashPattern=1 2;spacing=3;spacingLeft=8;" parent="1" vertex="1">
<mxGeometry x="306" y="531" width="180" height="102" as="geometry" />
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#d5e8d4;strokeColor=#F35E32;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="kU3IDCsIoFBLPOvx1m8k-9" target="kU3IDCsIoFBLPOvx1m8k-11" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="259" y="464" />
<mxPoint x="259" y="378" />
</Array>
<mxPoint x="199" y="553" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-27" style="edgeStyle=elbowEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#2BEB8D;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;dashed=1;strokeWidth=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="kU3IDCsIoFBLPOvx1m8k-11" target="tk96eruObW772T1n_iph-26" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="412" y="428" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#f8cecc;strokeColor=#2BEB8D;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;dashed=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="kU3IDCsIoFBLPOvx1m8k-11" target="tk96eruObW772T1n_iph-23" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="499" y="398" as="sourcePoint" />
<mxPoint x="500" y="509" as="targetPoint" />
<Array as="points">
<mxPoint x="401" y="378" />
<mxPoint x="401" y="582" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-23" value="192.168.1.2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=10;fontColor=#FFFFFF;fillColor=none;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="419" y="567" width="60" height="29.999999999999982" as="geometry" />
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-22" value="192.168.1.1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=10;fontColor=#FFFFFF;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="419" y="363" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kU3IDCsIoFBLPOvx1m8k-11" value="Routing Peer&#xa;(selected)" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAuMjY4NTU0OTg1NTIzMjIzOSAwLjM4MTgzNjAyNjkwNjk2NzE2IDIxLjk4NTM0Nzc0NzgwMjczNCAxNi4wMTU5NjQ1MDgwNTY2NCIgaGVpZ2h0PSIxNi4wMTU5NjQ1MDgwNTY2NCIgd2lkdGg9IjIxLjk4NTM0Nzc0NzgwMjczNCI+JiN4YTsgICAgPHBhdGggZmlsbD0iI0Y2ODMzMCIgZD0iTTE1Ljg5NzMgMC4zODE4MzZDMTMuMjQyNiAwLjYyNTg2MyAxMS45MjEzIDIuMTU3MTMgMTEuNDIyMSAyLjkzMTkyTDMuNjY1MDQgMTYuMzk2MUgxMy4wMjM0TDIyLjI1MzkgMC4zODE4MzZIMTUuODk3M1oiLz4mI3hhOyAgICA8cGF0aCBmaWxsPSIjRjY4MzMwIiBkPSJNMTMuMDMwNSAxNi4zOTYyTDAuMjY4NTU1IDIuODM0MzVDMC4yNjg1NTUgMi44MzQzNSAxNC42OTg4IC0xLjA1MTc5IDE2LjEwNTMgMTEuMDcwM0wxMy4wMzA1IDE2LjM5NjJaIi8+JiN4YTsgICAgPHBhdGggZmlsbD0iI0YzNUUzMiIgZD0iTTExLjEzNDggMy40MzM4M0w3LjIxOTczIDEwLjIzTDEzLjAyMjMgMTYuMzk3OEwxNi4wOTcxIDExLjA1OTdDMTUuNjEgNi44OTI5MiAxMy41ODI0IDQuNjE3MzcgMTEuMTM0OCAzLjQyNzczIi8+JiN4YTs8L3N2Zz4=;fontColor=#FFFFFF;spacingTop=-6;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="342.54" y="366" width="32.92" height="24" as="geometry" />
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-26" value="192.168.1.51" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=10;fontColor=#FFFFFF;flipH=0;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="1" vertex="1">
<mxGeometry x="522" y="465" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="fFz2IB4M-ZeV7vwJNDiT-2" value="" style="fontColor=#FFFFFF;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=image;flipH=0;imageAspect=0;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAuNSAwLjUgNjMgNTcuNjc0NDk5NTExNzE4NzUiIGhlaWdodD0iNTcuNjc0NDk5NTExNzE4NzUiIHdpZHRoPSI2MyI+JiN4YTsgICAgPHBhdGggc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZT0idXJsKCNwYWludDBfbGluZWFyXzY1MzNfMTA2NykiIGQ9Ik02MiAxNS45MjA4TDMyLjAxNDcgMjkuNDk1N0wyIDE1LjkyMDhMMzIuMDE0NyAyTDYyIDE1LjkyMDhaIi8+JiN4YTsgICAgPHBhdGggc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZT0idXJsKCNwYWludDFfbGluZWFyXzY1MzNfMTA2NykiIGQ9Ik0yIDI5LjQ5NDFMMzIuMDE0NyA0My4wOTc5TDYyIDI5LjQ5NDEiLz4mI3hhOyAgICA8cGF0aCBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlPSJ1cmwoI3BhaW50Ml9saW5lYXJfNjUzM18xMDY3KSIgZD0iTTIgNDMuMDk5NkwzMi4wMTQ3IDU2LjY3NDVMNjIgNDMuMDk5NiIvPiYjeGE7ICAgIDxkZWZzPiYjeGE7ICAgICAgICA8bGluZWFyR3JhZGllbnQgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHkyPSIyOS40OTU3IiB4Mj0iMzIiIHkxPSIyIiB4MT0iMzIiIGlkPSJwYWludDBfbGluZWFyXzY1MzNfMTA2NyI+JiN4YTsgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRjY4MzMwIi8+JiN4YTsgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRjM1RTMyIiBvZmZzZXQ9IjEiLz4mI3hhOyAgICAgICAgPC9saW5lYXJHcmFkaWVudD4mI3hhOyAgICAgICAgPGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iNDMuMDk3OSIgeDI9IjMyIiB5MT0iMjkuNDk0MSIgeDE9IjMyIiBpZD0icGFpbnQxX2xpbmVhcl82NTMzXzEwNjciPiYjeGE7ICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0Y2ODMzMCIvPiYjeGE7ICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0YzNUUzMiIgb2Zmc2V0PSIxIi8+JiN4YTsgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+JiN4YTsgICAgICAgIDxsaW5lYXJHcmFkaWVudCBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeTI9IjU2LjY3NDUiIHgyPSIzMiIgeTE9IjQzLjA5OTYiIHgxPSIzMiIgaWQ9InBhaW50Ml9saW5lYXJfNjUzM18xMDY3Ij4mI3hhOyAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGNjgzMzAiLz4mI3hhOyAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGMzVFMzIiIG9mZnNldD0iMSIvPiYjeGE7ICAgICAgICA8L2xpbmVhckdyYWRpZW50PiYjeGE7ICAgIDwvZGVmcz4mI3hhOzwvc3ZnPg==;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="615" y="462.5" width="31.5" height="35" as="geometry" />
</mxCell>
<mxCell id="kU3IDCsIoFBLPOvx1m8k-9" value="User" style="shape=image;verticalLabelPosition=top;verticalAlign=bottom;imageAspect=0;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA4MCA1OCIgaGVpZ2h0PSI1OCIgd2lkdGg9IjgwIj4mI3hhOyAgICA8cmVjdCBoZWlnaHQ9IjUzIiB3aWR0aD0iNzUiIHk9IjIuNSIgeD0iMi41Ii8+JiN4YTsgICAgPHBhdGggZmlsbD0iI0Y2ODMzMCIgZD0iTTgwIDU4TDc0LjYzNTEgNDAuODQyOVYwSDUuMzY0ODhWMzkuNjI4M0wwIDU4SDgwWk0yLjIwOTA2IDU2LjQ4MTdMNi42MjcxOSA0MS4xNDY2SDczLjA1NzJMNzcuNzkwOSA1Ni40ODE3SDIuMjA5MDZaTTYuOTQyNzkgMS41MTgzMkg3My4wNTcyVjM5LjYyODNINi45NDI3OVYxLjUxODMyWiIvPiYjeGE7ICAgIDxwYXRoIGZpbGw9IiNGNjgzMzAiIGQ9Ik00Ny4wMjE5IDUyLjY4NkgzMi45Nzg1VjU0LjIwNDRINDcuMDIxOVY1Mi42ODZaIi8+JiN4YTsgICAgPHBhdGggZmlsbD0iI0Y2ODMzMCIgZD0iTTQ0Ljg5NzMgMTIuMzgxOEM0Mi4yNDI2IDEyLjYyNTkgNDAuOTIxMyAxNC4xNTcxIDQwLjQyMjEgMTQuOTMxOUwzMi42NjUgMjguMzk2MUg0Mi4wMjM0TDUxLjI1MzkgMTIuMzgxOEg0NC44OTczWiIvPiYjeGE7ICAgIDxwYXRoIGZpbGw9IiNGNjgzMzAiIGQ9Ik00Mi4wMzA1IDI4LjM5NjJMMjkuMjY4NiAxNC44MzQzQzI5LjI2ODYgMTQuODM0MyA0My42OTg4IDEwLjk0ODIgNDUuMTA1MyAyMy4wNzAzTDQyLjAzMDUgMjguMzk2MloiLz4mI3hhOyAgICA8cGF0aCBmaWxsPSIjRjM1RTMyIiBkPSJNNDAuMTM0OCAxNS40MzM4TDM2LjIxOTcgMjIuMjNMNDIuMDIyMyAyOC4zOTc4TDQ1LjA5NzEgMjMuMDU5N0M0NC42MSAxOC44OTI5IDQyLjU4MjQgMTYuNjE3NCA0MC4xMzQ4IDE1LjQyNzciLz4mI3hhOzwvc3ZnPg==;fontColor=#FFFFFF;labelPosition=center;align=center;" parent="1" vertex="1">
<mxGeometry x="163" y="454.24" width="51.62" height="37.43" as="geometry" />
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#d5e8d4;strokeColor=#F35E32;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;" parent="1" source="kU3IDCsIoFBLPOvx1m8k-11" target="tk96eruObW772T1n_iph-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="345" y="323" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.75;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#2BEB8D;fontColor=#FFFFFF;endArrow=none;endFill=1;dashed=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;startFill=0;" parent="1" source="kU3IDCsIoFBLPOvx1m8k-9" target="kU3IDCsIoFBLPOvx1m8k-11" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="265" y="473" />
<mxPoint x="265" y="384" />
</Array>
<mxPoint x="235" y="526" as="sourcePoint" />
<mxPoint x="322" y="667" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#d5e8d4;strokeColor=#F35E32;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="kU3IDCsIoFBLPOvx1m8k-9" target="iY10oXc19hh5jrx_zFQi-28" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="259" y="482" />
<mxPoint x="259" y="582" />
</Array>
<mxPoint x="193" y="551" as="sourcePoint" />
<mxPoint x="341" y="582" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-28" value="Routing Peer&#xa;(inactive)" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAuMjY4NTU0OTg1NTIzMjIzOSAwLjM4MTgzNjAyNjkwNjk2NzE2IDIxLjk4NTM0Nzc0NzgwMjczNCAxNi4wMTU5NjQ1MDgwNTY2NCIgaGVpZ2h0PSIxNi4wMTU5NjQ1MDgwNTY2NCIgd2lkdGg9IjIxLjk4NTM0Nzc0NzgwMjczNCI+JiN4YTsgICAgPHBhdGggZmlsbD0iI0Y2ODMzMCIgZD0iTTE1Ljg5NzMgMC4zODE4MzZDMTMuMjQyNiAwLjYyNTg2MyAxMS45MjEzIDIuMTU3MTMgMTEuNDIyMSAyLjkzMTkyTDMuNjY1MDQgMTYuMzk2MUgxMy4wMjM0TDIyLjI1MzkgMC4zODE4MzZIMTUuODk3M1oiLz4mI3hhOyAgICA8cGF0aCBmaWxsPSIjRjY4MzMwIiBkPSJNMTMuMDMwNSAxNi4zOTYyTDAuMjY4NTU1IDIuODM0MzVDMC4yNjg1NTUgMi44MzQzNSAxNC42OTg4IC0xLjA1MTc5IDE2LjEwNTMgMTEuMDcwM0wxMy4wMzA1IDE2LjM5NjJaIi8+JiN4YTsgICAgPHBhdGggZmlsbD0iI0YzNUUzMiIgZD0iTTExLjEzNDggMy40MzM4M0w3LjIxOTczIDEwLjIzTDEzLjAyMjMgMTYuMzk3OEwxNi4wOTcxIDExLjA1OTdDMTUuNjEgNi44OTI5MiAxMy41ODI0IDQuNjE3MzcgMTEuMTM0OCAzLjQyNzczIi8+JiN4YTs8L3N2Zz4=;fontColor=#FFFFFF;spacingTop=-6;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="342.54" y="570" width="32.92" height="24" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,91 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.1.1 Chrome/138.0.7204.185 Electron/37.2.6 Safari/537.36" version="26.1.1">
<diagram name="Page-1" id="cSO_DhjBtIs-y8T3Yu-b">
<mxGraphModel dx="2582" dy="1493" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" background="#18181B" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="iY10oXc19hh5jrx_zFQi-16" value="&lt;font style=&quot;color: rgb(255, 255, 255);&quot;&gt;router-1&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#F68330;perimeterSpacing=0;dashed=1;labelPosition=center;verticalLabelPosition=middle;align=left;verticalAlign=top;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;dashPattern=1 2;spacing=3;spacingLeft=8;" parent="1" vertex="1">
<mxGeometry x="306" y="327" width="180" height="102" as="geometry" />
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-15" value="&lt;font style=&quot;color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;Server&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#F68330;perimeterSpacing=0;dashed=1;labelPosition=center;verticalLabelPosition=middle;align=left;verticalAlign=top;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;dashPattern=1 2;spacing=3;spacingLeft=8;" parent="1" vertex="1">
<mxGeometry x="506" y="429" width="180" height="102" as="geometry" />
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-13" value="&lt;font style=&quot;color: rgb(255, 255, 255);&quot;&gt;router-2&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#F68330;perimeterSpacing=0;dashed=1;labelPosition=center;verticalLabelPosition=middle;align=left;verticalAlign=top;textShadow=0;shadow=0;glass=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;dashPattern=1 2;spacing=3;spacingLeft=8;" parent="1" vertex="1">
<mxGeometry x="306" y="531" width="180" height="102" as="geometry" />
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#d5e8d4;strokeColor=#F35E32;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="kU3IDCsIoFBLPOvx1m8k-9" target="kU3IDCsIoFBLPOvx1m8k-11" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="259" y="464" />
<mxPoint x="259" y="378" />
</Array>
<mxPoint x="199" y="553" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#f8cecc;strokeColor=#2BEB8D;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;dashed=1;strokeWidth=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="iY10oXc19hh5jrx_zFQi-28" target="tk96eruObW772T1n_iph-26" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="562.25" y="587" as="sourcePoint" />
<mxPoint x="537" y="480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fillColor=#f8cecc;strokeColor=#2BEB8D;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;dashed=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;strokeWidth=1;targetPerimeterSpacing=0;jumpStyle=none;" parent="1" source="iY10oXc19hh5jrx_zFQi-28" target="tk96eruObW772T1n_iph-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="615" y="626" as="sourcePoint" />
<mxPoint x="658.54" y="830" as="targetPoint" />
<Array as="points">
<mxPoint x="367" y="468" />
<mxPoint x="449" y="468" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-23" value="192.168.1.2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=10;fontColor=#FFFFFF;fillColor=none;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="419" y="567" width="60" height="29.999999999999982" as="geometry" />
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-22" value="192.168.1.1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=10;fontColor=#FFFFFF;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="419" y="363" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kU3IDCsIoFBLPOvx1m8k-11" value="Routing Peer&#xa;(inactive)" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAuMjY4NTU0OTg1NTIzMjIzOSAwLjM4MTgzNjAyNjkwNjk2NzE2IDIxLjk4NTM0Nzc0NzgwMjczNCAxNi4wMTU5NjQ1MDgwNTY2NCIgaGVpZ2h0PSIxNi4wMTU5NjQ1MDgwNTY2NCIgd2lkdGg9IjIxLjk4NTM0Nzc0NzgwMjczNCI+JiN4YTsgICAgPHBhdGggZmlsbD0iI0Y2ODMzMCIgZD0iTTE1Ljg5NzMgMC4zODE4MzZDMTMuMjQyNiAwLjYyNTg2MyAxMS45MjEzIDIuMTU3MTMgMTEuNDIyMSAyLjkzMTkyTDMuNjY1MDQgMTYuMzk2MUgxMy4wMjM0TDIyLjI1MzkgMC4zODE4MzZIMTUuODk3M1oiLz4mI3hhOyAgICA8cGF0aCBmaWxsPSIjRjY4MzMwIiBkPSJNMTMuMDMwNSAxNi4zOTYyTDAuMjY4NTU1IDIuODM0MzVDMC4yNjg1NTUgMi44MzQzNSAxNC42OTg4IC0xLjA1MTc5IDE2LjEwNTMgMTEuMDcwM0wxMy4wMzA1IDE2LjM5NjJaIi8+JiN4YTsgICAgPHBhdGggZmlsbD0iI0YzNUUzMiIgZD0iTTExLjEzNDggMy40MzM4M0w3LjIxOTczIDEwLjIzTDEzLjAyMjMgMTYuMzk3OEwxNi4wOTcxIDExLjA1OTdDMTUuNjEgNi44OTI5MiAxMy41ODI0IDQuNjE3MzcgMTEuMTM0OCAzLjQyNzczIi8+JiN4YTs8L3N2Zz4=;fontColor=#FFFFFF;spacingTop=-6;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="342.54" y="366" width="32.92" height="24" as="geometry" />
</mxCell>
<mxCell id="tk96eruObW772T1n_iph-26" value="192.168.1.51" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=10;fontColor=#FFFFFF;flipH=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="522" y="465" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="fFz2IB4M-ZeV7vwJNDiT-2" value="" style="fontColor=#FFFFFF;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=image;flipH=0;imageAspect=0;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAuNSAwLjUgNjMgNTcuNjc0NDk5NTExNzE4NzUiIGhlaWdodD0iNTcuNjc0NDk5NTExNzE4NzUiIHdpZHRoPSI2MyI+JiN4YTsgICAgPHBhdGggc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZT0idXJsKCNwYWludDBfbGluZWFyXzY1MzNfMTA2NykiIGQ9Ik02MiAxNS45MjA4TDMyLjAxNDcgMjkuNDk1N0wyIDE1LjkyMDhMMzIuMDE0NyAyTDYyIDE1LjkyMDhaIi8+JiN4YTsgICAgPHBhdGggc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZT0idXJsKCNwYWludDFfbGluZWFyXzY1MzNfMTA2NykiIGQ9Ik0yIDI5LjQ5NDFMMzIuMDE0NyA0My4wOTc5TDYyIDI5LjQ5NDEiLz4mI3hhOyAgICA8cGF0aCBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlPSJ1cmwoI3BhaW50Ml9saW5lYXJfNjUzM18xMDY3KSIgZD0iTTIgNDMuMDk5NkwzMi4wMTQ3IDU2LjY3NDVMNjIgNDMuMDk5NiIvPiYjeGE7ICAgIDxkZWZzPiYjeGE7ICAgICAgICA8bGluZWFyR3JhZGllbnQgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHkyPSIyOS40OTU3IiB4Mj0iMzIiIHkxPSIyIiB4MT0iMzIiIGlkPSJwYWludDBfbGluZWFyXzY1MzNfMTA2NyI+JiN4YTsgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRjY4MzMwIi8+JiN4YTsgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRjM1RTMyIiBvZmZzZXQ9IjEiLz4mI3hhOyAgICAgICAgPC9saW5lYXJHcmFkaWVudD4mI3hhOyAgICAgICAgPGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iNDMuMDk3OSIgeDI9IjMyIiB5MT0iMjkuNDk0MSIgeDE9IjMyIiBpZD0icGFpbnQxX2xpbmVhcl82NTMzXzEwNjciPiYjeGE7ICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0Y2ODMzMCIvPiYjeGE7ICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0YzNUUzMiIgb2Zmc2V0PSIxIi8+JiN4YTsgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+JiN4YTsgICAgICAgIDxsaW5lYXJHcmFkaWVudCBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeTI9IjU2LjY3NDUiIHgyPSIzMiIgeTE9IjQzLjA5OTYiIHgxPSIzMiIgaWQ9InBhaW50Ml9saW5lYXJfNjUzM18xMDY3Ij4mI3hhOyAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGNjgzMzAiLz4mI3hhOyAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGMzVFMzIiIG9mZnNldD0iMSIvPiYjeGE7ICAgICAgICA8L2xpbmVhckdyYWRpZW50PiYjeGE7ICAgIDwvZGVmcz4mI3hhOzwvc3ZnPg==;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="615" y="462.5" width="31.5" height="35" as="geometry" />
</mxCell>
<mxCell id="kU3IDCsIoFBLPOvx1m8k-9" value="User" style="shape=image;verticalLabelPosition=top;verticalAlign=bottom;imageAspect=0;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA4MCA1OCIgaGVpZ2h0PSI1OCIgd2lkdGg9IjgwIj4mI3hhOyAgICA8cmVjdCBoZWlnaHQ9IjUzIiB3aWR0aD0iNzUiIHk9IjIuNSIgeD0iMi41Ii8+JiN4YTsgICAgPHBhdGggZmlsbD0iI0Y2ODMzMCIgZD0iTTgwIDU4TDc0LjYzNTEgNDAuODQyOVYwSDUuMzY0ODhWMzkuNjI4M0wwIDU4SDgwWk0yLjIwOTA2IDU2LjQ4MTdMNi42MjcxOSA0MS4xNDY2SDczLjA1NzJMNzcuNzkwOSA1Ni40ODE3SDIuMjA5MDZaTTYuOTQyNzkgMS41MTgzMkg3My4wNTcyVjM5LjYyODNINi45NDI3OVYxLjUxODMyWiIvPiYjeGE7ICAgIDxwYXRoIGZpbGw9IiNGNjgzMzAiIGQ9Ik00Ny4wMjE5IDUyLjY4NkgzMi45Nzg1VjU0LjIwNDRINDcuMDIxOVY1Mi42ODZaIi8+JiN4YTsgICAgPHBhdGggZmlsbD0iI0Y2ODMzMCIgZD0iTTQ0Ljg5NzMgMTIuMzgxOEM0Mi4yNDI2IDEyLjYyNTkgNDAuOTIxMyAxNC4xNTcxIDQwLjQyMjEgMTQuOTMxOUwzMi42NjUgMjguMzk2MUg0Mi4wMjM0TDUxLjI1MzkgMTIuMzgxOEg0NC44OTczWiIvPiYjeGE7ICAgIDxwYXRoIGZpbGw9IiNGNjgzMzAiIGQ9Ik00Mi4wMzA1IDI4LjM5NjJMMjkuMjY4NiAxNC44MzQzQzI5LjI2ODYgMTQuODM0MyA0My42OTg4IDEwLjk0ODIgNDUuMTA1MyAyMy4wNzAzTDQyLjAzMDUgMjguMzk2MloiLz4mI3hhOyAgICA8cGF0aCBmaWxsPSIjRjM1RTMyIiBkPSJNNDAuMTM0OCAxNS40MzM4TDM2LjIxOTcgMjIuMjNMNDIuMDIyMyAyOC4zOTc4TDQ1LjA5NzEgMjMuMDU5N0M0NC42MSAxOC44OTI5IDQyLjU4MjQgMTYuNjE3NCA0MC4xMzQ4IDE1LjQyNzciLz4mI3hhOzwvc3ZnPg==;fontColor=#FFFFFF;labelPosition=center;align=center;" parent="1" vertex="1">
<mxGeometry x="163" y="454.24" width="51.62" height="37.43" as="geometry" />
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;fillColor=#f8cecc;strokeColor=#2BEB8D;fontColor=#FFFFFF;endArrow=none;endFill=1;dashed=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;startFill=0;" parent="1" source="kU3IDCsIoFBLPOvx1m8k-9" target="iY10oXc19hh5jrx_zFQi-28" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="270" y="473" />
<mxPoint x="270" y="576" />
</Array>
<mxPoint x="235" y="526" as="sourcePoint" />
<mxPoint x="322" y="667" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#d5e8d4;strokeColor=#F35E32;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="kU3IDCsIoFBLPOvx1m8k-9" target="iY10oXc19hh5jrx_zFQi-28" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="259" y="482" />
<mxPoint x="259" y="582" />
</Array>
<mxPoint x="193" y="551" as="sourcePoint" />
<mxPoint x="341" y="582" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="iY10oXc19hh5jrx_zFQi-28" value="Routing Peer&#xa;(selected)" style="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAuMjY4NTU0OTg1NTIzMjIzOSAwLjM4MTgzNjAyNjkwNjk2NzE2IDIxLjk4NTM0Nzc0NzgwMjczNCAxNi4wMTU5NjQ1MDgwNTY2NCIgaGVpZ2h0PSIxNi4wMTU5NjQ1MDgwNTY2NCIgd2lkdGg9IjIxLjk4NTM0Nzc0NzgwMjczNCI+JiN4YTsgICAgPHBhdGggZmlsbD0iI0Y2ODMzMCIgZD0iTTE1Ljg5NzMgMC4zODE4MzZDMTMuMjQyNiAwLjYyNTg2MyAxMS45MjEzIDIuMTU3MTMgMTEuNDIyMSAyLjkzMTkyTDMuNjY1MDQgMTYuMzk2MUgxMy4wMjM0TDIyLjI1MzkgMC4zODE4MzZIMTUuODk3M1oiLz4mI3hhOyAgICA8cGF0aCBmaWxsPSIjRjY4MzMwIiBkPSJNMTMuMDMwNSAxNi4zOTYyTDAuMjY4NTU1IDIuODM0MzVDMC4yNjg1NTUgMi44MzQzNSAxNC42OTg4IC0xLjA1MTc5IDE2LjEwNTMgMTEuMDcwM0wxMy4wMzA1IDE2LjM5NjJaIi8+JiN4YTsgICAgPHBhdGggZmlsbD0iI0YzNUUzMiIgZD0iTTExLjEzNDggMy40MzM4M0w3LjIxOTczIDEwLjIzTDEzLjAyMjMgMTYuMzk3OEwxNi4wOTcxIDExLjA1OTdDMTUuNjEgNi44OTI5MiAxMy41ODI0IDQuNjE3MzcgMTEuMTM0OCAzLjQyNzczIi8+JiN4YTs8L3N2Zz4=;fontColor=#FFFFFF;spacingTop=-6;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="1" vertex="1">
<mxGeometry x="342.54" y="570" width="32.92" height="24" as="geometry" />
</mxCell>
<mxCell id="2-7cxzuUk5B6MaKidoRv-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#d5e8d4;strokeColor=#F35E32;fontColor=#FFFFFF;endArrow=blockThin;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="iY10oXc19hh5jrx_zFQi-28" target="tk96eruObW772T1n_iph-23" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="379" y="585" as="sourcePoint" />
<mxPoint x="423" y="585" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because one or more lines are too long

View File

@@ -6,8 +6,25 @@
externally to the **currently selected** Routing Peer.
Inactive Routing Peers in High Availability setup are also considered external resources!
</Note>
This document aims to explain how to correctly grant access to resources running outside the NetBird network and
why you might encounter hard to comprehend behaviours when accessing them.
We have seen various flavors of following issues:
1. I have only granted ICMP access to the Network, but I can access HTTPS services running on one of the IP addresses.
2. I have granted full access to the Network, but I cannot access anything on one of the IP addresses,
3. I did not grant any access to the Network, but for some reason this one IP is fully accessible.
Hint: sometimes you don't consider ICMP/DNS "granting an access" and it flies under the radar.
4. Right now I cannot access `IP.1`, other times it's `IP.2` or `IP.3` having issues,
5. I had coworkers reporting trouble accessing `IP.123`, while others cannot access `IP.45`.
Hint: different Routing Peer might be closest to different set of users.
6. I am giving access to a domain name with a Network Resource. I have confirmed the DNS query resolves, but there is
no access to the resulting IP address.
## The primary mechanism involved in policing Networks traffic
To manage access to and through the Routing Peers in Networks it is essential to understand that in the
standard operating system networking model IP addresses assigned directly to the device are handled differently and
independently of addresses behind it (aka routed/forwarded addresses).
@@ -45,24 +62,39 @@ Here are some general rules resulting from above mechanism:
## Visualising access
Following diagram explains the differences visually, it depicts:
In this example we are granting access:
- 1 User's laptop running NetBird client,
- 3 Routing Peers running NetBird client,
- a single LAN server, which does not run NetBird,
- Network Resource routing the `192.168.1.0/24` network,
- set of green dashed lines representing connections governed by the Access Policy
granting access to the Resource,
- set of orange solid lines representing connections governed by the Access Policy
granting access directly to the Routing Peer,
1. from the User's laptop (belonging to **User's Group**,
2. to the `192.168.1.0/24` Network Resource assigned to the **Resource's Group**
(there is a **Server** running in this network)
3. through 2 Routing Peer's belonging to **Routing Peer's Group** placed directly inside the same routed network
Such access is governed by 2 separate Access Policies:
1. a **Router Policy** from **User's Group** to **Routing Peer's Group** represented by a solid orange arrows
2. a **Resource Policy** from **User's Group** to **Resource's Group** represented by a green dashed arrows
When the `router-1` is acting as the Routing Peer:
<p>
<img src="/docs-static/img/how-to-guides/routing-peer-policies.drawio.png" alt="routing-peer-policies" className="imagewrapper-big"/>
<img src="/docs-static/img/how-to-guides/network-resource-policies-router-1.drawio.svg" alt="routing-peer-policies" className="imagewrapper-big"/>
</p>
When the `router-2` is acting as the Routing Peer:
<p>
<img src="/docs-static/img/how-to-guides/network-resource-policies-router-2.drawio.svg" alt="routing-peer-policies" className="imagewrapper-big"/>
</p>
In practice, you might observe seemingly "random" results depending on which Peer is
currently handling your requests.
### The **Router Policy**
- always governs access to both of the Routing Peer's NetBird IP addresses,
- only governs access to the currently active Routing Peer's local IP (external to NetBird),
- there can only ever be one active at a time,
### The **Resource Policy**
- always governs access to the **Server**,
- governs access to the inactive Routing Peer's local IP,
- there can be any number of inactive Routing Peers,
### Example: access granted only to the Resource
@@ -71,7 +103,6 @@ Having a single policy allowing access to Resources, but not to the Routing Peer
- connecting through `router-1` you will be able to access the`192.168.1.0/24` subnet
except for a single IP `192.168.1.1`(Routing Peer's local address),
- connecting through `router-2` you won't be able to access `192.168.1.2`,
- connecting through `router-3` you won't be able to access `192.168.1.3`,
### Example: restrictive Resource access combined with permissive Routing Peer access