jamesmcm / vopono

Run applications through VPN tunnels with temporary network namespaces
GNU General Public License v3.0
888 stars 46 forks source link

Ubuntu (lxc) Mullvad Transmission #205

Closed VR-Punk closed 1 year ago

VR-Punk commented 1 year ago

i use a Qnap Nas with a Full Ubuntu Installation in a Linux Container (lxc).

This is my error log:

deleted

jamesmcm commented 1 year ago

What is the kernel version ?

It seems iptables is missing addrtype support there. I'd recommend installing and using nftables anyway - see https://www.liquidweb.com/kb/how-to-install-nftables-in-ubuntu/

Also make sure that ufwis disabled as it may interfere with both and is included by default in Ubuntu IIRC.

Also you can't forward ports when running as root atm - https://github.com/jamesmcm/vopono/issues/84

So make sure you aren't running it as root in that case.

VR-Punk commented 1 year ago

How can start vopono without sudo ?

ufw ist not installed

Ubuntu 22.04 Qnap Kernel 5.10.60 Qnap

`sudo systemctl status nftables ● nftables.service - nftables Loaded: loaded (/lib/systemd/system/nftables.service; enabled; vendor preset: enabled) Active: active (exited) since Sat 2023-02-11 06:03:11 CET; 9min ago Docs: man:nft(8) http://wiki.nftables.org Process: 8566 ExecStart=/usr/sbin/nft -f /etc/nftables.conf (code=exited, status=0/SUCCESS) Main PID: 8566 (code=exited, status=0/SUCCESS)

Feb 11 06:03:11 ubuntu-server systemd[1]: Starting nftables... Feb 11 06:03:11 ubuntu-server systemd[1]: Finished nftables.`

VR-Punk commented 1 year ago

systemctl --user status vopono ○ vopono.service Loaded: loaded (/etc/xdg/systemd/user/vopono.service; static) Active: inactive (dead)

VR-Punk commented 1 year ago

`vopono -v exec -k -f xxxx -o xxxxx -u xxxx --protocol wireguard --provider mullvad --server romania "transmission-daemon -g /etc/transmission-daemon/ -a ..."

2023-02-11T05:17:40.559Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/xxxx/.config 2023-02-11T05:17:40.581Z WARN vopono > Could not parse PULSE_SERVER from pactl info output: Err(Could not parse pactl output!: Server-Zeichenkette: /run/xxxx/1000/pulse/native Bibliotheks-Protokollversion: 35 Server-Protokollversion: 35 ist lokal: ja Client-Index: 20 Tile-Größe: xxxx Name des Benutzers: xxxx Rechnername: xxxxxxxxxx Name des Servers: pulseaudio Version des Servers: 15.99.1 Standard-Abtastwert-Angabe: s16le 2ch 44100Hz Standard-Kanal-Zuordnung: front-left,front-right Standard-Ziel: auto_null Standard-Quelle: auto_null.monitor Cookie: xxxxx ) 2023-02-11T05:17:40.581Z INFO vopono_core::util > Calling sudo for elevated privileges, current user will be used as default user 2023-02-11T05:17:40.581Z DEBUG vopono_core::util > Args: ["vopono", "-v", "exec", "-k", "-f", "xxxx", "-o", "xxxxx", "-u", "xxxx", "--protocol", "wireguard", "--provider", "mullvad", "--server", "romania", "transmission-daemon -g /etc/transmission-daemon/ -a ..."] 2023-02-11T05:17:40.633Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/user/.config 2023-02-11T05:17:40.638Z WARN vopono > Could not parse PULSE_SERVER from pactl info output: Err(Could not parse pactl output!: ) 2023-02-11T05:17:40.638Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/xxx/.config 2023-02-11T05:17:40.640Z DEBUG vopono_core::util > Existing namespaces: [] 2023-02-11T05:17:40.640Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/xxx/.config 2023-02-11T05:17:40.640Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/xxx/.config 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "firewall" not found 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "custom_config" not found 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "custom_netns_name" not found 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "open_hosts" not found 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "allow_host_access" not found 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "postup" not found 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "predown" not found 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "group" not found 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "working-directory" not found 2023-02-11T05:17:40.641Z DEBUG vopono::exec > vopono config.toml: configuration property "dns" not found 2023-02-11T05:17:40.641Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/xxx/.config 2023-02-11T05:17:40.652Z DEBUG vopono::exec > vopono config.toml: configuration property "interface" not found 2023-02-11T05:17:40.652Z DEBUG vopono_core::network::network_interface > ip addr 2023-02-11T05:17:40.654Z WARN vopono::exec > Multiple network interfaces are active: [ "eth0@xxx", "eth1@xxx", "eth2@xxx", ], consider specifying the interface with the -i argument. Using eth0@ixxx 2023-02-11T05:17:40.654Z DEBUG vopono::exec > Interface: eth0xxx 2023-02-11T05:17:40.654Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/xxx/.config 2023-02-11T05:17:40.658Z INFO vopono_core::util > Chosen config: /home/xxx/.config/vopono/mv/wireguard/romania-xxx.conf 2023-02-11T05:17:40.660Z DEBUG vopono_core::util > Existing namespaces: [] 2023-02-11T05:17:40.660Z DEBUG vopono_core::util > ip netns add vopono_mv_romania 2023-02-11T05:17:40.669Z INFO vopono_core::network::netns > Created new network namespace: vopono_mv_romania 2023-02-11T05:17:40.672Z DEBUG vopono_core::util > Existing interfaces: 87: eth0@ixxx <BROADCAST,MULTICAST,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2023-02-11T05:17:40.673Z DEBUG vopono_core::util > Assigned IPs: [xxxxxxxxxxxxxxxxxxxxxxxxxx] 2023-02-11T05:17:40.673Z DEBUG vopono_core::network::netns > ip netns exec vopono_mv_romania ip addr add xxxxxxxxxxxxxxxxx dev lo 2023-02-11T05:17:40.677Z DEBUG vopono_core::network::netns > ip netns exec vopono_mv_romania ip link set lo up STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
verbunden vollständig aktiviert aktiviert aktiviert aktiviert 2023-02-11T05:17:40.725Z DEBUG vopono_core::network::veth_pair > Detected NetworkManager running 2023-02-11T05:17:40.725Z DEBUG vopono_core::network::veth_pair > NetworkManager detected, adding no_mv_romania_d to unmanaged devices 2023-02-11T05:17:40.725Z DEBUG vopono_core::network::veth_pair > Creating new NetworkManager config file: /etc/NetworkManager/conf.d/unmanaged.conf 2023-02-11T05:17:40.725Z DEBUG vopono_core::util > nmcli connection reload 2023-02-11T05:17:40.741Z DEBUG vopono_core::network::veth_pair > firewalld not detected running 2023-02-11T05:17:40.742Z DEBUG vopono_core::util > ip link add no_mv_romania_d type veth peer name no_mv_romania_s 2023-02-11T05:17:40.744Z DEBUG vopono_core::util > ip link set no_mv_romania_d up 2023-02-11T05:17:40.747Z DEBUG vopono_core::util > ip link set no_mv_romania_s netns vopono_mv_romania up 2023-02-11T05:17:40.757Z DEBUG vopono_core::util > ip addr add xxxxxxxxxxx dev no_mv_romania_d 2023-02-11T05:17:40.763Z DEBUG vopono_core::network::netns > ip netns exec vopono_mv_romania ip addr add xxxxxxx dev no_mv_romania_s 2023-02-11T05:17:40.769Z DEBUG vopono_core::network::netns > ip netns exec vopono_mv_romania ip route add default via xxxxxxxxxx dev no_mv_romania_s 2023-02-11T05:17:40.773Z INFO vopono_core::network::netns > IP address of namespace as seen from host: xxxxxxxxxxxxxxx 2023-02-11T05:17:40.773Z INFO vopono_core::network::netns > IP address of host as seen from namespace: xxxxxxxxxxxxxxx 2023-02-11T05:17:40.773Z DEBUG vopono_core::util > nft add table inet vopono_nat Error: Could not process rule: Operation not supported add table inet vopono_nat ^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-02-11T05:17:40.787Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/xxx/.config 2023-02-11T05:17:40.787Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/xxx/.config 2023-02-11T05:17:40.787Z INFO vopono_core::network::netns > Shutting down vopono namespace - as there are no processes left running inside 2023-02-11T05:17:40.787Z DEBUG vopono_core::util > ip link delete no_mv_romania_d 2023-02-11T05:17:40.809Z DEBUG vopono_core::util > Using config dir from $HOME config: /home/xxxx/.config 2023-02-11T05:17:40.811Z DEBUG vopono_core::util > nmcli connection reload 2023-02-11T05:17:40.864Z DEBUG vopono_core::util > ip netns delete vopono_mv_romania Error: Failed to create nft table vopono_nat

Caused by: Command failed: nft add table inet vopono_nat`

jamesmcm commented 1 year ago

Can you check if it has the kernel module loaded? - https://stackoverflow.com/questions/61727119/nftables-config-commands-failing-with-operation-not-supported

lsmod | grep nf_tables

VR-Punk commented 1 year ago

thx !

lsmod | grep nf_tables

no output !

Any chance to get vopono working with this crap kernel ? I can't update it, it is a custom kernel by Qnap ?

I have the kernel source from Qnap, should i build the nf_tables module ?

VR-Punk commented 1 year ago

Please help, i am in trouble with that Qnap. I worry that i bought a device, which is unusable for my needs, and i have to sell it on Ebay !

jamesmcm commented 1 year ago

The easiest option is probably to create your own container that runs what you want to run e.g. transmission and the VPN software directly. See Qnap's guide - https://www.qnap.com/en/how-to/tutorial/article/how-to-use-container-station-3

OpenVPN - https://hub.docker.com/r/dperson/openvpn-client

Wireguard - https://www.pedrolamas.com/2020/11/20/how-to-connect-to-a-wireguard-vpn-server-from-a-docker-container/

Gluetun - https://github.com/qdm12/gluetun - simplifies the above and is more like vopono for containers.

Otherwise you could try to have direct access without containers, e.g. by installing Arch Linux - https://eldon.me/install-arch-linux-on-qnap-nas/

VR-Punk commented 1 year ago

Thank you very much !!! Especially for the tip about Gluetun !