What's the difference between .local, .home, and .lan?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












17















How can I reliably address different machines on my network?



I've always used the .local suffix to talk to computers on my local network before. With a new router, though, .local rarely (though sometimes) works. I've found that .home and .lan both usually work, but not always.



.-------. .--------. .-----.
| modem |---| router |))))))(wifi))))))| foo |
.-------. .--------. v .-----.
|| | v
/_^_^_ | ))))))).-----.
/ cloud | | bar |
-_-_-/ .-----. .-----.
| baz |
.-----.


So, from a terminal on foo, I can try:



ssh bar.local
ssh bar.home
ssh bar.lan

ssh baz.local
ssh baz.home
ssh baz.lan


and sometimes some of those suffixes work and some don't, but I don't know how to predict which or when.



foo, bar, and baz are all modern Linux or Android systems and the Linux boxes all have (or can have) avahi-daemon, or other reasonably-available packages, installed



(I don't want to set up static IP addresses: I'd like to keep using DHCP (from the router) for each machine, and even if I was okay with static addresses I'd want to be able to enter hostnames in the unrooted Android machines, where I can't edit the hosts file to map a chosen hostname to an IP address.)










share|improve this question






















  • what are you using in your /etc/resolv.conf for nameservers? Also if you have dig install what output do you get when you execute dig +trace baz.local?

    – Red Cricket
    Sep 26 '13 at 7:29












  • resolv.conf has both 192.168.1.1 (I think the modem) and 192.168.1.254 (I am mostly positive this is the router); they have different ports open when I nmap them but when I try to visit .1.1's web page I end up at .1.254. I'll get back to you on dig +trace, that's something I haven't used before and I am not understanding what I'm seeing now (thanks!).

    – drewbenn
    Sep 26 '13 at 7:38












  • You should add additional information (like provided in your last comment) to your question. Also add what router(s) you are using.

    – maxschlepzig
    Sep 26 '13 at 16:37















17















How can I reliably address different machines on my network?



I've always used the .local suffix to talk to computers on my local network before. With a new router, though, .local rarely (though sometimes) works. I've found that .home and .lan both usually work, but not always.



.-------. .--------. .-----.
| modem |---| router |))))))(wifi))))))| foo |
.-------. .--------. v .-----.
|| | v
/_^_^_ | ))))))).-----.
/ cloud | | bar |
-_-_-/ .-----. .-----.
| baz |
.-----.


So, from a terminal on foo, I can try:



ssh bar.local
ssh bar.home
ssh bar.lan

ssh baz.local
ssh baz.home
ssh baz.lan


and sometimes some of those suffixes work and some don't, but I don't know how to predict which or when.



foo, bar, and baz are all modern Linux or Android systems and the Linux boxes all have (or can have) avahi-daemon, or other reasonably-available packages, installed



(I don't want to set up static IP addresses: I'd like to keep using DHCP (from the router) for each machine, and even if I was okay with static addresses I'd want to be able to enter hostnames in the unrooted Android machines, where I can't edit the hosts file to map a chosen hostname to an IP address.)










share|improve this question






















  • what are you using in your /etc/resolv.conf for nameservers? Also if you have dig install what output do you get when you execute dig +trace baz.local?

    – Red Cricket
    Sep 26 '13 at 7:29












  • resolv.conf has both 192.168.1.1 (I think the modem) and 192.168.1.254 (I am mostly positive this is the router); they have different ports open when I nmap them but when I try to visit .1.1's web page I end up at .1.254. I'll get back to you on dig +trace, that's something I haven't used before and I am not understanding what I'm seeing now (thanks!).

    – drewbenn
    Sep 26 '13 at 7:38












  • You should add additional information (like provided in your last comment) to your question. Also add what router(s) you are using.

    – maxschlepzig
    Sep 26 '13 at 16:37













17












17








17


6






How can I reliably address different machines on my network?



I've always used the .local suffix to talk to computers on my local network before. With a new router, though, .local rarely (though sometimes) works. I've found that .home and .lan both usually work, but not always.



.-------. .--------. .-----.
| modem |---| router |))))))(wifi))))))| foo |
.-------. .--------. v .-----.
|| | v
/_^_^_ | ))))))).-----.
/ cloud | | bar |
-_-_-/ .-----. .-----.
| baz |
.-----.


