difference between local and inet socket? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Come Celebrate our 10 Year Anniversary!What's the difference between Unix socket and TCP/IP socket?Forward local port or socket file to remote socket fileNetwork access issues after upgrading to SqueezeWhen to use a MySQL socket and when to use a host:port?When using netstat on a listening port what is the difference between localhost:6666 and [::]:6666 in 'Local Address' fieldConfiguring Postfix to use milter (archiveSMTP)Difference between TCP ping and Socket Connection“lost connection after UNKNOWN” (OpenDKIM + postfix receiving emails)How to correctly set up routing on machine with 4 interfaces so that three of interfaces are on the same subnet?How to route between two interfaces?

If Windows 7 doesn't support WSL, then what is "Subsystem for UNIX-based Applications"?

What adaptations would allow standard fantasy dwarves to survive in the desert?

Should a wizard buy fine inks every time he want to copy spells into his spellbook?

License to disallow distribution in closed source software, but allow exceptions made by owner?

Central Vacuuming: Is it worth it, and how does it compare to normal vacuuming?

Positioning dot before text in math mode

What is the difference between CTSS and ITS?

What is the difference between a "ranged attack" and a "ranged weapon attack"?

Test print coming out spongy

Why is it faster to reheat something than it is to cook it?

The test team as an enemy of development? And how can this be avoided?

Is there hard evidence that the grant peer review system performs significantly better than random?

Does the Black Tentacles spell do damage twice at the start of turn to an already restrained creature?

Are the endpoints of the domain of a function counted as critical points?

Sally's older brother

How to force a browser when connecting to a specific domain to be https only using only the client machine?

What would you call this weird metallic apparatus that allows you to lift people?

Does the Mueller report show a conspiracy between Russia and the Trump Campaign?

What are the main differences between Stargate SG-1 cuts?

A term for a woman complaining about things/begging in a cute/childish way

Differences to CCompactSize and CVarInt

Is it dangerous to install hacking tools on my private linux machine?

Asymptotics question

retrieve food groups from food item list



difference between local and inet socket?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Come Celebrate our 10 Year Anniversary!What's the difference between Unix socket and TCP/IP socket?Forward local port or socket file to remote socket fileNetwork access issues after upgrading to SqueezeWhen to use a MySQL socket and when to use a host:port?When using netstat on a listening port what is the difference between localhost:6666 and [::]:6666 in 'Local Address' fieldConfiguring Postfix to use milter (archiveSMTP)Difference between TCP ping and Socket Connection“lost connection after UNKNOWN” (OpenDKIM + postfix receiving emails)How to correctly set up routing on machine with 4 interfaces so that three of interfaces are on the same subnet?How to route between two interfaces?



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I noticed that, while setting up opendkim, the options for the Socket are:



#SOCKET="local:/var/run/opendkim/opendkim.sock" # default
#SOCKET="inet:54321" # listen on all interfaces on port 54321
#SOCKET="inet:12345@localhost" # listen on loopback on port 12345
#SOCKET="inet:12345@192.0.2.1" # listen on 192.0.2.1 on port 12345


What is the difference (if any) between the local:[...].sock socket and the inet:[...]@localhost socket? Do user permissions come into play for one or the other? Is there a security benefit from using one or the other? Are there any functional differences at all?










share|improve this question






















  • The local: socket is a file which resides on the filesystem and the inet@localhost socket is a network port. Yes. Yes. Probably. But to answer it in the form of an Answer is much more involved. If I'm not mistaken, there's not supposed to be any functional difference between the two, but over a decade ago, they each had a set of quirks due to the parts of the implementations that aren't shared, and it came down to which set of quirks you were more able to handle. That was a decade ago, and I'm out of date on those details now, as there have been many updates since then.

    – Ed Grimm
    Feb 4 at 5:04











  • I don't doubt that the answer would be pretty complicated. I consider myself a proficient Googler and couldn't find anything on the subject!

    – user508305
    Feb 4 at 20:51











  • I think what most people first try the localhost one and see if they can get that to work for them, as there is often at least some desire to be able to expose it to networking, so that you could, for example, have a common milter server that your email servers shared. Or possibly even have load balanced milter servers that your independently load balanced mail servers shared. If the quirks with the localhost socket prove too much, then try the unix socket file to see if it works better.

    – Ed Grimm
    Feb 5 at 3:41

















