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?

  • Illuminated_Humanoid@alien.topOPB
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 months ago

    I presume you’re talking about this one ?

    sudo ip addr add 192.168.2.201/32 dev macvlan0

    I guess I didn’t explain properly but that is your auxiliary host’s IP. If you look at command 2 you’ll see

    --aux-address=“host=192.168.2.201”

    . Basically the CIDR notation

    /32

    is the same as the subnet mask

    255.255.255.255

    , only one IP address can be served in macvlan0.

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

    This one has me stumped. I hope you’re not one of those who deletes his Reddit posts because I may need to come back to this post one day 😁

    • isleepbad@alien.topB
      link
      fedilink
      English
      arrow-up
      0
      ·
      11 months ago

      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.topOPB
        link
        fedilink
        English
        arrow-up
        0
        ·
        11 months ago

        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.topB
          link
          fedilink
          English
          arrow-up
          0
          ·
          11 months ago

          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?