<div dir="ltr"><div>New to Wireguard, it looks super interesting... quick questions:<br><br></div>1. If it uses UDP only, how does NAT traversal (firewall punch through) work?<br><div><br></div><div>2. are there userspace implementations available...?<br><br>Experience thus far: The src packages that are in repos for centos 7 were insufficient to compile. I downloaded full wireguard source and tried to compile the wireguard kernel module on centos 7.3 with kernel 3.10, no luck, lots of compile time header issues. I upgraded to kernel 4.10 and could compile the wireguard module under kernel 4.10, but then got stuck on how to compile the dependent modules;hey aren't specific to wireguard, but rather generic modules that just weren't in the default 4.10 kernel and I'm not sure how to build them.<br></div><div><br>[root@k0 src]# insmod ./wireguard.ko<br>insmod: ERROR: could not insert module ./wireguard.ko: Unknown symbol in module<br>[root@k0 src]# dmesg<br>...<br>[77292.707469] wireguard: Unknown symbol udp_sock_create4 (err 0)<br>[77292.711122] wireguard: Unknown symbol udp_tunnel6_xmit_skb (err 0)<br>[77292.714899] wireguard: Unknown symbol udp_tunnel_sock_release (err 0)<br>[77292.718642] wireguard: Unknown symbol setup_udp_tunnel_sock (err 0)<br>[77292.722699] wireguard: Unknown symbol udp_sock_create6 (err 0)<br>[77292.726007] wireguard: Unknown symbol udp_tunnel_xmit_skb (err 0)<br>[root@k0 src]# <br><br></div><div>Anywho, a userland implementation would be easier to play with. Are such out there?<br><br></div><div>Thanks!<br><br></div><div>Jason<br></div></div>