bigmoby / addon-wireguard-client

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

Remote HomeAssistant Break after update to 0.2.0 #17

Closed LowKey88 closed 2 years ago

LowKey88 commented 2 years ago

Problem/Motivation

Remote HomeAssistant Break on 0.2.0

Expected behavior

Connection Established on Remote HomeAssistant

Actual behavior

Log : import of 10.10.0.3 failed

Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 986, in _wrap_create_connection return await self._loop.create_connection(*args, **kwargs) # type: ignore[return-value] # noqa File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1081, in create_connection transport, protocol = await self._create_connection_transport( File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1111, in _create_connection_transport await waiter ConnectionAbortedError: SSL handshake is taking longer than 60.0 seconds: aborting the connection

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/config/custom_components/remote_homeassistant/config_flow.py", line 45, in validate_input info = await async_get_discovery_info( File "/config/custom_components/remote_homeassistant/rest_api.py", line 47, in async_get_discovery_info async with session.get(url, headers=headers) as resp: File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 1138, in aenter self._resp = await self._coro File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 535, in _request conn = await self._connector.connect( File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 542, in connect proto = await self._create_connection(req, traces, timeout) File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 907, in _createconnection , proto = await self._create_direct_connection(req, traces, timeout) File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 1206, in _create_direct_connection raise last_exc File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 1175, in _create_direct_connection transp, proto = await self._wrap_create_connection( File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 992, in _wrap_create_connection raise client_error(req.connection_key, exc) from exc aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 10.10.0.3:8123 ssl:default [None]

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/config/custom_components/remote_homeassistant/config_flow.py", line 180, in async_step_import info = await validate_input(self.hass, user_input) File "/config/custom_components/remote_homeassistant/config_flow.py", line 54, in validate_input raise CannotConnect() custom_components.remote_homeassistant.rest_api.CannotConnect

Steps to reproduce

Remote HomeAssistant

Proposed changes

N/A

bigmoby commented 2 years ago

Hi @LowKey88 please describe how could I reproduce it.

LowKey88 commented 2 years ago

1) deploy WireGuard on VPS/Cloud 2) Configure WireGuard Client on both HA

Config :

On HA1

interface: private_key: WBgnQ+xxxxxxx= address: 10.10.0.4 dns:

On HA2

interface: private_key: WBgnQ+xxxxxxx= address: 10.10.0.3 dns:

4) Verify both connection VPN ( At this step, I'm able to ping to 10.10.0.3 (remote)from 10.10.0.4) - Connection Success 5) Install Remote HomeAssistant on Both HA

Suspected something blocking on endpoints Wireguard, but on our setup no firewall configured.

VPS WireGuard

Chain INPUT (policy ACCEPT) target prot opt source destination

Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT) target prot opt source destination

route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 209.58.164.254 0.0.0.0 UG 0 0 0 eth0 10.10.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wg0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 209.58.164.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Hope this help you to reproduce and investigate further.

bigmoby commented 2 years ago

Hi @LowKey88 thank you for your description in order to reproduce it. I analyzed once again the changes between the two versions: https://github.com/bigmoby/addon-wireguard-client/commit/cfb7e482f828dbcea9e32db345fdb4157c102cac and no changes or restrictions happened. Only one change not under my control regarding the new base image update and I'll investigate if something changed. I don't know the custom component Remote Home Assistant, maybe something changed on it?! Both wireguard clients are working so the add-on Wireguard Client is still working well. Could you try, as test, to recover from the latest Wireguard Client backup so you could test if v0.1.8 will work with the current Remote Home Assistant component?

LowKey88 commented 2 years ago

Hi, @bigmoby

may i know how to revert back to v0.1.8?

bigmoby commented 2 years ago

HI @LowKey88 , take a look on your backups section, you should have a pre-update wireguard-client add-on backup.

LowKey88 commented 2 years ago

Hi @bigmoby

Screenshot 2022-01-20 at 4 48 14 PM

Seem like my backup not contain wireguard-client add-on.

Update :

My old backup on 2022-01-14 , and it's use latest version : WireGuard Client (0.2.0)

bigmoby commented 2 years ago

Mmm sounds like you skipped the backup flag before the add-on update...no backup with v0.1.8?

LowKey88 commented 2 years ago

yes, no backup with v0.1.8. Perhaps got another way?

bigmoby commented 2 years ago

There's no easy way out...unfortunately! And because I'm not sure that a regression occurs in this add-on I don't want downgrade this release. I suggest you, as a last minute hint, to fork this project and edit by yourself the config.json and hardcode the preferred image version.

Or you could try this downgrade procedure: https://community.home-assistant.io/t/how-to-downgrade-any-supervisor-addon/349649

bigmoby commented 2 years ago

Hi @LowKey88 any news about the downgrade procedure?

LowKey88 commented 2 years ago

Hi @bigmoby , I think this not related to wireguard client. I tested on my another HA, it's work fine.

We can close this issue due to non related to wireguard client problem.