0















I noticed that, while setting up opendkim, the options for the Socket are:



#SOCKET="local:/var/run/opendkim/opendkim.sock" # default
#SOCKET="inet:54321" # listen on all interfaces on port 54321
#SOCKET="inet:12345@localhost" # listen on loopback on port 12345
#SOCKET="inet:12345@192.0.2.1" # listen on 192.0.2.1 on port 12345


What is the difference (if any) between the local:[...].sock socket and the inet:[...]@localhost socket? Do user permissions come into play for one or the other? Is there a security benefit from using one or the other? Are there any functional differences at all?










share|improve this question






















  • The local: socket is a file which resides on the filesystem and the inet@localhost socket is a network port. Yes. Yes. Probably. But to answer it in the form of an Answer is much more involved. If I'm not mistaken, there's not supposed to be any functional difference between the two, but over a decade ago, they each had a set of quirks due to the parts of the implementations that aren't shared, and it came down to which set of quirks you were more able to handle. That was a decade ago, and I'm out of date on those details now, as there have been many updates since then.

    – Ed Grimm
    Feb 4 at 5:04











  • I don't doubt that the answer would be pretty complicated. I consider myself a proficient Googler and couldn't find anything on the subject!

    – user508305
    Feb 4 at 20:51











  • I think what most people first try the localhost one and see if they can get that to work for them, as there is often at least some desire to be able to expose it to networking, so that you could, for example, have a common milter server that your email servers shared. Or possibly even have load balanced milter servers that your independently load balanced mail servers shared. If the quirks with the localhost socket prove too much, then try the unix socket file to see if it works better.

    – Ed Grimm
    Feb 5 at 3:41













0












0








0








I noticed that, while setting up opendkim, the options for the Socket are:



#SOCKET="local:/var/run/opendkim/opendkim.sock" # default
#SOCKET="inet:54321" # listen on all interfaces on port 54321
#SOCKET="inet:12345@localhost" # listen on loopback on port 12345
#SOCKET="inet:12345@192.0.2.1" # listen on 192.0.2.1 on port 12345


What is the difference (if any) between the local:[...].sock socket and the inet:[...]@localhost socket? Do user permissions come into play for one or the other? Is there a security benefit from using one or the other? Are there any functional differences at all?










share|improve this question














I noticed that, while setting up opendkim, the options for the Socket are:



#SOCKET="local:/var/run/opendkim/opendkim.sock" # default
#SOCKET="inet:54321" # listen on all interfaces on port 54321
#SOCKET="inet:12345@localhost" # listen on loopback on port 12345
#SOCKET="inet:12345@192.0.2.1" # listen on 192.0.2.1 on port 12345


What is the difference (if any) between the local:[...].sock socket and the inet:[...]@localhost socket? Do user permissions come into play for one or the other? Is there a security benefit from using one or the other? Are there any functional differences at all?







networking debian socket opendkim






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Feb 3 at 22:31







user508305



















  • The local: socket is a file which resides on the filesystem and the inet@localhost socket is a network port. Yes. Yes. Probably. But to answer it in the form of an Answer is much more involved. If I'm not mistaken, there's not supposed to be any functional difference between the two, but over a decade ago, they each had a set of quirks due to the parts of the implementations that aren't shared, and it came down to which set of quirks you were more able to handle. That was a decade ago, and I'm out of date on those details now, as there have been many updates since then.

    – Ed Grimm
    Feb 4 at 5:04











  • I don't doubt that the answer would be pretty complicated. I consider myself a proficient Googler and couldn't find anything on the subject!

    – user508305
    Feb 4 at 20:51











  • I think what most people first try the localhost one and see if they can get that to work for them, as there is often at least some desire to be able to expose it to networking, so that you could, for example, have a common milter server that your email servers shared. Or possibly even have load balanced milter servers that your independently load balanced mail servers shared. If the quirks with the localhost socket prove too much, then try the unix socket file to see if it works better.

    – Ed Grimm
    Feb 5 at 3:41

















  • The local: socket is a file which resides on the filesystem and the inet@localhost socket is a network port. Yes. Yes. Probably. But to answer it in the form of an Answer is much more involved. If I'm not mistaken, there's not supposed to be any functional difference between the two, but over a decade ago, they each had a set of quirks due to the parts of the implementations that aren't shared, and it came down to which set of quirks you were more able to handle. That was a decade ago, and I'm out of date on those details now, as there have been many updates since then.

    – Ed Grimm
    Feb 4 at 5:04











  • I don't doubt that the answer would be pretty complicated. I consider myself a proficient Googler and couldn't find anything on the subject!

    – user508305
    Feb 4 at 20:51











  • I think what most people first try the localhost one and see if they can get that to work for them, as there is often at least some desire to be able to expose it to networking, so that you could, for example, have a common milter server that your email servers shared. Or possibly even have load balanced milter servers that your independently load balanced mail servers shared. If the quirks with the localhost socket prove too much, then try the unix socket file to see if it works better.

    – Ed Grimm
    Feb 5 at 3:41
















