Git Product home page Git Product logo

mdns-proxy's Introduction

mdns-proxy

mdns-proxy is a DNS proxy that accepts DNS queries and proxies them to Avahi for a multicast DNS lookup.

Description

When you're on a LAN, multicast DNS is a handy way to find machines, and generally alleviates the need for assigning static IPs to local machines. But when connecting to that same LAN via a VPN, multicast DNS often isn't available, and suddenly you have to remember a bunch of IPs if you want to access the servers there.

mdns-proxy is designed to act as an authoritative DNS server that responds to domain X (e.g. ".vpn") and proxies to the multicast DNS "Avahi" daemon using multicast domain Y (e.g. ".local").

On your local DNS server, you can manually delegate domain X to the mdns-proxy server. Now, if you query e.g. "myserver.vpn", mdns-proxy will receive your query and resolve it using Avahi as e.g. "myserver.local". In essence, domain X becomes a remote mirror of multicast domain Y, even though you have no way to do normal mDNS to the LAN over your VPN link.

Usage

You'll need to edit the constants at the top to reflect your network configuration. Then just run the proxy.

If you're using a caching DNS proxy like djbdns's "dnscache", you'll probably need to listen on the standard DNS port (53), which requires root privileges. If run as root, mdns-proxy will change to the "nobody" user after creating the UDP socket. (Alternatively, you can use NAT rules to allow you to listen on another port.)

License

mdns-proxy is released under the standard 2-clause BSD license. See COPYING for details.

Todo

  • IPv6 support (if the internet ever finally switches)

mdns-proxy's People

Contributors

wisq avatar

Stargazers

paranoid soul avatar  avatar Remy van Elst avatar Julien Di Marco avatar  avatar Ivan avatar  avatar  avatar Koopa avatar Fionera avatar Auu avatar  avatar  avatar septs avatar Krhougs avatar  avatar Michal J. avatar Reuben avatar Tomohito Nakayama avatar Joelle Stickney avatar Malte Jan Kaffenberger avatar John Sing Dao Siu avatar Mark Smith avatar Alex Shpilkin avatar Anson Chen avatar  avatar Andrey Kislyuk avatar Samuel Cochran avatar Ian White avatar Sky Barnes avatar  avatar Gaurav Khanna avatar Keyvan Fatehi avatar Emanuele Vicentini avatar

Watchers

James Cloos avatar  avatar  avatar

mdns-proxy's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.