top | item 32329052

OpenVPN & WireGuard server at GitHub Actions: representative NAT traversal case

48 points| ValdikSS | 3 years ago |github.com | reply

7 comments

order
[+] ValdikSS|3 years ago|reply
It's not possible to run server software on GitHub Actions using regular methods: the worker virtual machine is placed behind Network Address Translation (NAT), which prevents it from receiving direct inbound TCP/UDP connections. This repository consists of GitHub Actions jobs for OpenVPN and WireGuard VPN servers which traverse NAT, making possible to establish VPN connection to the Actions worker machine directly, without any additional tunnel, third-party service, or port forwarding software.

This is a step-by-step, thoroughly documented practical UDP NAT traversal showcase using GitHub Actions with OpenVPN/WireGuard servers as an example, with only stock software from Ubuntu repositories.

[+] stoplying1|3 years ago|reply
Hm, while instructive, there are plenty of options for Wireguard meshes that more or less self configure and can NAT punch out of the box. This entire operation is a two-liner with the Tailscale Action, for example.
[+] makifoxgirl|3 years ago|reply
GitHub actions is too good to be true, or rather it's part of Microsoft's eee model embracing and extending the platform before extinguishing it with more paid plans. It's stuff like this that'll eventually make them decide to do it. Although this is super neat, it's just so important to remember never to get too invested into Microsoft things if you're not willing to pay into it later. Idk things like Google photos. GitLab is not doing well, there's no way GitHub could keep actions up for free. Maybe if income from elsewhere can keep paying for it, but anyway... actions is such a mixed bag of feelings for me.
[+] elashri|3 years ago|reply
Isn't that against ToS? Also I don't think these things help, they will just accelerate Github decision to pull off their generous free actions.
[+] preya2k|3 years ago|reply
For me, ssh tunneling has always covered all of these use cases. SSH Tunnel seem to be a little bit more lightweight than a VPN solution.
[+] johnthescott|3 years ago|reply
wireguard is way more lightweight than ssh tunnel, in our experience. we eliminated all ssh tunnels except for a few butt-save backdoors.
[+] ValdikSS|3 years ago|reply
Which use case are you referring to? You can't connect via SSH to the GitHub Actions worker, it is behind NAT.