Skip to content

Instantly share code, notes, and snippets.

View filipproch's full-sized avatar

Filip Prochazka filipproch

View GitHub Profile
@filipproch
filipproch / WireGuard-site-to-site.md
Created January 16, 2022 17:45
Accessing a subnet that is behind a WireGuard client using a site-to-site setup

WireGuard Site-to-Site

Accessing a subnet that is behind a WireGuard client using a site-to-site setup

Problem Summary

We want to access a local subnet remotely, but it is behind a NAT firewall and we can't setup port forwarding. Outgoing connections work, but all incoming connections get DROPPED by the ISP's routing policy.

Solution Summary

2019/12/22 18:55:56 Validating tools available in PATH
exec: kubectl version --client
res: Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T23:42:50Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
exec: openssl version
res: LibreSSL 2.8.3
exec: helm version -c
res: Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
2019/12/22 18:31:15 Validating tools available in PATH
exec: kubectl version --client
res: Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T23:42:50Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
exec: openssl version
res: LibreSSL 2.8.3
exec: helm version -c
res: Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}

Keybase proof

I hereby claim:

  • I am filipproch on github.
  • I am filipproch (https://keybase.io/filipproch) on keybase.
  • I have a public key ASBr4s3Fi0jXfqbLU5dlaOs_aJFZuKJnxzY1zfz0VRXwOQo

To claim this, I am signing this object:

void startNewGame() {
myCells.forEach((cellElement) => cellElement.setInnerHtml("a"));
}
// with function
void startNewGame() {
myCells.forEach(resetElement);
}
val repository: TasksRepository = kodein.instance()
class MainActivity : AppCompatActivity(), AppCompatActivityInjector {
override val injector: KodeinInjector = KodeinInjector()
private val repository: TasksRepository by instance()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
initializeInjector()
}
class MyApp : Application(), KodeinAware {
override val kodein: Kodein = Kodein {
bind<TasksRepository>() with singleton {
FakeTasksRepository()
}
}
}
val appDiModule = Kodein.Module {
import(diModel)
import(diUI)
}
class MyApp : Application(), KodeinAware {
val diModel = Kodein.Module {
bind<TasksRepository>() with singleton {
FakeTasksRepository()
}
}