The local: socket is a file which resides on the filesystem and the inet@localhost socket is a network port. Yes. Yes. Probably. But to answer it in the form of an Answer is much more involved. If I'm not mistaken, there's not supposed to be any functional difference between the two, but over a decade ago, they each had a set of quirks due to the parts of the implementations that aren't shared, and it came down to which set of quirks you were more able to handle. That was a decade ago, and I'm out of date on those details now, as there have been many updates since then.

– Ed Grimm
Feb 4 at 5:04





The local: socket is a file which resides on the filesystem and the inet@localhost socket is a network port. Yes. Yes. Probably. But to answer it in the form of an Answer is much more involved. If I'm not mistaken, there's not supposed to be any functional difference between the two, but over a decade ago, they each had a set of quirks due to the parts of the implementations that aren't shared, and it came down to which set of quirks you were more able to handle. That was a decade ago, and I'm out of date on those details now, as there have been many updates since then.

– Ed Grimm
Feb 4 at 5:04













I don't doubt that the answer would be pretty complicated. I consider myself a proficient Googler and couldn't find anything on the subject!

– user508305
Feb 4 at 20:51





I don't doubt that the answer would be pretty complicated. I consider myself a proficient Googler and couldn't find anything on the subject!

– user508305
Feb 4 at 20:51













I think what most people first try the localhost one and see if they can get that to work for them, as there is often at least some desire to be able to expose it to networking, so that you could, for example, have a common milter server that your email servers shared. Or possibly even have load balanced milter servers that your independently load balanced mail servers shared. If the quirks with the localhost socket prove too much, then try the unix socket file to see if it works better.

– Ed Grimm
Feb 5 at 3:41





I think what most people first try the localhost one and see if they can get that to work for them, as there is often at least some desire to be able to expose it to networking, so that you could, for example, have a common milter server that your email servers shared. Or possibly even have load balanced milter servers that your independently load balanced mail servers shared. If the quirks with the localhost socket prove too much, then try the unix socket file to see if it works better.

– Ed Grimm
Feb 5 at 3:41










1 Answer
1






active

oldest

votes


















1














Opendkim uses "local:" to refer to a unix domain socket, inet: to refer to an inet domain (ipv4) socket and inet6 to refer to an inet6 domain (ipv6) socket.



Unix domain sockets are local to a single machine and listening unix domain sockets live in the file-system hierarchy. Access can be controlled through file permissions and the server application can check which user has connected (I do not know if opendkim uses this feature). There are also some special features available but I don't think they are relevant here.



inet domain sockets may be bound to either an individual ipv4 address or to the 0.0.0.0 wildcard for all ipv4 addresses assigned to the machine. If it's bound to localhost (127.0.0.1) then it can only be accessed by applications on the same machine, but you can't easily restrict it more than that.



inet6 domain sockets again can be bound to either an individual ipv6 address or bound to the wildcard "::" for all ipv6 addresses assigned to the machine. In some cases (depending on sysctl configuration and socket options used by the application) it is possible for an inet6 socket listening on all interfaces to also accept ipv4 connections.






