MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    ipWhitelist HowTo

    Scheduled Pinned Locked Moved Tutorials
    83 Posts 36 Posters 145.0k Views 34 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R Offline
      roramirez Core Contributors @Mitchfarino
      last edited by

      @Mitchfarino Are you sure?, Can you show the config/config.js ?

      There some logs when did you run and access it?

      Easy module development with MagicMirror Module Template

      1 Reply Last reply Reply Quote 0
      • MitchfarinoM Offline
        Mitchfarino Module Developer
        last edited by

        I’m just at work at the moment, so I’ll post my config when I get home.

        When I leave it as it originally was in the config, the mirror loads but I can’t get MMM-RemoteControl to work as it gives me the permission error

        Then when I replace it with [] it fails to load the mirror and tells me to create a config.js file

        1 Reply Last reply Reply Quote 0
        • T Offline
          twosix
          last edited by

          The remoter control module is not working for me to any extent, when I whitelist the IPs for my school’s wifi (following the HowToWhitelistIP thread’s directions) in every way stated, I get the “this device is not allowed to access…” message. Then, when I allow all IPs access I get the “cannot get remote/html” message. Any help would be great! Thanks!

          1 Reply Last reply Reply Quote 0
          • rudibaraniR Offline
            rudibarani Project Sponsor @mochman
            last edited by rudibarani

            Hi @mochman,
            I was wondering, if the whitelist could be used to limit the access to different MM sub-sites? I would like to have the MM screen itself open to a larger set of IP addresses but would like to lock down the MMM-RemoteControl & MMM-AdminInterface sites and limit access to my own devices.
            Any idea how to achieve this?
            Thanks for your advice!

            1 Reply Last reply Reply Quote 0
            • cowboysdudeC Offline
              cowboysdude Module Developer
              last edited by cowboysdude

              It helps to read a little…
              http://searchsecurity.techtarget.com/definition/application-whitelisting

              +| ipWhitelist | The list of IPs from which you are allowed to access the MagicMirror². The default value is ["127.0.0.1", "::ffff:127.0.0.1", "::1"]. It is possible to specify IPs with subnet masks (["127.0.0.1", "127.0.0.1/24"]) or define ip ranges (["127.0.0.1", ["192.168.0.1", "192.168.0.100"]]). Set [] to allow all IP addresses. For more information about how configure this directive see the follow post ipWhitelist HowTo |

              rudibaraniR R 2 Replies Last reply Reply Quote 2
              • rudibaraniR Offline
                rudibarani Project Sponsor @cowboysdude
                last edited by

                @cowboysdude Thanks for your reply. My white Lists work fine for the MM2 screen. I was looking for a way to separately limit access to the sites generated by the Remote Control and Admin interface module. Any ideas?

                cowboysdudeC 1 Reply Last reply Reply Quote 0
                • cowboysdudeC Offline
                  cowboysdude Module Developer @rudibarani
                  last edited by

                  @rudibarani said in ipWhitelist HowTo:

                  @cowboysdude Thanks for your reply. My white Lists work fine for the MM2 screen. I was looking for a way to separately limit access to the sites generated by the Remote Control and Admin interface module. Any ideas?

                  Honestly the best thing to do is ask the creator of those modules ;) I don’t do the ipWhitelist.

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    roblocksrocks @cowboysdude
                    last edited by

                    @cowboysdude Maybe you’ll be able to help, I’ve tried doing [ ], I’ve tried whitelesting all IPs as shown in here, and the only thing I have been able to get to work is whitelisting specific IPV4 and IPV6 addresses. That was fine because my most used devices have static IPs anyway however the issue comes now that I have port forwarding and am trying to open it up to any IP (I am aware of the security ramifications)

                    cowboysdudeC 1 Reply Last reply Reply Quote 0
                    • O Offline
                      open_book @mochman
                      last edited by open_book

                      @mochman I’m experiencing a similar problem to the one @looolz describes above.

                      I can access through SSH (putty) no problem. I’ve seen the logs “Access denied to …” and added the two addresses (my laptop and mobile) to the ipWhitelist.

                      I’ve also added the “…1.1/120” and “…1.1/112” to the list but I still get access denied.

                      I did get both devices working for a while - but was then denied access through putty! I’d really like to be able to access through mobilebrowser for MMM-remotecontrol AND SSH for other work.

                      The reason for this comment is that I checked wlan0 and I have an inett6 addr listed.

                      You mention this above but don’t say what to consider next. If you’re still around and have any thoughts about this I’d appreciate it!

                      resulted in me being able to connect from mobile/laptop but meant that SSH stopped working.

                      sudo insert motivational.quote

                      1 Reply Last reply Reply Quote 0
                      • cowboysdudeC Offline
                        cowboysdude Module Developer @roblocksrocks
                        last edited by

                        @roblocksrocks Lets see if @mochman answers because honestly I don’t use it and really have no working knowledge of it or how to use it.

                        1 Reply Last reply Reply Quote 0
                        • mochmanM Offline
                          mochman Module Developer
                          last edited by mochman

                          @open_book The ipWhitelist should have no affect on your SSH ability. This sounds like there is some problem with either your network or the pi itself. The ipWhitelist just affects what can connect to the MagicMirror software.

                          Can you give me your network setup and how you’re trying to access it through SSH? I’m guessing that you are trying to SSH in from inside your network and not from somewhere else.

                          I haven’t used the remote control module so I’m not to sure how it works with the whitelist. From how you’re describing it, it sounds like whatever the IP of the device you use the remote control with is what the MagicMirror needs whitelisted. If that’s the case, are you just trying to access your mirror from devices on your internal network or are you using a data plan with your mobile? If so, that IP probably changes frequently.

                          Those IPs you listed ("...1.1/120"), are those IPv6 or IPv4 IPs?

                          1 Reply Last reply Reply Quote 2
                          • O Offline
                            open_book
                            last edited by open_book

                            Hi @mochman thanks for your reply!

                            You’re correct that I’m SSH’ing to the mirror from within my home network. I use putty from a laptop that is connected to my wireless router and uses an IPv4 address. The setup looks like this if I run ipconfig from the laptop:

                            Link-local IPv6 Address . . . . . : XXXX::XXXXX:XXXX:XXXX:XXXX%XX
                            IPv4 Address. . . . . . . . . . . : 192.168.X.XX
                            Subnet Mask . . . . . . . . . . . : 255.255.255.0
                            Default Gateway . . . . . . . . . : 192.168.X.X

                            I can gain access through my mobile and laptop as long as I open for all devices. But as soon as I limit it to even a broad range of ip addresses - they get shut out.

                            Here’s the setup on the mirror:

                            wlan0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
                            link/ether XX:XX:XX:XX:XX:XX XXX ff:ff:ff:ff:ff:ff
                            inet 192.168.0.19/24 brd 192.168.0.255 scope global wlan0
                            valid_lft forever preferred_lft forever
                            inet6 XXXX::XXXX:XXXX:XXXX:XXXX/XX scope link
                            valid_lft forever preferred_lft forever

                            Here’s the full ipWhitelist I’m trying at the moment:

                            [“127.0.0.1”, “::ffff:127.0.0.1”, “::fff:192.168.1.1/112”, “::1”, “::ffff:192.168.1.1/120”, “::ffff:192.168.0.14”, “::ffff:192.168.0.16”]

                            Any tips, or anything else I can supply to help?

                            EDIT: mobile ip config looks the same as the laptop ip config.

                            sudo insert motivational.quote

                            1 Reply Last reply Reply Quote 0
                            • mochmanM Offline
                              mochman Module Developer
                              last edited by

                              @open_book Just looking at your pi’s IP. It looks like it’s using 192.168.0.X and you’re whitelisting the 192.168.1.X IPs. Can you try adding

                              "::ffff:192.168.0.1/120", "192.168.0.1/24"
                              

                              to your whitelist and see if that fixes it up?

                              O Mykle1M 2 Replies Last reply Reply Quote 3
                              • O Offline
                                open_book @mochman
                                last edited by

                                @mochman sorry for the slow reply. I’ve been on holiday.

                                Wanted to let you know that your suggestion fixed my problem. I added your suggested IPs and now I can both access through SSH and through a mobile device/browser.

                                Thanks for your replies!

                                sudo insert motivational.quote

                                1 Reply Last reply Reply Quote 0
                                • Mykle1M Offline
                                  Mykle1 Project Sponsor Module Developer @mochman
                                  last edited by

                                  @mochman said in ipWhitelist HowTo:

                                  see if that fixes it up?

                                  I don’t have a problem with my Whitelist but a couple of people have lately. I wonder if they bother searching the forum and/or read topics such as this.

                                  Anyway, nice work @mochman :-)

                                  Create a working config
                                  How to add modules

                                  1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    pingywon
                                    last edited by

                                    LOL. Not sure if you mean me, but yes I have read this thread from beginning to end and it doesnt resolve my white list issues. This for whole forum is not that big. I’d be willing to bet I have read most of it

                                    1 Reply Last reply Reply Quote 0
                                    • K Offline
                                      krisalexroberts @mochman
                                      last edited by

                                      The reason why “/24” works
                                      A couple different threads state to add /24 to the end of the IP address. (I’ve put a couple of those up before doing some research too). While this will indeed allow your network devices access to your magic mirror, it will also allow any device with an IPv4 based address access to your mirror (obviously your router would need to be configured to allow this).
                                      This “/24” in IPv6 CIDR allows 20,282,409,603,651,670,423,947,251,286,016 different IP addresses access. (IPv4’s total addresses are 4,294,967,296).


                                      More information
                                      If you’d like to learn more or have different sub-netting needs, I found this page useful.

                                      I don’t ageee with that. 192.167.1.0/24 is everything in the 192.168.1.x range, nothing more nothing less. If it allows more than this is a massive flaw/security risk.

                                      If you want to allow your own subnet then just look at your subnet mask and use google to get the CIDR

                                      1 Reply Last reply Reply Quote 0
                                      • P Offline
                                        pingywon
                                        last edited by

                                        I agree that /24 is 255.255.255.0 or 192.268.x.0 to 192.168.x.255

                                        That’s why these issues are making me crazy aka can’t figure them out.

                                        1 Reply Last reply Reply Quote 0
                                        • P Offline
                                          pingywon
                                          last edited by

                                          FOUND A WAY TO RESOLVE THIS!

                                          Add

                                          cat /etc/modprobe.d/ipv6.conf 
                                          # Don't load ipv6 by default
                                          alias net-pf-10 off
                                          # uncommented
                                          alias ipv6 off
                                          # added
                                          options ipv6 disable_ipv6=1
                                          # this is needed for not loading ipv6 driver 
                                          blacklist ipv6
                                          

                                          to turn off all IPv6 on the Raspi.
                                          Than edit all the IPv6 out of your config file.

                                           },
                                                  ipWhitelist: [
                                                          "192.168.0.92",
                                                          "192.168.0.1/24",
                                                          "127.0.0.1"
                                          
                                          

                                          I still have the .92 in there from testing. It is not needed.

                                          did a sudo reboot just for safe measure and now it all seems to be working as intended. No real idea what the actual issue was…but it is resolved. FINALLY! :)

                                          1 Reply Last reply Reply Quote 1
                                          • lavolp3L Offline
                                            lavolp3 Module Developer
                                            last edited by lavolp3

                                            Maybe I have missed this from someone else, but one important thing about the whitelisting message:

                                            “This device is not allowed to access your mirror.
                                            Please check your config.js or config.js.sample to change this.”
                                            

                                            The EXACT SAME message appears (in my case) if the config.js has syntax errors. Locally your mirror will tell you that there is no config file or just give you a black screen, but if you try to reach it from outside through a browser (Firefox and Chrome in my case) with a broken config.js, you will get the whitelisting message above.

                                            So, before trying to get your ipWhitelist in the right shape, make sure you have no other syntax errors with the mirror, e.g. using

                                            npm run config:check
                                            

                                            If you had some and had them corrected, be safe and restart the mirror.
                                            Below you can see the example in my case.

                                            pi@magicmirror2:~ $ tail ~/.pm2/logs/mm-out-0.log
                                            No helper found for module: helloworld.
                                            All module helpers loaded.
                                            Starting server on port 8080 ...
                                            Server started ...
                                            Connecting socket for: updatenotification
                                            Sockets connected & modules started ...
                                            Launching application.
                                            Access denied to IP address: 66.249.93.64
                                            Access denied to IP address: 80.157.5.50
                                            Access denied to IP address: 80.157.5.50
                                            pi@magicmirror2:~ $ cd MagicMirror/
                                            pi@magicmirror2:~/MagicMirror $ npm run config:check
                                            
                                            > magicmirror@2.1.2 config:check /home/pi/MagicMirror
                                            > node tests/configs/check_config.js
                                            
                                            Checking file...  /home/pi/MagicMirror/config/config.js
                                            Line 260 col 9 Expected ']' to match '[' from line 26 and instead saw '{'.
                                            Line 261 col 16 Expected '}' to match '{' from line 11 and instead saw 'module'.
                                            Line 261 col 22 Missing semicolon.
                                            Line 261 col 16 Unrecoverable syntax error. (95% scanned).
                                            pi@magicmirror2:~/MagicMirror $ sudo nano config/config.js
                                            pi@magicmirror2:~/MagicMirror $ npm run config:check
                                            
                                            > magicmirror@2.1.2 config:check /home/pi/MagicMirror
                                            > node tests/configs/check_config.js
                                            
                                            Checking file...  /home/pi/MagicMirror/config/config.js
                                            Your configuration file don't containt syntax error :)
                                            pi@magicmirror2:~/MagicMirror $ pm2 restart mm
                                            Use --update-env to update environment variables
                                            [PM2] Applying action restartProcessId on app [mm](ids: 0)
                                            [PM2] [mm](0) ✓
                                            ┌──────────┬────┬──────┬─────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐
                                            │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem      │ user │ watching │
                                            ├──────────┼────┼──────┼─────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤
                                            │ mm       │ 0  │ fork │ 901 │ online │ 6       │ 0s     │ 18% │ 2.3 MB   │ pi   │ disabled │
                                            └──────────┴────┴──────┴─────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
                                             Use `pm2 show ` to get more details about an app
                                            pi@magicmirror2:~/MagicMirror $
                                            
                                            

                                            How to troubleshoot modules
                                            MMM-soccer v2, MMM-AVStock

                                            ToddKlindtT 1 Reply Last reply Reply Quote 1

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 2 / 5
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy