this post was submitted on 19 Oct 2023
2 points (100.0% liked)

Self-Hosted Main

515 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

Hi

Stock nginx built into Synology DSM won't cut it, so I decided to install Nginx Proxy Manager. Before doing so, I created a macvlan and assigned the NPM container to use the assigned IP. Once install is finished, and I try to launch NPM, it fails to load. I tried the same install without macvlan, and it works and loads just fine. I have installed many other containers on macvlan, so I know what I am doing and have the knowledge and experience, but I have never run into this before where there seems to be a conflict I am not aware of.

Help? Anyone?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] isleepbad@alien.top 1 points 1 year ago (3 children)

I was actually referring to 'sudo ip route add 192.168.2.200/29 dev macvlan0' for #3

That is the MACVLANs subnet. That's basically carving a small subnet out of your LAN that your virtual LAN will sit on. See the preparation section of the original post.

And yes, all proxying goes to the aux IP.

[โ€“] Illuminated_Humanoid@alien.top 1 points 1 year ago (2 children)

Looking at your example. Your original settings are:

docker network create -d macvlan \
-o parent=eth0 \
--subnet=192.168.2.0/24 \
--gateway=192.168.2.1 \
--ip-range 192.168.2.200/27 \
--aux-address="host=192.168.2.201" \
dockervlan

Why did you use 192.168.2.200/29 for your route? This is the last part I dont quite understand. How does it play into the settings you chose above?

My setup is ip range 192.168.87.96/30 which is ip range 192.168.87.96 to 192.168.87.99 . I chose 192.168.87.99 as my auxillary and my Nginx was automatically given IP 192.168.87.96 . Now my question is how do I go about knowing what to use for route? I blindly first tried 192.168.87.98 from some bad info ChatGPT gave me and then I changed the route to the exact same CIDR notation I use for my IP range which is 192.168.87.96/30 and that seemed to work. Im asking because although it works I have zero clue why it works. My brain doesnt understand this final part.

๐Ÿ™๐Ÿผ

[โ€“] isleepbad@alien.top 1 points 1 year ago (1 children)

Why did you use 192.168.2.200/29 for your route? This is the last part I dont quite understand. How does it play into the settings you chose above?

I made a typo here and it should be --ip-range 192.168.2.200/29

As I mentioned above you are creating a virtual LAN and as such you need to carve out your own subnet.

My setup is ip range 192.168.87.96/30 which is ip range 192.168.87.96 to 192.168.87.99 . I chose 192.168.87.99 as my auxillary and my Nginx was automatically given IP 192.168.87.96 . Now my question is how do I go about knowing what to use for route?

What do you mean what to use for route? Given what you said your command should look like:

docker network create -d macvlan \
-o parent=eth0 \
--subnet=192.168.87.0/24 \
--gateway=192.168.87.1 \ #this is your router's address
--ip-range 192.168.87.96/30 \
--aux-address="host=192.168.87.99" \
dockervlan

So that command is saying: I have an entire LAN that lives on the subnet 192.168.87.0/24. My router (i.e. gateway) has the IP address 192.168.87.1. I have a virtual network (macvlan) that has its own subnet that has the range 192.168.87.96/30.

So now you need to create the virtual subnet (macvlan) using the command

sudo ip route add 192.168.87.96/30 dev macvlan0

If you use any other subnet it wouldn't make any sense. How else would you get the same address space you described in the ip-range option?

So essentially the last step where you create a virtual subnet is going to be the same CIDR notation as the IP range. Well, I'll be damned, it seems like I lucked out on that one and got it right.

Thanks again. Your method worked great and for some weird reason the other methods out there such as this one and also this one did not work for me. One of the guide creators was also trying to help me, and it just wouldn't work.

God bless ๐Ÿ™๐Ÿผ