So, from a terminal on foo, I can try:



ssh bar.local
ssh bar.home
ssh bar.lan

ssh baz.local
ssh baz.home
ssh baz.lan


and sometimes some of those suffixes work and some don't, but I don't know how to predict which or when.



foo, bar, and baz are all modern Linux or Android systems and the Linux boxes all have (or can have) avahi-daemon, or other reasonably-available packages, installed



(I don't want to set up static IP addresses: I'd like to keep using DHCP (from the router) for each machine, and even if I was okay with static addresses I'd want to be able to enter hostnames in the unrooted Android machines, where I can't edit the hosts file to map a chosen hostname to an IP address.)










share|improve this question














How can I reliably address different machines on my network?



I've always used the .local suffix to talk to computers on my local network before. With a new router, though, .local rarely (though sometimes) works. I've found that .home and .lan both usually work, but not always.



.-------. .--------. .-----.
| modem |---| router |))))))(wifi))))))| foo |
.-------. .--------. v .-----.
|| | v
/_^_^_ | ))))))).-----.
/ cloud | | bar |
-_-_-/ .-----. .-----.
| baz |
.-----.


So, from a terminal on foo, I can try:



ssh bar.local
ssh bar.home
ssh bar.lan

ssh baz.local
ssh baz.home
ssh baz.lan


and sometimes some of those suffixes work and some don't, but I don't know how to predict which or when.



foo, bar, and baz are all modern Linux or Android systems and the Linux boxes all have (or can have) avahi-daemon, or other reasonably-available packages, installed



(I don't want to set up static IP addresses: I'd like to keep using DHCP (from the router) for each machine, and even if I was okay with static addresses I'd want to be able to enter hostnames in the unrooted Android machines, where I can't edit the hosts file to map a chosen hostname to an IP address.)







networking avahi






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Sep 26 '13 at 7:16









drewbenndrewbenn

5,27551936




5,27551936












  • what are you using in your /etc/resolv.conf for nameservers? Also if you have dig install what output do you get when you execute dig +trace baz.local?

    – Red Cricket
    Sep 26 '13 at 7:29












  • resolv.conf has both 192.168.1.1 (I think the modem) and 192.168.1.254 (I am mostly positive this is the router); they have different ports open when I nmap them but when I try to visit .1.1's web page I end up at .1.254. I'll get back to you on dig +trace, that's something I haven't used before and I am not understanding what I'm seeing now (thanks!).

    – drewbenn
    Sep 26 '13 at 7:38












  • You should add additional information (like provided in your last comment) to your question. Also add what router(s) you are using.

    – maxschlepzig
    Sep 26 '13 at 16:37

















  • what are you using in your /etc/resolv.conf for nameservers? Also if you have dig install what output do you get when you execute dig +trace baz.local?

    – Red Cricket
    Sep 26 '13 at 7:29












  • resolv.conf has both 192.168.1.1 (I think the modem) and 192.168.1.254 (I am mostly positive this is the router); they have different ports open when I nmap them but when I try to visit .1.1's web page I end up at .1.254. I'll get back to you on dig +trace, that's something I haven't used before and I am not understanding what I'm seeing now (thanks!).

    – drewbenn
    Sep 26 '13 at 7:38












  • You should add additional information (like provided in your last comment) to your question. Also add what router(s) you are using.

    – maxschlepzig
    Sep 26 '13 at 16:37
















what are you using in your /etc/resolv.conf for nameservers? Also if you have dig install what output do you get when you execute dig +trace baz.local?

– Red Cricket
Sep 26 '13 at 7:29






what are you using in your /etc/resolv.conf for nameservers? Also if you have dig install what output do you get when you execute dig +trace baz.local?

– Red Cricket
Sep 26 '13 at 7:29














resolv.conf has both 192.168.1.1 (I think the modem) and 192.168.1.254 (I am mostly positive this is the router); they have different ports open when I nmap them but when I try to visit .1.1's web page I end up at .1.254. I'll get back to you on dig +trace, that's something I haven't used before and I am not understanding what I'm seeing now (thanks!).

– drewbenn
Sep 26 '13 at 7:38






resolv.conf has both 192.168.1.1 (I think the modem) and 192.168.1.254 (I am mostly positive this is the router); they have different ports open when I nmap them but when I try to visit .1.1's web page I end up at .1.254. I'll get back to you on dig +trace, that's something I haven't used before and I am not understanding what I'm seeing now (thanks!).

– drewbenn
Sep 26 '13 at 7:38














You should add additional information (like provided in your last comment) to your question. Also add what router(s) you are using.

– maxschlepzig
Sep 26 '13 at 16:37





You should add additional information (like provided in your last comment) to your question. Also add what router(s) you are using.

– maxschlepzig
Sep 26 '13 at 16:37










2 Answers
2






active

oldest

votes


















14














There are no RFCs that specify .lan and .home. Thus, it is up to the router's vendor what pseudo TLDs (top-level-domain names) are by default configured.



For example my router vendor (AVM) seems to use .fritz.box by default.



.local is used by mDNS (multicast DNS), a protocol engineered by Apple. Using example.local only works on systems (and for destinations) that have a mDNS daemon running (e.g. MacOSX, current Linux distributions like Ubuntu/Fedora).



You can keep using dhcp - but perhaps you have to configure your router a little bit. Most routers let you configure such things like the domain name for the network.



Note that using pseudo TLDs is kind of dangerous - .lan seems to be popular - and better than .local (because it does not clash with mDNSs .local) - but there is no guarantee that ICANN will not introduce it as new TLD at some point.



Thus, it makes sense to get a real domain name - and use sub-domains of it for private stuff, e.g. when your domain is example.org you could use:



lan.example.org
internal.example.org
...





share|improve this answer




















  • 1





    Actually tools.ietf.org/html/rfc6762 mention both .lan and .home.

    – Powerman
    Apr 9 '18 at 20:55






  • 3





    @Powerman, well, RFC6762 mentions .lan and .home in the Appendix G but it doesn't specify their use nor their semantics. Instead it just lists them as part of a comment: 'We do not recommend use of unregistered top-level domains at all, but should network operators decide to do this, the following top-level domains have been used on private internal networks without the problems caused by trying to reuse ".local." for this purpose'

    – maxschlepzig
    Apr 9 '18 at 21:11


















0














As I understand things, if you use one of the RFC-1918 private network numeric addresses, these are guaranteed by the Internet "rules" not to route beyond their own subnet.



Some names are reserved for special use (invalid., localhost., test. in RFC6761 local. in RFC6762 onion. in RFC7686 iana site)



The result of this is that you can use some names you please on your private network LAN. If the address numbers are in the RFC1918 range: even if folks on the public internet know your node names, they cannot route to that addresses.






