bigmoby / addon-wireguard-client

Hassio Add-On Wireguard Client
MIT License
66 stars 24 forks source link

Addon not available in Add-on Store #4

Closed vtanjga closed 3 years ago

vtanjga commented 3 years ago

Hi Fabio,

With more and more people getting behind NAT444, wireguard client is more useful for home usage than wireguard server. So after finding that original plugin doesn't support client mode, I find this one. I added https://github.com/bigmoby/hassio-repository-addon as repository in Add-on Store, reloaded, but this add-on or repository is still not visible in my Hassio Add-on Store list. System logs:

21-03-27 14:34:32 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/bigmoby/hassio-repository-addon repository 21-03-27 14:34:33 INFO (MainThread) [supervisor.store.git] Update add-on https://github.com/home-assistant/addons repository 21-03-27 14:34:34 WARNING (MainThread) [supervisor.store.data] Can't read /data/addons/git/fc962596/frpc/config.json: required key not provided @ data['arch']. Got None 21-03-27 14:34:35 WARNING (MainThread) [supervisor.store.data] Can't read /data/addons/git/fc962596/frpc/config.json: required key not provided @ data['arch']. Got None

My Home Assistant Core version: core-2021.3.2

bigmoby commented 3 years ago

Hi @vtanjga , it sounds to me as "platform not supported", could you give me your host type please? (Raspberry or whatelse and cpu kernel platform type)

vtanjga commented 3 years ago

Yes, it's Raspberry Pi 3 B+, Hassio is running on it. It's not supported?

Linux core-ssh 5.4.79-v7 #1 SMP Fri Jan 1 15:38:03 UTC 2021 armv7l Linux

bigmoby commented 3 years ago

Yes, it's Raspberry Pi 3 B+, Hassio is running on it. It's not supported?

Linux core-ssh 5.4.79-v7 #1 SMP Fri Jan 1 15:38:03 UTC 2021 armv7l Linux

Oh sure, it's fully compatible for these arch: "arch":[ "aarch64", "amd64", "armhf", "armv7", "i386" ],

so for your platform (and also mine! ;-) ) it's ok! I see, from your log, a Fast Reverse Proxy error (/data/addons/git/fc962596/frpc/config.json) it's NOT releated to Wireguard Client add-on. Please consider to uninstall all not required addons (special mentions to all reverse proxy) and retry to install the Wireguard Client. Please keep in mind to give me a feedback ;-)

vtanjga commented 3 years ago

I had some nginx plugin installed. The moment I removed it - I had wireguard-client plugin available for installation! Good catch! But it's not quite working yet. I mean, it's configured, it connects to my WG server, but I'm not able to reach anything over dedicated ip addresses withing wireguard. What I was planning to to is to use my VPS with public IP to configure reverse proxy with hassio running at my home R Pi as backend . The way I understand it, I should be now able to just curl my_hassio_wireguard_ip:443 from VPS where reverse proxy and wireguard server are running and it should work. But, I'm getting this in Apache (that's used as reverse proxy):

[proxy:error] [pid 25557] (110)Connection timed out: AH00957: HTTPS: attempt to connect to 10.22.0.2:443 (10.22.0.2) failed [proxy_http:error] [pid 25557] [client public_ip:4942] AH01114: HTTP: failed to make connection to backend: 10.22.0.2

I'm also not able to confirm that WG IP is reachable from either side using nc. I dropped all firewall rules I had (except forward rules WG set) to rule out that as the issue. WG logs from both sides shows that connection is active and fine. Any idea?

bigmoby commented 3 years ago

Hi @vtanjga with the Wireguard broker/client communication now you have a tunnel channel so, now, you could expose your Home Assistant service outside your provider nat. But, after that you must to forward all incoming connections to wireguard host to your client (in other words you have to try curl wireguard_host:433 ~> internal routing to wireguard client ~> and then response...). Please follow this guide I wrote (sorry at moment in italian only!): https://github.com/bigmoby/homeassistant_nat_network and the second part too https://github.com/bigmoby/homeassistant_nat_network/blob/main/README_IT_part_2.md And you'll solve! ;-)

vtanjga commented 3 years ago

Hi Fabio! I didn't have time to play with this over the week. So, it's definitely configuration/plugin problem. I configured another wireguard client on my desktop in the same home LAN, where Homeassistant RPi is. With this setup, I have no issues using curl from VPS/wireguard server to reach HA on the private LAN and no problem accessing HA web interface using public domain name which is routed through Apache reverse proxy on this VPS. What I'm thinking is that maybe plugin doesn't have enough privileges to actually configure RPi network, as every plugin on Hassio is a docker container. I have no actual knowledge of how Hassio OS actually works internally, so I may be wrong about this. Did you manage to make it work even on HA OS?

vtanjga commented 3 years ago

Looking at config.json it should have enough privileges...

vtanjga commented 3 years ago

Can you please take a look at the PR? I wasn't able to test it, so can't confirm if that will solve the issue.