summaryrefslogtreecommitdiffstats
path: root/roles/gateway
AgeCommit message (Collapse)AuthorFilesLines
2026-01-29Add ipv6 support to gateway VPN roleAhmed Abdelhalim3-7/+33
After finding issues that vpn ip6 wasn't working reliably (which was obvious over VPN) Needed to add the VPN routing table support (similar to ipv4) This together with disabling ssh (for github and sr.ht) over ipv6 makes the vpn reliable again Will test and see, since I saw that the archlinux machine wasn't working properly over the vpn, but it could be due to the VPN ipv6 wasn't resolving.
2025-12-16Remove company from the roles metaAhmed Abdelhalim1-1/+0
2025-11-19Update docs about the usage of gateway-init serviceAhmed Abdelhalim1-0/+4
2025-11-19Fix gateway direct-mode not triggering on VPN disconnectAhmed Abdelhalim1-1/+1
The gateway-direct-mode.service was never triggering when WireGuard interfaces were removed, leaving VPN iptables rules active even when VPN was disconnected. This caused internet connectivity to fail in direct mode. Root cause: SYSTEMD_WANTS in udev rules only works for ACTION=="add" events. When a device is removed, the device unit is already gone before systemd can process the SYSTEMD_WANTS dependency, so the service never starts. This is a documented systemd limitation. Fix: Replace SYSTEMD_WANTS with RUN+ for the remove action, which executes systemctl directly during udev event processing without requiring a device unit to exist. References: - https://stackoverflow.com/questions/72208534/why-does-systemd-wants-not-pass-a-parameter-to-a-service-file-from-a-udev-remov - https://stackoverflow.com/questions/73148448/how-to-start-systemd-user-service-when-device-is-removed-and-stop-it-when-devic - https://bugzilla.redhat.com/show_bug.cgi?id=871074https://bugzilla.redhat.com/show_bug.cgi?id=871074 - https://unix.stackexchange.com/questions/528803/systemd-doesnt-stop-the-service-when-the-device-is-removed The VPN mode (ACTION=="add") continues to use SYSTEMD_WANTS as it works correctly for device addition events.
2025-09-23Use static values for defaults instead of ansible varsAhmed Abdelhalim2-2/+2
The ansible vars fail on CI because the validate arguments task runs way before the setting of the variables, which causes the ansible undefined vars on CI to cause errors. This is a way better approach of having the static values as defaults and allowing setting the variables to ansible vars in the host/group vars
2025-09-12Fix the testing of gateway role in containers/CIAhmed Abdelhalim2-2/+3
2025-09-12Implement the gateway role (replacing old wireguard-gateway)Ahmed Abdelhalim11-0/+364
2025-09-03Revert "Refactor: rename wireguard_gateway to gateway"Ahmed Abdelhalim6-248/+0
This reverts commit fdd0b5b58f0ebd39ad05e2dcb17faa6603145f97.
2025-09-03Revert "Experimental: adding iptables persistence through reboots"Ahmed Abdelhalim2-48/+1
This reverts commit 025abf3ce9497f51d21b14aa31907c0c3bd75ecf.
2025-09-03Experimental: adding iptables persistence through rebootsAhmed Abdelhalim2-1/+48
2025-09-03Refactor: rename wireguard_gateway to gatewayAhmed Abdelhalim6-0/+248
As the role now functions as a gateway and not just a wireguard gateway it's better name for clarity