diff options
author | Johannes Stoelp <johannes.stoelp@gmail.com> | 2023-05-24 23:20:42 +0200 |
---|---|---|
committer | Johannes Stoelp <johannes.stoelp@gmail.com> | 2023-05-25 00:48:49 +0200 |
commit | c67f71782d24180ce2e3a16112018dc095dba09f (patch) | |
tree | fff007e7b0486d8213e74e4d40e8ff8f6cf01466 /content | |
parent | 19eaed9e806484eae46ab4146093e384d67d76aa (diff) | |
download | blog-c67f71782d24180ce2e3a16112018dc095dba09f.tar.gz blog-c67f71782d24180ce2e3a16112018dc095dba09f.zip |
openwrt: migration to dsa
Diffstat (limited to 'content')
-rw-r--r-- | content/2023-05-24-openwrt-migrate-to-dsa/archer-devices.png | bin | 0 -> 70408 bytes | |||
-rw-r--r-- | content/2023-05-24-openwrt-migrate-to-dsa/archer-interfaces.png | bin | 0 -> 72284 bytes | |||
-rw-r--r-- | content/2023-05-24-openwrt-migrate-to-dsa/archer-vlan-swconfig.png | bin | 0 -> 71924 bytes | |||
-rw-r--r-- | content/2023-05-24-openwrt-migrate-to-dsa/home-nw.drawio | 97 | ||||
-rw-r--r-- | content/2023-05-24-openwrt-migrate-to-dsa/home-nw.svg | 4 | ||||
-rw-r--r-- | content/2023-05-24-openwrt-migrate-to-dsa/index.md | 96 | ||||
-rw-r--r-- | content/2023-05-24-openwrt-migrate-to-dsa/portal-devices.png | bin | 0 -> 97482 bytes | |||
-rw-r--r-- | content/2023-05-24-openwrt-migrate-to-dsa/portal-interfaces.png | bin | 0 -> 76418 bytes | |||
-rw-r--r-- | content/2023-05-24-openwrt-migrate-to-dsa/portal-vlan-dsa.png | bin | 0 -> 33516 bytes |
9 files changed, 197 insertions, 0 deletions
diff --git a/content/2023-05-24-openwrt-migrate-to-dsa/archer-devices.png b/content/2023-05-24-openwrt-migrate-to-dsa/archer-devices.png Binary files differnew file mode 100644 index 0000000..f0a6142 --- /dev/null +++ b/content/2023-05-24-openwrt-migrate-to-dsa/archer-devices.png diff --git a/content/2023-05-24-openwrt-migrate-to-dsa/archer-interfaces.png b/content/2023-05-24-openwrt-migrate-to-dsa/archer-interfaces.png Binary files differnew file mode 100644 index 0000000..7a60c81 --- /dev/null +++ b/content/2023-05-24-openwrt-migrate-to-dsa/archer-interfaces.png diff --git a/content/2023-05-24-openwrt-migrate-to-dsa/archer-vlan-swconfig.png b/content/2023-05-24-openwrt-migrate-to-dsa/archer-vlan-swconfig.png Binary files differnew file mode 100644 index 0000000..4cc981d --- /dev/null +++ b/content/2023-05-24-openwrt-migrate-to-dsa/archer-vlan-swconfig.png diff --git a/content/2023-05-24-openwrt-migrate-to-dsa/home-nw.drawio b/content/2023-05-24-openwrt-migrate-to-dsa/home-nw.drawio new file mode 100644 index 0000000..0deba95 --- /dev/null +++ b/content/2023-05-24-openwrt-migrate-to-dsa/home-nw.drawio @@ -0,0 +1,97 @@ +<mxfile host="Electron" modified="2023-05-24T21:01:40.405Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.2.8 Chrome/112.0.5615.165 Electron/24.2.0 Safari/537.36" etag="FlqAC42MuRAAWpQo0nuL" version="21.2.8" type="device"> + <diagram name="Page-1" id="QeHWJlUOV-UGDBzk2ikC"> + <mxGraphModel dx="677" dy="406" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> + <root> + <mxCell id="0" /> + <mxCell id="1" parent="0" /> + <mxCell id="43TysSX-HvgKgP8Y0ypq-15" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.496;entryY=0.951;entryDx=0;entryDy=0;entryPerimeter=0;shadow=0;jumpStyle=none;startArrow=classic;startFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="43TysSX-HvgKgP8Y0ypq-24" target="43TysSX-HvgKgP8Y0ypq-14" edge="1"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="560" y="250" as="sourcePoint" /> + <mxPoint x="560" y="190" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-14" value="Internet" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;verticalAlign=middle;labelBackgroundColor=none;fontFamily=Courier New;fillColor=none;strokeColor=default;" parent="1" vertex="1"> + <mxGeometry x="500" y="110" width="120" height="80" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-20" value="AVM 7360SL" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="480" y="280" width="160" height="80" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-24" value="ADSL" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="540" y="260" width="40" height="20" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-26" value="LAN2" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fontColor=#FF55FF;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="520" y="360" width="40" height="20" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-27" value="LAN3" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fontColor=#FF55FF;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="560" y="360" width="40" height="20" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-28" value="LAN4" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fontColor=#55FFFF;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="600" y="360" width="40" height="20" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-30" value="Archer C7" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="200" y="280" width="160" height="80" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-33" value="LAN2" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fontColor=#FF55FF;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="240" y="360" width="40" height="20" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-34" value="LAN3" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fontColor=#FF55FF;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="280" y="360" width="40" height="20" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-35" value="LAN4" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fontColor=#FF55FF;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="320" y="360" width="40" height="20" as="geometry" /> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-37" value="" style="line;strokeWidth=4;direction=south;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;" parent="1" vertex="1"> + <mxGeometry x="215" y="240" width="10" height="40" as="geometry" /> + </mxCell> + <mxCell id="CHWT-ApZoGZrmfGw0gxG-6" value="" style="line;strokeWidth=4;direction=south;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;" parent="1" vertex="1"> + <mxGeometry x="335" y="240" width="10" height="40" as="geometry" /> + </mxCell> + <mxCell id="CHWT-ApZoGZrmfGw0gxG-7" value="<font face="Courier New" data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter">Networks<br><span style="background-color: initial;">- <font color="#ff55ff">HOME&nbsp; 192.168.1.0/24 (VLAN 10)</font><br></span><span style="background-color: initial;">- <font color="#55ffff">GUEST 10.0.0.0/24&nbsp; &nbsp; (VALN 20)</font></span></font><span style="background-color: initial;"><br></span>" style="text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;" parent="1" vertex="1"> + <mxGeometry x="160" y="110" width="240" height="80" as="geometry" /> + </mxCell> + <mxCell id="CHWT-ApZoGZrmfGw0gxG-8" value="<font color="#ffffff">Wifi | </font><font color="#ff55ff">HOME</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=Courier New;" parent="1" vertex="1"> + <mxGeometry x="180" y="210" width="100" height="30" as="geometry" /> + </mxCell> + <mxCell id="CHWT-ApZoGZrmfGw0gxG-9" value="Wifi | <font color="#55ffff">GUEST</font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=Courier New;" parent="1" vertex="1"> + <mxGeometry x="300" y="210" width="110" height="30" as="geometry" /> + </mxCell> + <mxCell id="CHWT-ApZoGZrmfGw0gxG-13" value="<font face="Courier New">VLAN trunk</font>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="320" y="420" width="80" height="20" as="geometry" /> + </mxCell> + <mxCell id="CHWT-ApZoGZrmfGw0gxG-38" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF55FF;exitX=0;exitY=0.5;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;endFill=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="CHWT-ApZoGZrmfGw0gxG-13" target="43TysSX-HvgKgP8Y0ypq-32" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="320" y="454.74" as="sourcePoint" /> + <mxPoint x="210" y="390" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="CHWT-ApZoGZrmfGw0gxG-40" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;edgeStyle=orthogonalEdgeStyle;strokeColor=#55FFFF;" parent="1" source="CHWT-ApZoGZrmfGw0gxG-13" target="43TysSX-HvgKgP8Y0ypq-25" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="390" y="400" as="sourcePoint" /> + <mxPoint x="440" y="350" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-32" value="LAN1" style="rounded=0;whiteSpace=wrap;html=1;gradientColor=none;fillColor=none;gradientDirection=north;fillStyle=auto;fontFamily=Courier New;" parent="1" vertex="1"> + <mxGeometry x="200" y="360" width="40" height="20" as="geometry" /> + </mxCell> + <mxCell id="CHWT-ApZoGZrmfGw0gxG-27" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#55FFFF;exitX=0;exitY=0.5;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;dashed=1;dashPattern=8 8;" parent="1" source="CHWT-ApZoGZrmfGw0gxG-13" target="43TysSX-HvgKgP8Y0ypq-32" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="219.86" y="430" as="sourcePoint" /> + <mxPoint x="219.86" y="380" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="43TysSX-HvgKgP8Y0ypq-25" value="LAN1" style="rounded=0;whiteSpace=wrap;html=1;gradientColor=none;fillColor=none;gradientDirection=north;fillStyle=auto;fontFamily=Courier New;" parent="1" vertex="1"> + <mxGeometry x="480" y="360" width="40" height="20" as="geometry" /> + </mxCell> + <mxCell id="CHWT-ApZoGZrmfGw0gxG-24" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeColor=#FF55FF;exitX=1;exitY=0.5;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;dashed=1;dashPattern=8 8;" parent="1" source="CHWT-ApZoGZrmfGw0gxG-13" target="43TysSX-HvgKgP8Y0ypq-25" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="500" y="410" as="sourcePoint" /> + <mxPoint x="500" y="370" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="XrIVUrY72TcaWzMk_yWX-1" value="Firewall" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fillColor=none;" vertex="1" parent="1"> + <mxGeometry x="500" y="280" width="120" height="20" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> diff --git a/content/2023-05-24-openwrt-migrate-to-dsa/home-nw.svg b/content/2023-05-24-openwrt-migrate-to-dsa/home-nw.svg new file mode 100644 index 0000000..32b8698 --- /dev/null +++ b/content/2023-05-24-openwrt-migrate-to-dsa/home-nw.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Do not edit this file with editors other than diagrams.net --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="481px" height="331px" viewBox="-0.5 -0.5 481 331" content="<mxfile host="Electron" modified="2023-05-24T21:01:52.082Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.2.8 Chrome/112.0.5615.165 Electron/24.2.0 Safari/537.36" etag="EAmenvRFyZdS3st3_g7I" version="21.2.8" type="device"><diagram name="Page-1" id="QeHWJlUOV-UGDBzk2ikC">7Vtbc9o4FP41zHQfYHwHHoGEpLNJNzOkufRlR9jCqDEWlUWA/vqVsOSbxDWQ0nSnMy0+lnX5zqdP0jlqze5NFlcETMe3OIBRzTKCRc2+qFmW12yyv7lhmRocw0sNIUFBajJzwwD9hMJoCOsMBTApFaQYRxRNy0YfxzH0ackGCMHzcrERjsqtTkEIFcPAB5FqfUQBHafWlmvk9muIwrFs2TTEmwmQhYUhGYMAzwsm+7Jm9wjGNP01WfRgxLGTuKTf9de8zTpGYEx3+cCx75fJ4Kl+/Rr+Hd61no3l9EfddNNqXkE0EyMWvaVLCQHBsziAvBajZncxoWMc4hhENxhPmdFkxu+Q0qVwHphRzExjOonEW9ZBsnzi3zecticNzytD281KXCxEE+nTsvh0BwmaQAqJMGZg8ofvs8l0IPob4xjy9xQQ2uH+ZzY/AkmCfGnuoyjr2QLRtGOueHqWrbLfeYf4g+yPirtwRYJnxIcbwLYcQWBAQkg3eUUUhEGJnMKvVxAzKMiSFSAwAhS9lrkKBOXDrFz26R1GrNOWIWan6wluislpSVrLKtIhia+K3NpSkdmuVJQOWamI/SiMJzetqLsPjR2Fxp9jxpYYUoXOrDomHjAl0RSu+IFnrPbufIwoHEzByolzJmdlGr9CQhFThk6EwpjZJigIeKXdCAxh1AX+S7iaKj0cYZJTcYRj2gcTFHFsegxQxFhsGV/gnL9kXKyUTyjBL1AaAzgCs4hu4h3vF1xs5Il0k1Fxk1TZeS5tptSrcUHWWsZ6apV8ua/jZGMFx3UebpmhaXvG4GaLFm1x2L7IHwFhp1WZUS0Nwt67IqxOjc7Fb4is61SQ9VRkHQ2w1smA9RRgbzpfti2fbwKWvZTA1iy733fdfv90gFtlwO1fDnhTB7j9cQD3zg3wlg5w5/0A53CfEHDPODPAbc1qSPzxCqBe87eTbMs4t8XQtj+2ZlvOuTFa3X18KM22WucGuHqgf1/NPjHg9rntSmx1V6KAHaHCyU6GkRxmCRCBPkWYHyfZWZvbi7hPC1GPITtfDhmMhUhId8rP06sBud2ae8GjMzPKG+tl0bCNEYs9eC4DRVLKHY2Ua2B3jgB77/rxvt6ZfsNX38hkdDU3wsVVXd18f0DUbfvMUNdx3VtFJ7gKsDcjICJg3o8ZD2x2y2qRmdlzACio88/qCfFL34wp5dHdDu+r1edFkkaIcRhBMEVJw8cTZvYTVqQ/kqrE90lMw3zmGKt7AWYMC95q3p4X8n+/QDrH5CWR3R4S+UZakimISzySVQyzAE/dT2Wtw+GKEUUgSiuoNFavcdUp4eNnQpkXtkcj1x2N1O+v/7m9ZL/BhMtxPEymKXBm22qYXqthNljtfX6+Nz49MJHnr4y/ZIMCuerw1AGzgumYfzkOHAUdDldfLwf3q9E1Vn/EqBVgNKZPD50bDoy1FZg1MKwpfUR09vBMReCYilAlYCijjurqW5A43Xq/NryJ2ZtRtIqkj5kNxscRN7MaM9YEI7VL+TFOB1p1U4+7u81ePWsf0QhxUjZ7BfqvodMb1EFfrZ4pBQYA4eUIjugm5xOYoJ9guKrI0C5+PN+TpKkfcw82btxTHoNe1UisLtZtaOhln4pebYVeWoq8QSH/J8O6jVQ1EqEjg24ndTIymGok4uCtVOpnsQWgZBa/7EqF/U6B73KgcyzVNa0THei0nrF1y0AFNxgHMrmsLq5lUMtToHhAzpLPtULqOUtE65PPPCMsU915Jv4yt3ZZ10SCO0ueFzLcMvG+Lem+1rHFJPdGYm9NctsC1q1J7gIRXA0RpO2NuXCFh67TaDrlWnZNh2fyIoMUp0uHa30gd01HorAkqrkPUQ8k3naCKxMqyxK8A2kt97xI266Q1qgQbVfGOtXAcfUmyIkvcEgxKIctpfsOXLBCAgIE8+jk+v2HLHlRiAzFnH6iuGSkuNt06u1KNXHynkFO7fzQpF43CUp+4Wq9phyoD+tn/2mW0wAk41WnTfFwByi/WMQsbJ9gtP7ItdIy242WV1ae6k5597VSqcuunvBPLD6WNmfyp4pP9QrTrxcfNYd4LuKj7OX32iL9JuJzZnue6iVGxzxQeaoV2c2Tyc4T+fzwlTw3rXsfPP68ffl3+fhUlzMzp3WfKcAc8C/fdE4/6KaHIhAaVu18sVR700N3sfQA0WCP+aX51Bf5/zywL/8D</diagram></mxfile>"><defs><style type="text/css">@import url(https://fonts.googleapis.com/css?family=Architects+Daughter);
</style></defs><g><path d="M 399.96 143.63 L 399.56 82.45" fill="none" stroke="rgb(240, 240, 240)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 399.99 148.88 L 396.45 141.9 L 399.96 143.63 L 403.45 141.86 Z" fill="rgb(240, 240, 240)" stroke="rgb(240, 240, 240)" stroke-miterlimit="10" pointer-events="all"/><path d="M 399.53 77.2 L 403.07 84.18 L 399.56 82.45 L 396.07 84.22 Z" fill="rgb(240, 240, 240)" stroke="rgb(240, 240, 240)" stroke-miterlimit="10" pointer-events="all"/><path d="M 370 20 C 346 20 340 40 359.2 44 C 340 52.8 361.6 72 377.2 64 C 388 80 424 80 436 64 C 460 64 460 48 445 40 C 460 24 436 8 415 16 C 400 4 376 4 370 20 Z" fill="none" stroke="rgb(240, 240, 240)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 40px; margin-left: 341px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Internet</div></div></div></foreignObject><text x="400" y="44" fill="rgb(240, 240, 240)" font-family="Courier New" font-size="12px" text-anchor="middle">Internet</text></switch></g><rect x="320" y="170" width="160" height="80" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 210px; margin-left: 321px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">AVM 7360SL</div></div></div></foreignObject><text x="400" y="214" fill="rgb(240, 240, 240)" font-family="Courier New" font-size="12px" text-anchor="middle">AVM 7360SL</text></switch></g><rect x="380" y="150" width="40" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 160px; margin-left: 381px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">ADSL</div></div></div></foreignObject><text x="400" y="164" fill="rgb(240, 240, 240)" font-family="Courier New" font-size="12px" text-anchor="middle">ADSL</text></switch></g><rect x="360" y="250" width="40" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 361px;"><div data-drawio-colors="color: #FF55FF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(255, 85, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LAN2</div></div></div></foreignObject><text x="380" y="264" fill="#FF55FF" font-family="Courier New" font-size="12px" text-anchor="middle">LAN2</text></switch></g><rect x="400" y="250" width="40" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 401px;"><div data-drawio-colors="color: #FF55FF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(255, 85, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LAN3</div></div></div></foreignObject><text x="420" y="264" fill="#FF55FF" font-family="Courier New" font-size="12px" text-anchor="middle">LAN3</text></switch></g><rect x="440" y="250" width="40" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 441px;"><div data-drawio-colors="color: #55FFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(85, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LAN4</div></div></div></foreignObject><text x="460" y="264" fill="#55FFFF" font-family="Courier New" font-size="12px" text-anchor="middle">LAN4</text></switch></g><rect x="40" y="170" width="160" height="80" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 210px; margin-left: 41px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Archer C7</div></div></div></foreignObject><text x="120" y="214" fill="rgb(240, 240, 240)" font-family="Courier New" font-size="12px" text-anchor="middle">Archer C7</text></switch></g><rect x="80" y="250" width="40" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 81px;"><div data-drawio-colors="color: #FF55FF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(255, 85, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LAN2</div></div></div></foreignObject><text x="100" y="264" fill="#FF55FF" font-family="Courier New" font-size="12px" text-anchor="middle">LAN2</text></switch></g><rect x="120" y="250" width="40" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 121px;"><div data-drawio-colors="color: #FF55FF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(255, 85, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LAN3</div></div></div></foreignObject><text x="140" y="264" fill="#FF55FF" font-family="Courier New" font-size="12px" text-anchor="middle">LAN3</text></switch></g><rect x="160" y="250" width="40" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 161px;"><div data-drawio-colors="color: #FF55FF; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(255, 85, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LAN4</div></div></div></foreignObject><text x="180" y="264" fill="#FF55FF" font-family="Courier New" font-size="12px" text-anchor="middle">LAN4</text></switch></g><path d="M 40 150 L 80 150" fill="none" stroke="rgb(240, 240, 240)" stroke-width="4" stroke-miterlimit="10" transform="rotate(90,60,150)" pointer-events="all"/><path d="M 160 150 L 200 150" fill="none" stroke="rgb(240, 240, 240)" stroke-width="4" stroke-miterlimit="10" transform="rotate(90,180,150)" pointer-events="all"/><rect x="0" y="0" width="240" height="80" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 238px; height: 1px; padding-top: 40px; margin-left: 2px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 76px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font data-font-src="https://fonts.googleapis.com/css?family=Architects+Daughter" face="Courier New">Networks<br /><span style="background-color: initial;">- <font color="#ff55ff">HOME 192.168.1.0/24 (VLAN 10)</font><br /></span><span style="background-color: initial;">- <font color="#55ffff">GUEST 10.0.0.0/24 (VALN 20)</font></span></font><span style="background-color: initial;"><br /></span></div></div></div></foreignObject><text x="2" y="44" fill="rgb(240, 240, 240)" font-family="Helvetica" font-size="12px">Networks...</text></switch></g><rect x="20" y="100" width="100" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 115px; margin-left: 22px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font color="#ffffff">Wifi | </font><font color="#ff55ff">HOME</font></div></div></div></foreignObject><text x="22" y="119" fill="rgb(240, 240, 240)" font-family="Courier New" font-size="12px">Wifi | HOME</text></switch></g><rect x="140" y="100" width="110" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 115px; margin-left: 142px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: nowrap;">Wifi | <font color="#55ffff">GUEST</font></div></div></div></foreignObject><text x="142" y="119" fill="rgb(240, 240, 240)" font-family="Courier New" font-size="12px">Wifi | GUEST</text></switch></g><rect x="160" y="310" width="80" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 320px; margin-left: 161px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font face="Courier New">VLAN trunk</font></div></div></div></foreignObject><text x="200" y="324" fill="rgb(240, 240, 240)" font-family="Helvetica" font-size="12px" text-anchor="middle">VLAN trunk</text></switch></g><path d="M 160 320 L 60 320 L 60 270" fill="none" stroke="#ff55ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 240 320 L 340 320 L 340 270" fill="none" stroke="#55ffff" stroke-miterlimit="10" pointer-events="stroke"/><rect x="40" y="250" width="40" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 41px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LAN1</div></div></div></foreignObject><text x="60" y="264" fill="rgb(240, 240, 240)" font-family="Courier New" font-size="12px" text-anchor="middle">LAN1</text></switch></g><path d="M 160 320 L 60 320 L 60 276.37" fill="none" stroke="#55ffff" stroke-miterlimit="10" stroke-dasharray="8 8" pointer-events="stroke"/><path d="M 60 271.12 L 63.5 278.12 L 60 276.37 L 56.5 278.12 Z" fill="#55ffff" stroke="#55ffff" stroke-miterlimit="10" pointer-events="all"/><rect x="320" y="250" width="40" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 321px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">LAN1</div></div></div></foreignObject><text x="340" y="264" fill="rgb(240, 240, 240)" font-family="Courier New" font-size="12px" text-anchor="middle">LAN1</text></switch></g><path d="M 240 320 L 340 320 L 340 276.37" fill="none" stroke="#ff55ff" stroke-miterlimit="10" stroke-dasharray="8 8" pointer-events="stroke"/><path d="M 340 271.12 L 343.5 278.12 L 340 276.37 L 336.5 278.12 Z" fill="#ff55ff" stroke="#ff55ff" stroke-miterlimit="10" pointer-events="all"/><rect x="340" y="170" width="120" height="20" fill="none" stroke="rgb(240, 240, 240)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 180px; margin-left: 341px;"><div data-drawio-colors="color: rgb(240, 240, 240); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: "Courier New"; color: rgb(240, 240, 240); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Firewall</div></div></div></foreignObject><text x="400" y="184" fill="rgb(240, 240, 240)" font-family="Courier New" font-size="12px" text-anchor="middle">Firewall</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file diff --git a/content/2023-05-24-openwrt-migrate-to-dsa/index.md b/content/2023-05-24-openwrt-migrate-to-dsa/index.md new file mode 100644 index 0000000..89259ba --- /dev/null +++ b/content/2023-05-24-openwrt-migrate-to-dsa/index.md @@ -0,0 +1,96 @@ ++++ +title = "openwrt: Migrating to DSA" + +[taxonomies] +tags = ["openwrt", "dsa", "vlan", "linux"] ++++ + +After upgrading the routers in my home network to the latest `openwrt-22.03` +version, one of my routers, the [avm 7360sl][avm-7360sl], moved to the new +[distributed switch architecture][linux-dsa] (`DSA`). + +In my home network I currently run two separate networks each with their own +`VLANs` and an additional access point (**archer c7**) to extend the wifi +range. The access point and the **avm** router are connected via tagged ports +transferring tagged ethernet packets (VLAN trunk). +In the figure below the network setup is shown. + +<img src="home-nw.svg"> + +Since the **avm** box moved from `swconfig` to `DSA` I had to migrate my +current `VLAN` setup on the **avm** box. + +The description below documents this setup, and may be of help to anybody :^) + +## AVM 7360SL + +With `DSA` the switch ports appear as own devices, here the `lanX` devices. + +<img src="portal-devices.png"> + +VLANs are directly configured on the `bridge` devices and appear as sub-devices +of the bridge. See above, the `br-lan.10` and `br-lan.20` which correspond to +the VLANs 10 and 20. +The **Local** setting of the VLAN controls if the corresponding sub-device is +created or not. + +The **lan1** port is configured as **tagged (T)** for our VLANs. This means for +outgoing packets the VLAN tag is not removed and incoming packets should be +tagged. Additionally, we configured that incoming packets that are untagged +should be tagged with VLAN 99 **primary VLAN (U|*)**. This port is used as VLAN +trunk to connect the access point. + +<img src="portal-vlan-dsa.png"> + +For the configuration nothing has changed, besides using the new bridge +sub-devices. + +<img src="portal-interfaces.png"> + +## Archer C7 + +For completeness of the setup, the following shows the configuration of the +access point. + +The access point defines two networks `lan` and `guest` similar to the networks +defined on the router above. The interfaces bridge the following devices +together: +- **br-lan**: eth0.10 + home wifi +- **br-guest**: eth0.20 + guest wifi + +<img src="archer-interfaces.png"> + +> NOTE: The `guest` interface is setup as `unmanaged` because it does not need +> an IP address, since nobody connected to the guest network should be able to +> connect to the access point. The access point also does not define any +> firewall rules, as all firewall rules are centrally defined on the **avm** +> box. + +The switch is configured as shown below. The two interesting configurations are +that the **CPU (eth0)** interface is tagged for all VLANs and that the **LAN1** +port is tagged as well. + +<img src="archer-vlan-swconfig.png"> + +Similar to the avm setup above, the **LAN1** port is tagged for our VLANs and +hence used as VLAN trunk to connect to the avm router. + +The **eth0** port is tagged, such that we get sub-devices **eth0.10** and +**eth0.20** for use in our different networks. + +<img src="archer-devices.png"> + +## References + +- [DSA Mini-Tutorial][openwrt-dsa] +- [VLAN switch configuration][openwrt-vlan] +- [Switch documentation][openwrt-vlan] +- [AVM 7360SL][avm-7360sl] +- [TP-Link Archer C7][archer-c7] + +[linux-dsa]: https://www.kernel.org/doc/html/latest/networking/dsa/dsa.html +[avm-7360sl]: https://openwrt.org/toh/avm/fritz.box.wlan.7360 +[archer-c7]: https://openwrt.org/toh/tp-link/archer_c7 +[openwrt-dsa]: https://openwrt.org/docs/guide-user/network/dsa/dsa-mini-tutorial +[openwrt-vlan]: https://openwrt.org/docs/guide-user/network/vlan/switch_configuration +[openwrt-swconf]: https://openwrt.org/docs/guide-user/network/vlan/switch diff --git a/content/2023-05-24-openwrt-migrate-to-dsa/portal-devices.png b/content/2023-05-24-openwrt-migrate-to-dsa/portal-devices.png Binary files differnew file mode 100644 index 0000000..f3467cb --- /dev/null +++ b/content/2023-05-24-openwrt-migrate-to-dsa/portal-devices.png diff --git a/content/2023-05-24-openwrt-migrate-to-dsa/portal-interfaces.png b/content/2023-05-24-openwrt-migrate-to-dsa/portal-interfaces.png Binary files differnew file mode 100644 index 0000000..d14969d --- /dev/null +++ b/content/2023-05-24-openwrt-migrate-to-dsa/portal-interfaces.png diff --git a/content/2023-05-24-openwrt-migrate-to-dsa/portal-vlan-dsa.png b/content/2023-05-24-openwrt-migrate-to-dsa/portal-vlan-dsa.png Binary files differnew file mode 100644 index 0000000..7c8fd85 --- /dev/null +++ b/content/2023-05-24-openwrt-migrate-to-dsa/portal-vlan-dsa.png |