share|improve this answer
























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "106"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f92441%2fwhats-the-difference-between-local-home-and-lan%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    14














    There are no RFCs that specify .lan and .home. Thus, it is up to the router's vendor what pseudo TLDs (top-level-domain names) are by default configured.



    For example my router vendor (AVM) seems to use .fritz.box by default.



    .local is used by mDNS (multicast DNS), a protocol engineered by Apple. Using example.local only works on systems (and for destinations) that have a mDNS daemon running (e.g. MacOSX, current Linux distributions like Ubuntu/Fedora).



    You can keep using dhcp - but perhaps you have to configure your router a little bit. Most routers let you configure such things like the domain name for the network.



    Note that using pseudo TLDs is kind of dangerous - .lan seems to be popular - and better than .local (because it does not clash with mDNSs .local) - but there is no guarantee that ICANN will not introduce it as new TLD at some point.



    Thus, it makes sense to get a real domain name - and use sub-domains of it for private stuff, e.g. when your domain is example.org you could use:



    lan.example.org
    internal.example.org
    ...





    share|improve this answer




















    • 1





      Actually tools.ietf.org/html/rfc6762 mention both .lan and .home.

      – Powerman
      Apr 9 '18 at 20:55






    • 3





      @Powerman, well, RFC6762 mentions .lan and .home in the Appendix G but it doesn't specify their use nor their semantics. Instead it just lists them as part of a comment: 'We do not recommend use of unregistered top-level domains at all, but should network operators decide to do this, the following top-level domains have been used on private internal networks without the problems caused by trying to reuse ".local." for this purpose'

      – maxschlepzig
      Apr 9 '18 at 21:11















    14














    There are no RFCs that specify .lan and .home. Thus, it is up to the router's vendor what pseudo TLDs (top-level-domain names) are by default configured.



    For example my router vendor (AVM) seems to use .fritz.box by default.



    .local is used by mDNS (multicast DNS), a protocol engineered by Apple. Using example.local only works on systems (and for destinations) that have a mDNS daemon running (e.g. MacOSX, current Linux distributions like Ubuntu/Fedora).



    You can keep using dhcp - but perhaps you have to configure your router a little bit. Most routers let you configure such things like the domain name for the network.



    Note that using pseudo TLDs is kind of dangerous - .lan seems to be popular - and better than .local (because it does not clash with mDNSs .local) - but there is no guarantee that ICANN will not introduce it as new TLD at some point.



    Thus, it makes sense to get a real domain name - and use sub-domains of it for private stuff, e.g. when your domain is example.org you could use:



    lan.example.org
    internal.example.org
    ...





    share|improve this answer




















    • 1





      Actually tools.ietf.org/html/rfc6762 mention both .lan and .home.

      – Powerman
      Apr 9 '18 at 20:55






    • 3





      @Powerman, well, RFC6762 mentions .lan and .home in the Appendix G but it doesn't specify their use nor their semantics. Instead it just lists them as part of a comment: 'We do not recommend use of unregistered top-level domains at all, but should network operators decide to do this, the following top-level domains have been used on private internal networks without the problems caused by trying to reuse ".local." for this purpose'

      – maxschlepzig
      Apr 9 '18 at 21:11













    14












    14








    14







    There are no RFCs that specify .lan and .home. Thus, it is up to the router's vendor what pseudo TLDs (top-level-domain names) are by default configured.



    For example my router vendor (AVM) seems to use .fritz.box by default.



    .local is used by mDNS (multicast DNS), a protocol engineered by Apple. Using example.local only works on systems (and for destinations) that have a mDNS daemon running (e.g. MacOSX, current Linux distributions like Ubuntu/Fedora).



    You can keep using dhcp - but perhaps you have to configure your router a little bit. Most routers let you configure such things like the domain name for the network.



    Note that using pseudo TLDs is kind of dangerous - .lan seems to be popular - and better than .local (because it does not clash with mDNSs .local) - but there is no guarantee that ICANN will not introduce it as new TLD at some point.



    Thus, it makes sense to get a real domain name - and use sub-domains of it for private stuff, e.g. when your domain is example.org you could use:



    lan.example.org
    internal.example.org
    ...





    share|improve this answer















    There are no RFCs that specify .lan and .home. Thus, it is up to the router's vendor what pseudo TLDs (top-level-domain names) are by default configured.



    For example my router vendor (AVM) seems to use .fritz.box by default.



    .local is used by mDNS (multicast DNS), a protocol engineered by Apple. Using example.local only works on systems (and for destinations) that have a mDNS daemon running (e.g. MacOSX, current Linux distributions like Ubuntu/Fedora).



    You can keep using dhcp - but perhaps you have to configure your router a little bit. Most routers let you configure such things like the domain name for the network.



    Note that using pseudo TLDs is kind of dangerous - .lan seems to be popular - and better than .local (because it does not clash with mDNSs .local) - but there is no guarantee that ICANN will not introduce it as new TLD at some point.



    Thus, it makes sense to get a real domain name - and use sub-domains of it for private stuff, e.g. when your domain is example.org you could use:



    lan.example.org
    internal.example.org
    ...






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Jun 17 '15 at 5:19

























    answered Sep 26 '13 at 17:01









    maxschlepzigmaxschlepzig

    34.2k33137213




    34.2k33137213







    • 1





      Actually tools.ietf.org/html/rfc6762 mention both .lan and .home.

      – Powerman
      Apr 9 '18 at 20:55






    • 3





      @Powerman, well, RFC6762 mentions .lan and .home in the Appendix G but it doesn't specify their use nor their semantics. Instead it just lists them as part of a comment: 'We do not recommend use of unregistered top-level domains at all, but should network operators decide to do this, the following top-level domains have been used on private internal networks without the problems caused by trying to reuse ".local." for this purpose'

      – maxschlepzig
      Apr 9 '18 at 21:11












    • 1





      Actually tools.ietf.org/html/rfc6762 mention both .lan and .home.

      – Powerman
      Apr 9 '18 at 20:55






    • 3





      @Powerman, well, RFC6762 mentions .lan and .home in the Appendix G but it doesn't specify their use nor their semantics. Instead it just lists them as part of a comment: 'We do not recommend use of unregistered top-level domains at all, but should network operators decide to do this, the following top-level domains have been used on private internal networks without the problems caused by trying to reuse ".local." for this purpose'

      – maxschlepzig
      Apr 9 '18 at 21:11







    1




    1





    Actually tools.ietf.org/html/rfc6762 mention both .lan and .home.

    – Powerman
    Apr 9 '18 at 20:55





    Actually tools.ietf.org/html/rfc6762 mention both .lan and .home.

    – Powerman
    Apr 9 '18 at 20:55




    3




    3





    @Powerman, well, RFC6762 mentions .lan and .home in the Appendix G but it doesn't specify their use nor their semantics. Instead it just lists them as part of a comment: 'We do not recommend use of unregistered top-level domains at all, but should network operators decide to do this, the following top-level domains have been used on private internal networks without the problems caused by trying to reuse ".local." for this purpose'

    – maxschlepzig
    Apr 9 '18 at 21:11





    @Powerman, well, RFC6762 mentions .lan and .home in the Appendix G but it doesn't specify their use nor their semantics. Instead it just lists them as part of a comment: 'We do not recommend use of unregistered top-level domains at all, but should network operators decide to do this, the following top-level domains have been used on private internal networks without the problems caused by trying to reuse ".local." for this purpose'

    – maxschlepzig
    Apr 9 '18 at 21:11













    0














    As I understand things, if you use one of the RFC-1918 private network numeric addresses, these are guaranteed by the Internet "rules" not to route beyond their own subnet.



    Some names are reserved for special use (invalid., localhost., test. in RFC6761 local. in RFC6762 onion. in RFC7686 iana site)



    The result of this is that you can use some names you please on your private network LAN. If the address numbers are in the RFC1918 range: even if folks on the public internet know your node names, they cannot route to that addresses.






    share|improve this answer





























      0














      As I understand things, if you use one of the RFC-1918 private network numeric addresses, these are guaranteed by the Internet "rules" not to route beyond their own subnet.



      Some names are reserved for special use (invalid., localhost., test. in RFC6761 local. in RFC6762 onion. in RFC7686 iana site)



      The result of this is that you can use some names you please on your private network LAN. If the address numbers are in the RFC1918 range: even if folks on the public internet know your node names, they cannot route to that addresses.






      share|improve this answer



























        0












        0








        0







        As I understand things, if you use one of the RFC-1918 private network numeric addresses, these are guaranteed by the Internet "rules" not to route beyond their own subnet.



        Some names are reserved for special use (invalid., localhost., test. in RFC6761 local. in RFC6762 onion. in RFC7686 iana site)



        The result of this is that you can use some names you please on your private network LAN. If the address numbers are in the RFC1918 range: even if folks on the public internet know your node names, they cannot route to that addresses.






        share|improve this answer















        As I understand things, if you use one of the RFC-1918 private network numeric addresses, these are guaranteed by the Internet "rules" not to route beyond their own subnet.



        Some names are reserved for special use (invalid., localhost., test. in RFC6761 local. in RFC6762 onion. in RFC7686 iana site)



        The result of this is that you can use some names you please on your private network LAN. If the address numbers are in the RFC1918 range: even if folks on the public internet know your node names, they cannot route to that addresses.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Feb 3 at 6:34









        Isaac

        12k11852




        12k11852










        answered Dec 5 '13 at 21:52









        user215881user215881

        111




        111



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f92441%2fwhats-the-difference-between-local-home-and-lan%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown






            Popular posts from this blog

            How to check contact read email or not when send email to Individual?

            Displaying single band from multi-band raster using QGIS

            How many registers does an x86_64 CPU actually have?