<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://paul.rosham.com/</loc>
<lastmod>2026-10-06</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/</loc>
<lastmod>2026-10-06</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/about/</loc>
</url>
<url>
<loc>https://paul.rosham.com/search/</loc>
</url>
<url>
<loc>https://paul.rosham.com/blog/free-blog-cloudflare-workers-tinacms/</loc>
<lastmod>2026-10-06</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-frr-bgp-announce-prefix/</loc>
<lastmod>2026-10-05</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-bgp-own-address-space/</loc>
<lastmod>2026-10-03</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-retire-public-ip-safely/</loc>
<lastmod>2026-10-02</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-netbird-routing-peer/</loc>
<lastmod>2026-09-30</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/catalyst-3850-console-linux-jumphost-config-backup/</loc>
<lastmod>2026-09-29</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/self-hosted-netbird-operator-access/</loc>
<lastmod>2026-09-28</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/catalyst-3850-syslog-to-wazuh/</loc>
<lastmod>2026-09-25</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/webshell-incident-lessons-small-hosting/</loc>
<lastmod>2026-09-16</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-acme-certificates-ha-pair/</loc>
<lastmod>2026-09-12</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-ha-config-sync-not-working/</loc>
<lastmod>2026-09-10</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-carp-vhid-config-sync/</loc>
<lastmod>2026-09-07</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/pbs-verify-failed-protect-latest/</loc>
<lastmod>2026-09-04</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/pbs-fingerprint-mismatch-after-rename/</loc>
<lastmod>2026-08-28</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-migrate-vms-between-clusters/</loc>
<lastmod>2026-08-21</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/authentik-vault-identity-small-estate/</loc>
<lastmod>2026-08-14</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/pbs-restore-drill-file-guest-site/</loc>
<lastmod>2026-08-14</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-sdn-vlan-zones-netbox-ipam/</loc>
<lastmod>2026-08-07</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/pbs-backup-directory-proxmox-backup-client-pxar/</loc>
<lastmod>2026-07-31</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-lxc-bind-mount-cephfs-unprivileged/</loc>
<lastmod>2026-07-28</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-cannot-migrate-local-bind-mount-point/</loc>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/cephfs-lxc-bind-mount-snapshots-pbs/</loc>
<lastmod>2026-07-21</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-ceph-replace-osd-rejoin-node/</loc>
<lastmod>2026-07-03</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-cluster-api-vip-keepalived/</loc>
<lastmod>2026-06-26</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-three-node-ceph-cluster-setup/</loc>
<lastmod>2026-06-20</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-ceph-three-node-cluster-used-hardware/</loc>
<lastmod>2026-06-18</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-automated-install-answer-file-pxe/</loc>
<lastmod>2026-06-16</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/pbs-prune-verify-gc-schedules/</loc>
<lastmod>2026-06-10</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-unbound-split-horizon-dns/</loc>
<lastmod>2026-06-05</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-rbd-snapshots-cron-path-trap/</loc>
<lastmod>2026-05-29</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/pbs-sync-job-task-ok-datastore-empty/</loc>
<lastmod>2026-05-27</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/pbs-pull-replication-between-sites/</loc>
<lastmod>2026-05-26</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-backup-server-site-replication/</loc>
<lastmod>2026-05-24</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-api-python-firewall-rules/</loc>
<lastmod>2026-05-15</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/catalyst-3850-ios-xe-upgrade-install-mode/</loc>
<lastmod>2026-05-08</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-vlan-trunk-kea-dhcp/</loc>
<lastmod>2026-05-02</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/catalyst-3850-port-channel-up-no-traffic/</loc>
<lastmod>2026-05-01</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/catalyst-3850-lacp-port-channel-proxmox-bond/</loc>
<lastmod>2026-04-29</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/catalyst-3850-trunk-native-vlan-wan-as-vlan/</loc>
<lastmod>2026-04-28</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/catalyst-3850-stack-priority-add-member/</loc>
<lastmod>2026-04-27</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/switch-stack-conventions-proxmox-opnsense/</loc>
<lastmod>2026-04-26</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/proxmox-cloud-init-ubuntu-template-static-ip/</loc>
<lastmod>2026-04-17</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/opnsense-port-forward-behind-carp/</loc>
<lastmod>2026-04-03</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/vlan-addressing-scheme-small-data-center/</loc>
<lastmod>2026-03-29</lastmod>
</url>
<url>
<loc>https://paul.rosham.com/blog/infrastructure-on-a-very-low-budget/</loc>
<lastmod>2026-03-28</lastmod>
</url>
</urlset>