share|improve this answer























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "2"
    ;
    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: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    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%2fserverfault.com%2fquestions%2f952155%2fdifference-between-local-and-inet-socket%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown
























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Opendkim uses "local:" to refer to a unix domain socket, inet: to refer to an inet domain (ipv4) socket and inet6 to refer to an inet6 domain (ipv6) socket.



    Unix domain sockets are local to a single machine and listening unix domain sockets live in the file-system hierarchy. Access can be controlled through file permissions and the server application can check which user has connected (I do not know if opendkim uses this feature). There are also some special features available but I don't think they are relevant here.



    inet domain sockets may be bound to either an individual ipv4 address or to the 0.0.0.0 wildcard for all ipv4 addresses assigned to the machine. If it's bound to localhost (127.0.0.1) then it can only be accessed by applications on the same machine, but you can't easily restrict it more than that.



    inet6 domain sockets again can be bound to either an individual ipv6 address or bound to the wildcard "::" for all ipv6 addresses assigned to the machine. In some cases (depending on sysctl configuration and socket options used by the application) it is possible for an inet6 socket listening on all interfaces to also accept ipv4 connections.






    share|improve this answer



























      1














      Opendkim uses "local:" to refer to a unix domain socket, inet: to refer to an inet domain (ipv4) socket and inet6 to refer to an inet6 domain (ipv6) socket.



      Unix domain sockets are local to a single machine and listening unix domain sockets live in the file-system hierarchy. Access can be controlled through file permissions and the server application can check which user has connected (I do not know if opendkim uses this feature). There are also some special features available but I don't think they are relevant here.



      inet domain sockets may be bound to either an individual ipv4 address or to the 0.0.0.0 wildcard for all ipv4 addresses assigned to the machine. If it's bound to localhost (127.0.0.1) then it can only be accessed by applications on the same machine, but you can't easily restrict it more than that.



      inet6 domain sockets again can be bound to either an individual ipv6 address or bound to the wildcard "::" for all ipv6 addresses assigned to the machine. In some cases (depending on sysctl configuration and socket options used by the application) it is possible for an inet6 socket listening on all interfaces to also accept ipv4 connections.






      share|improve this answer

























        1












        1








        1







        Opendkim uses "local:" to refer to a unix domain socket, inet: to refer to an inet domain (ipv4) socket and inet6 to refer to an inet6 domain (ipv6) socket.



        Unix domain sockets are local to a single machine and listening unix domain sockets live in the file-system hierarchy. Access can be controlled through file permissions and the server application can check which user has connected (I do not know if opendkim uses this feature). There are also some special features available but I don't think they are relevant here.



        inet domain sockets may be bound to either an individual ipv4 address or to the 0.0.0.0 wildcard for all ipv4 addresses assigned to the machine. If it's bound to localhost (127.0.0.1) then it can only be accessed by applications on the same machine, but you can't easily restrict it more than that.



        inet6 domain sockets again can be bound to either an individual ipv6 address or bound to the wildcard "::" for all ipv6 addresses assigned to the machine. In some cases (depending on sysctl configuration and socket options used by the application) it is possible for an inet6 socket listening on all interfaces to also accept ipv4 connections.






        share|improve this answer













        Opendkim uses "local:" to refer to a unix domain socket, inet: to refer to an inet domain (ipv4) socket and inet6 to refer to an inet6 domain (ipv6) socket.



        Unix domain sockets are local to a single machine and listening unix domain sockets live in the file-system hierarchy. Access can be controlled through file permissions and the server application can check which user has connected (I do not know if opendkim uses this feature). There are also some special features available but I don't think they are relevant here.



        inet domain sockets may be bound to either an individual ipv4 address or to the 0.0.0.0 wildcard for all ipv4 addresses assigned to the machine. If it's bound to localhost (127.0.0.1) then it can only be accessed by applications on the same machine, but you can't easily restrict it more than that.



        inet6 domain sockets again can be bound to either an individual ipv6 address or bound to the wildcard "::" for all ipv6 addresses assigned to the machine. In some cases (depending on sysctl configuration and socket options used by the application) it is possible for an inet6 socket listening on all interfaces to also accept ipv4 connections.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Apr 15 at 0:00









        Peter GreenPeter Green

        3,001625




        3,001625



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Server Fault!


            • 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%2fserverfault.com%2fquestions%2f952155%2fdifference-between-local-and-inet-socket%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 write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

            What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

            Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos