Ysurac / docker-openmptcprouter-vps

Docker version of openmptcprouter vps (alpha state)
GNU General Public License v3.0
20 stars 11 forks source link

Multiple Error Docker VPS Version #1

Open MrTheSkream opened 5 years ago

MrTheSkream commented 5 years ago

Hello,

I currently have several errors on the docker version of OpenMPTCPRouter-VPS. Here are the log captures as well as configuration files.

Error :

Files Config :

Specifications

Ysurac commented 5 years ago

The docker version is in an alpha state. You must have a MPTCP enabled kernel.

lars18th commented 5 years ago

You must have a MPTCP enabled kernel.

Perhaps using "diuid" (https://github.com/weber-software/diuid) you can run it in a host without a MPTCP enabled kernel.

The concept is simple: a Docker container running inside a UML (with a custom kernel) packaged inside a Docker image.

So, if you modificate the kernel compiled for "diuid" then you can "enable" MPTCP inside the docker image.

About the performance, it will be impacted. But, if it works, then it can be a solution for running it inside standard docker hosts. Futhermore, the networking connection between the inner and outher dockers needs to be improved (at time it uses an SSH reverse forward). We can study how to improve it if this way will be used with the Docker-OMR-VPS.

Regards.

lars18th commented 5 years ago

Hi @Ysurac ,

And another option (perhaps with more performance) is the "Runq" project: https://github.com/gotoz/runq

It uses KVM/Qemu to run docker images, so it can be fast if the host has a kernel with KVM module support. Futhermore it can use a custom kernel (read about /var/lib/runq/qemu in https://github.com/gotoz/runq#developing-runq) and works inside a VM (nested VM).

However, in fact this isn't a real docker image. So it runs as a regular process in the host.

I hope it helps.

mstrolo commented 2 years ago

what do I get from running it on a docker? I can make it work for more than 1 client?

SpectroHA commented 2 years ago

what do I get from running it on a docker? I can make it work for more than 1 client?

I was hoping to run it as a container vs my current virtual machine in esxi because updating a virtual machine is painful. As a container the configuration can be mapped allowing the container to be redeployed with the latest code without the configuration needing to be manually exported and imported each time. Mind you, that's not what makes virtual machine updating painful. That's painful because to update requires installing a new virtual machine from OVA to replace the prior one (this is what docker excels at doing rapidly) and then importing your exported config. The imported config however tends to also write mac-address information to the interface configuration, so a new VM gets new mac addresses and as soon as you import your config you've nuked the network setup with no good way to resolve it. So you have to unpack the backup tar.gz, edit the network information in the backup to remove the mac address option, and re-pack it.

lars18th commented 2 years ago

Hi @seijirou302 ,

I agree with you! The current implementation of the OMR is painful if you aren't using the same configuration of the develper: 1 hardware router for your entire LAN and a VPS. From my point of view a "containerized" version of both (router and VPS) will be more confortable, user-friendly and easy to update. I hope @Ysurac will want to follow in this direction in the future.

Any way, thank you @Ysurac for this useful project! 😉

Ysurac commented 2 years ago

Container can be used only if host kernel support MPTCP. If host kernel is patched (or already have MPTCP support enabled for kernel >= 5.15, only BBR2 will be missing), should not be difficult to dockerize.

lars18th commented 2 years ago

Container can be used only if host kernel support MPTCP. If host kernel is patched (or already have MPTCP support enabled for kernel >= 5.15, only BBR2 will be missing), should not be difficult to dockerize.

I understand the requirment of the patched kernel. However, using a Virtual Machine for the host, then the Docker module could work directly. So, are you interested on support this environment?

SpectroHA commented 2 years ago

I am grateful for this project and for Ysurac's work. I very much appreciate that a VM for OMR is supported at all even if updating it is fidgety.