You want a real DNS Server at home? (bind9 + docker)

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 มิ.ย. 2024
  • In this Tutorial, we set up a free and open-source DNS server for your home labs. We will deploy bind9 on an Ubuntu Linux server running Docker and configure it to be an authoritative DNS server in my local network. And we also configure forwarders and access control lists to protect our internal networks.
    Teleport-*: goteleport.com/thedigitallife
    Related Videos/Links
    - [How to use Docker and migrate your existing Apps to your Linux Server?]( • How to use Docker and ... )
    - [Docker-Compose Tutorial]( • Docker-compose tutorial )
    - [Traefik Tutorial]( • Is this the BEST Rever... )
    - [Bind9 Configuration and Zone Files](bind9.readthedocs.io/en/lates...)
    - [IANA's DNS Resource Records TYPEs](www.iana.org/assignments/dns-...)
    ________________
    💜 Support me and become a Fan!
    → christianlempa.de/patreon
    💬 Join our Community!
    → christianlempa.de/discord
    ________________
    Read my Tech Documentation
    christianlempa.de/docs
    My Gear and Equipment-*
    christianlempa.de/kit
    ________________
    Timestamps:
    00:00 - Introduction
    01:29 - Advertisement-*
    02:15 - What was my DNS setup before?
    04:47 - What is the plan?
    08:44 - Install Bind9 in Docker
    11:47 - Configure forwarders
    19:15 - Configure a zone
    29:17 - How to use Bind9 in your network?
    ________________
    All links with "*" are affiliate links.
    #homeserver #dns #docker

ความคิดเห็น • 408

  • @ulrichbeutenmuller8101
    @ulrichbeutenmuller8101 ปีที่แล้ว +6

    Wow, this is awesome. I was always frustrated with the number of changes needed to have proper DNS resolution in a small network without a proper DNS server. Had I only invested a few hours to understand and setup bind9, this would have saved me a ton of time. Thanks Christian.

  • @williammrs
    @williammrs ปีที่แล้ว +24

    You're an absolute legend. I've followed two of your videos now and both have been enormous time savers. I'm just getting started with a homelab and setting everything up is extremely daunting and time consuming. You're an incredible resource!

    • @christianlempa
      @christianlempa  ปีที่แล้ว +4

      Haha thank you :D I'm glad it's helping you :)

  • @allards
    @allards ปีที่แล้ว +1

    Nice video to kick-off 2023 and a great explanation how to set up a bind server.
    It's a long video, and I was only loosely interested, but finished it in one viewing.
    One of your best video's ever!

    • @christianlempa
      @christianlempa  ปีที่แล้ว

      Thank you so much for the kind words! That’s a huge compliment :)

  • @6LordMortus9
    @6LordMortus9 ปีที่แล้ว

    I have been waiting for this for so long! Thank you.

  • @m-electronics5977
    @m-electronics5977 ปีที่แล้ว

    I don't know that bind9 is configured so easy before! Thanks for the video

  • @Kqto
    @Kqto ปีที่แล้ว

    I followed your tutorial and it worked like a charm. Great tutorial! Thank you.

  • @pprovost
    @pprovost ปีที่แล้ว

    This is exactly what I needed. Thanks Christian!

  • @nalle475
    @nalle475 ปีที่แล้ว +10

    Fantastic! You explain it in a way that is so easy to understand. When I hade to learn Bind 30 years ago it took forever and was as theoretical as it could be. Thank you again for an excellent tutorial.

    • @christianlempa
      @christianlempa  ปีที่แล้ว +1

      Thank you so much, that’s a great compliment :)

  • @erich1850
    @erich1850 ปีที่แล้ว

    Great video! This is something I have been wanting to do for my home network. Thank you for creating this tutorial!

  • @marcelcolley8580
    @marcelcolley8580 ปีที่แล้ว

    Perfect hit - i was looking for that currently. Thank you 🎉

  • @andrzejk980
    @andrzejk980 ปีที่แล้ว

    You fell from heaven with this video. I planning to local DNS for my devices :) Thank you :)

    • @christianlempa
      @christianlempa  ปีที่แล้ว

      Haha thanks :) glad it was helpful!

  • @softreck
    @softreck 7 หลายเดือนก่อน

    Vielen Dank für die hilfreichen Anweisungen, es ist auch schön, deine persönliche Herangehensweise an technische Themen zu hören.

  • @raymondfb
    @raymondfb ปีที่แล้ว

    thank you for taking the time to make this video. it helped me

  • @herbst1398
    @herbst1398 ปีที่แล้ว +3

    Hallo Christian, von mir und meiner Familie wünsche ich ein frohes neues, glückliches und erfolgreiches Jahr 2023! Meine Kinder stehen total auf deine IT Beiträge, wir schauen dieses Video gerade zusammen auf dem Beamer. Gruß aus Wiesbaden und vielen Dank für die Mühe : )

    • @christianlempa
      @christianlempa  ปีที่แล้ว

      Hey, vielen Dank! Ich wünsche euch auch ein frohes Neues, richtig cool, dass ihr so Spaß an den Videos habt :D

  • @paullacatus8975
    @paullacatus8975 ปีที่แล้ว +44

    Hi Christian ! Nice Bind opening clip. But more interesting will be to make a public/local DNS server and segregating trafic will be a nice continuations. Also a good tutorial, as you do, about MX records with DKIM, DMARK , SPF records ;-)

  • @christianthomas5381
    @christianthomas5381 ปีที่แล้ว +1

    Hi, thank you for this great video! I'm actually preparing to provide an own DNS server (also planned to use the Ubuntu/bind9 docker image) for my local network.
    You give many useful tips that will help.
    So again: thank you and you have a new follower now 😉.
    Cheers from Germany!

    • @christianthomas5381
      @christianthomas5381 ปีที่แล้ว

      Okay, it seem's that dnsmasq is blocking port 53 (I need to use piVCCU)....

  • @djKenpLan09
    @djKenpLan09 ปีที่แล้ว +2

    I personally use bind9 since very long time but never thought on running on a docker container... what a great idea actually! Great video!

    • @christianlempa
      @christianlempa  ปีที่แล้ว +1

      Nice! Thank you :)

    • @MuhammadHuzaifa-wj1er
      @MuhammadHuzaifa-wj1er 8 หลายเดือนก่อน

      Hey you seem like a guy who can resolve my query | Hopefully !
      I want to learn to serve a containered app to the internet.
      is that really possible?
      i believe if i configure dns settings locally good and also configure it with global dns like cloudflare it would really work
      will this really work [is that practical / feasible]
      will be waiting for your reply
      Thanks !

  • @sleipnir7446
    @sleipnir7446 ปีที่แล้ว

    I'm looking forward to watch ansible coming into play. Actually I'll try to automate the whole Bind deployment. Thanks for this great video.

  • @thecrimsonraven707
    @thecrimsonraven707 8 หลายเดือนก่อน +4

    I did not know you could use Visual Studio Code to simulataneously access an SSH terminal and access remote folders. You just made my job easier to drop files to my servers. Thank you, Christian.

  • @Ecker00
    @Ecker00 ปีที่แล้ว

    This setup looks neat, think I'll be setting up my own DNS resolver this weekend! 🌟😍

    • @christianlempa
      @christianlempa  ปีที่แล้ว

      Awesome! Tell us how it goes (discord) :D

  • @davidzuccarini8376
    @davidzuccarini8376 ปีที่แล้ว

    I love this channel, for more tutorials of this style, thank you very much.

  • @ZeroXMK_
    @ZeroXMK_ ปีที่แล้ว

    Happy New Year Christian! Awesome video to start the year. I'm waiting on some new gear to change up my lab and will be implementing BIND for internal DNS as well. Are you going to explore setting up a DNS cluster in the future? That way your primary node doesn't resolve DNS queries and is only used for updating the record configuration and then pushing the config to the secondary nodes via zone transfers.

  • @trtrevenen
    @trtrevenen ปีที่แล้ว +1

    Gru you are killing it.

  • @MehrdadGivehchi
    @MehrdadGivehchi ปีที่แล้ว

    Happy new year and great start with your awesome video and wealth of info as usual.

    • @christianlempa
      @christianlempa  ปีที่แล้ว

      Happy new year to you too! And thanks :)

  • @mysticsilent
    @mysticsilent ปีที่แล้ว

    Great video! Very interesting stuff to learn 😊 thanks for your time to explain it into detail. Also happy newyear 🎉

  • @1gold4
    @1gold4 10 หลายเดือนก่อน

    This have been the most useful source I found for setting up an DNS Server, and granted I still had to troubleshoot somethings but this was so helpful and didn't over complicated things

    • @christianlempa
      @christianlempa  10 หลายเดือนก่อน

      Thank you! Glad it helped you :)

  • @chrisumali9841
    @chrisumali9841 ปีที่แล้ว

    Thanks for the demo and info, have a great day

  • @gacjezv
    @gacjezv 2 หลายเดือนก่อน

    such a good video - watched it last night and have it up and running in 20 minutes for my home lab!!!!!

    • @christianlempa
      @christianlempa  2 หลายเดือนก่อน

      I'm glad it helped you, man! Thanks again for your support :D

  • @jakemuff9407
    @jakemuff9407 ปีที่แล้ว

    Please do a full home lab tour video with this included :) Everything thats running in your homelab!

  • @solverz4078
    @solverz4078 ปีที่แล้ว +12

    Your are far by the best TH-camr for this kind of content as you don't just explain how to do something, you explain why to do things and how they actually work and not just saying put this here and there and it'll work.
    Love it!!! Shows you have put a lot of time into understanding the concepts properly.

  • @_phil_man_
    @_phil_man_ 2 หลายเดือนก่อน

    Really lovely walkthrough of your process. Thankyou for sharing.
    Happy Saturday brother

  • @V3LOXy
    @V3LOXy ปีที่แล้ว +177

    Bit of advice, never use the :latest tag, look up the latest version tag (eg 2.4.2) and use that one instead. Always use a specific version and update in a controlled manner. You do not want to be in a situation where you've accidentally pulled a new version and your config files no longer work with that version. It will save you a lot of headache when something goes wrong or you have to migrate to a new server. You can backup your configs and docker file, but it does not ensure you that those config files will work on another device as you've not defined a version tag in your docker file, you may pull a completely different version. (I'm bad at explaining, please do look up why you shouldn't use :latest to understand it better)

    • @GiorgioAresu
      @GiorgioAresu ปีที่แล้ว +10

      So much this. So many people, and in so many big companies use tag latest and not all of them will listen or care enough to change

    • @user-pv8yj7mg2o
      @user-pv8yj7mg2o ปีที่แล้ว +13

      There is a middle ground in between the `latest` tag or a tag pointing to a specific release. The current stable nginx release is version `1.23.3`, this version can currently be referenced by multiple tags like `latest`, `stable`, `1.23.3` or even `1`.
      If the images maintainers are competent, these additional tags will be updated on every release. To always use the latest nginx release of version 1.x.x, but never accidentially use the releases of another major release (2.x.x), just use the tag `1`.
      In a corporate environment, where all changes to the infrastructure have to be managed in a certain way, you hopefully want to control the update process and also the whole image registry and image build process anyways and push new releases to the registry yourself.

    • @monkeysocar99
      @monkeysocar99 ปีที่แล้ว

      🙃🙂

    • @monkeysocar99
      @monkeysocar99 ปีที่แล้ว

      🙃🙃🙃🙃

    • @_duckk
      @_duckk ปีที่แล้ว

      This image is named bind9 not just bind, so it's implied that the major version is 9, so no breaking changes for you

  • @buschmannd2
    @buschmannd2 ปีที่แล้ว

    Hi Christan, danke Dir vielmals, hat mir sehr geholfen. VG!

  • @toolbelt
    @toolbelt ปีที่แล้ว

    Fantastic video. Thanks much.

  • @svenklomp
    @svenklomp ปีที่แล้ว +1

    Great video, I use pihole’s local dns features. Works great :)

  • @Felix-ve9hs
    @Felix-ve9hs ปีที่แล้ว +4

    I almost switched my DNS to BIND, but decided to go with Unbound and NSD instead.
    Still, great video, configuring services like DNS and DHCP for your own network by hand is really a great learning experience

  • @konstantingribanov7197
    @konstantingribanov7197 ปีที่แล้ว

    just awesome!!!

  • @MarkJay
    @MarkJay ปีที่แล้ว

    Great video! Thank you!

  • @WastedMofo
    @WastedMofo ปีที่แล้ว +5

    Hey Christian! Nice video! I can see this fitting perfectly into my own lab :-). Just wondering if you'd consider a 2nd container (or K3S) orso as a secondary (Internal) DNS (to maintain HA). I'm not sure if you can configure that as well in your Sophos? (perhaps round robin). Maybe this is an overkill, but you keep mentioning that this is something you'd want to scale up to 'enterprise' levels. ;-).

  • @thomaseckert5691
    @thomaseckert5691 ปีที่แล้ว

    You are rocking that turtleneck!

  • @pedro_alonso
    @pedro_alonso ปีที่แล้ว

    Damnn, this bring back memories. I have an class where we configured an linux machine from the ground up, and dns with bind9 was one of the configurations we have to do, sadly at the time I don't give much value to it and only remenbered now

  • @IT-Entrepreneur
    @IT-Entrepreneur 9 หลายเดือนก่อน

    Danke, genau was ich gesucht hab. Da Bind9 nur die Config Files braucht kann man das auch Super als Infrastructure as Code direkt aus dem Git hochziehen lassen. Perfekt Terraform für die VM und dann Ansible & Docker um Bind9 zu deployen. So macht Infrastruktur Spaß :)

  • @giovanniperta7726
    @giovanniperta7726 ปีที่แล้ว

    Very interesting video. Thanks!

  • @dbriankimmel1538
    @dbriankimmel1538 ปีที่แล้ว

    Thanks for a great video. I am using ansible to implement this - almost working.

  • @aemtech.3d
    @aemtech.3d ปีที่แล้ว

    Video muito bem explicado 👏👏

  • @luigitech3169
    @luigitech3169 ปีที่แล้ว +1

    Great video, I use Adguard as home DNS

  • @msw10100
    @msw10100 6 หลายเดือนก่อน

    Thanks! Such great info!

  • @housemann2770
    @housemann2770 ปีที่แล้ว +1

    Thanks a lot, Christian and a blessed 2023. Do you planned a second part with explaining split horizon and things like TLS w/LE for our local labs (0:52)?

    • @housemann2770
      @housemann2770 ปีที่แล้ว

      uhm, my mistake... with the public domain and a subdomain (like home. or demo.), TLS works after setting this up, I guess^^

  • @exec_mayank
    @exec_mayank 6 หลายเดือนก่อน

    Very clear video. Thank you!

    • @christianlempa
      @christianlempa  6 หลายเดือนก่อน

      Glad it was helpful!

  • @Mr.Jean-Paul
    @Mr.Jean-Paul ปีที่แล้ว +9

    Hi Christian, interesting video. Just an idea: you could install a second Bind9 server and use the VRRP Protocol to cover the fallout of the first one. I‘ve done that with 2 Piholes on different servers with 1 virtual DNS address. If the first DNS server fails, the second one automatically takes command of the name resolution until the first one recovers 🤷🏼‍♂️. Works flawlessly!
    LG aus Luxemburg 🇱🇺

    • @djvincon
      @djvincon 10 หลายเดือนก่อน

      Thats awesome. Do you have a write up about this?

  • @adamtechnology3204
    @adamtechnology3204 4 หลายเดือนก่อน

    Benificial video!

  • @PricelessToolkit
    @PricelessToolkit ปีที่แล้ว

    Hey Christian! Nice video! I'm using Pfsense which supports wildcard certificates.

  • @shetuamin
    @shetuamin ปีที่แล้ว

    Hello. Thanks for upload this post.

  • @adityaroshan1688
    @adityaroshan1688 8 หลายเดือนก่อน

    Finally a technical guy not going assembly lang

  • @Theborg72
    @Theborg72 ปีที่แล้ว

    Thanks.. always as interesting, this is how I drive with bind9
    I've been running Bind for a few years now and am completely satisfied. I send the questions to the Nginx reverse proxy which puts on the ssl certificate before servers.

    • @christianlempa
      @christianlempa  ปีที่แล้ว

      Awesome! Sounds like a great solution :)

  • @Net_Mastr
    @Net_Mastr 9 หลายเดือนก่อน +1

    It was super tutorial, Thanks for this❤

  • @_vr
    @_vr ปีที่แล้ว

    Thanks for this great video

  • @petersoderstrom857
    @petersoderstrom857 ปีที่แล้ว

    Thank you sir!

  • @Glatze603
    @Glatze603 2 หลายเดือนก่อน +1

    I now use technitium dns server - it‘s open source, easy to install on every os (docker, too), very feature rich, really secure and completely with graphical user interface.

    • @christianlempa
      @christianlempa  2 หลายเดือนก่อน +1

      Sounds like a nice project! Thanks for sharing

  • @wildflowers465
    @wildflowers465 ปีที่แล้ว +1

    Great video Christian! I'm looking at creating implementing my own DNS service in a private subnet in the cloud (rather than at home), which I connect to via a VPN, and I'm considering doing this. I'm sure there are probably some tools offered by the cloud provider (I'd rather not use those, in this particular cAWSe, or maybe by the VPN server (openvpn access server), but bind9 seems like a solid way to do things. I've yet to watch your Cloudfare Tunnel videos, so maybe those have some info re. DNS while connected remotely.. As always, I learned a ton; looking forward to the next video!

    • @christianlempa
      @christianlempa  ปีที่แล้ว +1

      Thank you! :) Glad it helped you!

  • @conraadvandenberg
    @conraadvandenberg ปีที่แล้ว

    @ChristianLempa Great video! Which file explorer/editor are you using in the video?

  • @andreaquentino1068
    @andreaquentino1068 ปีที่แล้ว +1

    I like your videos. I watch them.Thank you! Just one thing about audio, I can improve it just for free. It's no problems for me, I can help.

  • @cateyenebula
    @cateyenebula ปีที่แล้ว

    I've been running bind for years now. I use a caching dns config to speed up things. I deploy my services via Ansible which also manages my zones via Ansible templates. Traefik is awesome in that chain to facilitate reverse proxying. Really great recap on all the intricacies!

    • @LucaGaetanoCapula
      @LucaGaetanoCapula 6 หลายเดือนก่อน +2

      Hi! I am running in a problem that it looks like you solved. I use a dockerized NGINX proxy manger. I setup bind9 but I cant make the 2 work together. what should I do?

    • @andriescoetzee4751
      @andriescoetzee4751 5 หลายเดือนก่อน

      @@LucaGaetanoCapula I am strugling with the same thing not sure what I ahm doing wrong.

    • @draahpsquad3592
      @draahpsquad3592 5 หลายเดือนก่อน

      Make sure the containers are on same network

  • @sylvaindecrom
    @sylvaindecrom ปีที่แล้ว

    Hi Christian, happy new year! A great follow up to this video would be how to generate certs for the internal hosts using letsencrypt.

  • @marcelk.4371
    @marcelk.4371 ปีที่แล้ว +1

    👌 Mit dir müsste man mal ein Bierchen trinken :D
    Danke für alle deine interessanten Videos!

    • @christianlempa
      @christianlempa  ปีที่แล้ว +1

      Haha, wenn ich anstatt Bier auch Cola trinken darf gerne :D

  • @ThomasTomchak
    @ThomasTomchak ปีที่แล้ว +4

    @Christian, you’re an amazing teacher. You take some pretty complex subjects and make them not only understandable but exciting to try (at least for nerds like me). One question. You are using two different programs. One for terminal commands and one for text files. Both have some sort of auto-complete working on them. Can you share what two programs those are? I’m just curious.
    Thanks for another great video.

    • @shawnhu
      @shawnhu ปีที่แล้ว +5

      They are WARP termial and VS Code editor. Btw, if you not use macOS, and bash, zsh, or fish is your default shell, you could try oh-my-bash, oh-my-zsh, or oh-my-fish to enhance your default shell. The basic auto-complete script is included in enhancements, and you can also add your customize auto-complete scripts to the configuration file.

    • @christianlempa
      @christianlempa  ปีที่แล้ว +2

      Thank you so much! And yeah Shawn actually explained the tools perfectly :)

  • @blackbarry45
    @blackbarry45 7 หลายเดือนก่อน +1

    that's great! next topic could be how to issue a certificate from let's encrypt

  • @mailman2097
    @mailman2097 หลายเดือนก่อน

    Awesome.. thank u so much..

  • @iongchihang5828
    @iongchihang5828 ปีที่แล้ว

    Thank you!

  • @parheliaa
    @parheliaa ปีที่แล้ว

    Very nice

  • @jeffer8762
    @jeffer8762 ปีที่แล้ว +1

    Hi Christian, really like you video and passion about technology. Just wonder do you have a tutorial on a quick ways to spin up new Ubuntu server 22.04.1 LTS from cloned image with sysprep so all the UUID/MAC address will be unique for each machine?

  • @lucacamphuisen3093
    @lucacamphuisen3093 ปีที่แล้ว

    You can use external-dns on k8s to auto sync dns records for ingress/services

  • @MrJakecornford
    @MrJakecornford ปีที่แล้ว +1

    I use NextDNS as I can use it to protect my kids from nasties on the Web, both on my LAN and when they roam.
    It's an easy package to install on OpenWRT. I ended up doing split horizon without even knowing what it was by putting my internal services in the hosts file on OpenWRT.
    It works so I don't want to mess with it but would really like to move away from OpenWRT.
    This has given me a lot to think about. Thank you for the guide 👍

    • @christianlempa
      @christianlempa  ปีที่แล้ว

      You’re welcome! Hope it helps to optimize your setup :)

  • @fredrik354
    @fredrik354 5 หลายเดือนก่อน

    I'm way behind but I'm also going back to bind9. We used it at work a couple of years ago and I laughed at the old half-dead guys running it.. now I'd love to have it that simple and being able to easily manage it automagically with Ansible or Terraform.

  • @diegoperezruanova5590
    @diegoperezruanova5590 ปีที่แล้ว +7

    Hey Chris, have you tried integrating PowerDNS for graphical management of DNS? It would be interesting to see it in a video. I have it set up in my lab with KVM/LXC and it's very useful.

    • @IamDmitriev
      @IamDmitriev 11 หลายเดือนก่อน

      Several days ago I tried to find good solution DNS server + simple web UI (preferrable is not 3rd party). And found that there is only one solution for this, called SnitchDNS. And decided that the best option is PowerDNS + 3rd party PowerDNS-Admin. Might Chris do not need UI for DNS management, because its his homelab with one user.

  • @VelislavVarbanov
    @VelislavVarbanov ปีที่แล้ว +6

    Don’t forget to add the docker networks to the internal ACL list, or you may end up like me wondering why portainer does not resolve 😅 BTW I use views to control who sees what. As a side note if you are privacy cautious do not use forwarders. Bind is capable to resolve on its own. You may need to setup a hint zone to speed things up a little.

  • @streambarhoum4464
    @streambarhoum4464 ปีที่แล้ว

    Great video Chris ! , yet may be implementing our own Local DIY CDN is a good perspective to avoid using cloudflare for full privacy.

    • @christianlempa
      @christianlempa  ปีที่แล้ว +1

      Thank you! Currently no plans to do that

    • @streambarhoum4464
      @streambarhoum4464 ปีที่แล้ว

      @@christianlempa All right! Think of that in a future... Best regards.

  • @knowledgeispower17
    @knowledgeispower17 ปีที่แล้ว +2

    Setup PI Hole with Unbound. This is the real deal. :D

  • @matthiasbenaets
    @matthiasbenaets ปีที่แล้ว

    I guess this is a good solution if you want some more control over your local dns, but personally all I see is an extra container I need to manage. You can do pretty everything the same with a reverse proxy manager, pihole and managing the record with your public dns resolver.

  • @godwears7
    @godwears7 ปีที่แล้ว

    Great video, I might need to try this out. I like the idea of the split horizon. Anyway, more importantly, what terminal is that you are using? I like the auto complete and and sectioning.

    • @godwears7
      @godwears7 ปีที่แล้ว +1

      nevermind, I found warp which I'm pretty sure it is.

  • @acronproject
    @acronproject ปีที่แล้ว

    Thanks for this Good content

  • @zubairzonbarkar3358
    @zubairzonbarkar3358 ปีที่แล้ว

    It is a very comprehensive setup guide. I have a question how to connect and run a spring docker container to a external standalone Oracle database?

  • @launebaer86
    @launebaer86 ปีที่แล้ว

    Great video as always. Could you make a video about how you feel about moving to Mac now after a couple of months? P.S.: Gutes Neues! 🎉

    • @christianlempa
      @christianlempa  ปีที่แล้ว

      Frohes Neues dir auch :D Würde gerne noch den Mac mit einer Docking Station testen und dann kommt ein Windows vs macOS video ;)

  • @nicolaicornelis2853
    @nicolaicornelis2853 ปีที่แล้ว +1

    Hey, just a tip. If you want to show console input/output, maybe move the window up a little, because if you watch the video with subtitles, you can't at all see what's going on.

  • @eduardodelvalle2071
    @eduardodelvalle2071 ปีที่แล้ว

    Hi Christian. Great video. Please share the name of the text/proyect editor you used in the video. Thanks.

  • @georgekroon
    @georgekroon ปีที่แล้ว

    Interesting video! but on the self-signed certificate 'issue' my workaround has been to deploy a container with step-ca and work with my own CA as it also plays nice with Traefik using acme :)

  • @matthew6cooper
    @matthew6cooper ปีที่แล้ว +5

    One thing you may want to look at for outside requests using an SSL DNS server. I have the outside request routing through STunnel. This will stop anyone from logging your DNS requests

    • @Darkk6969
      @Darkk6969 ปีที่แล้ว +1

      One of the reasons why I use unbound in pfsense.

  • @geozeke
    @geozeke ปีที่แล้ว

    Fantastic video, Christian! Thanks. I'm not sure where it changed (maybe on Read the Docs), but your link to [Bind9 Configuration and Zone Files] seems broken. Your URL includes: "v9_18_10", but the current RtD link seems to use: "v9.18.10" (periods not underscore). If you're updating anyway, the current version is at: "v9.18.16" 🙂

  • @ikerstges
    @ikerstges ปีที่แล้ว

    The mystery of bind lifted, this video made me subscribe to your channel! ☺ I'd be very gratefull if you would followup on this, showing the let's encrypt certificate process? Thanks for this demo example, very helpfull!!

  • @christopherblare6414
    @christopherblare6414 ปีที่แล้ว +2

    I liked the video! I'd definitely be interested in seeing you incorporate more advanced dns topics like adblocking. I've used pihole but I was never able to figure out how to have a secondary DNS with the way it blocks requests. I'm not sure if that's not feasible with pihole or I just could figure it out.

    • @christianlempa
      @christianlempa  ปีที่แล้ว +1

      I'm not sure whether I'd like to cover that topic, however, what would be a solution for your setup: set up bind, and in the "forwarders" section add the local IP of your PiHole instance.

    • @LampJustin
      @LampJustin ปีที่แล้ว

      You could just setup gravity sync. That will sync 2 PiHole instances.

    • @buldezir
      @buldezir ปีที่แล้ว

      @@LampJustin or just ignore this, because u need secondary dns only as fallback, so if it will not cut some ads - who cares :)
      i use 2 piholes in home lab, with manually wildcarded fake home domain, need to do it once. and all other settings just do only on main pihole.

    • @speedhunter787
      @speedhunter787 ปีที่แล้ว

      @@buldezir 2nd DNS gets used regularly by clients, not just as fallback.
      You need multiple AGH/Pihole instances which get synced.

  • @robertroygaard902
    @robertroygaard902 ปีที่แล้ว

    I use BIND9 on two raspberry pi3 for my public domains and a pihole on kubernetes for local ip's. my local domain is named the same as my public domain. in the past I've used bind9 with views for local and public resolution but it was much more comfortable to use pihole on my local net.

  • @fanshaw
    @fanshaw ปีที่แล้ว

    I'd put a caching server like pihole on the inside and give out that IP to clients. That creates a consistent model for internal and external/3rd party domains: client->cache->[main cache]->authoritative server. This scales better if you go multi-site as you keep your authoritative systems in the data centre and put dumb caches out on sites and you can put your authoritative server somewhere nice like a DMZ, where it can publish out to the internet and do zone transfers to your ISP if required. Of course you can zone transfer to the DC (for things like dhcp dns registrations), but I think its neater centralise first if possible.
    You probably want to protect your primary DNS server with a DMZ which only allows outbound zone transfers to secondaries and doesn't answer queries itself. If someone hacks your DNS, you're toast.

  • @oliverksiazek7263
    @oliverksiazek7263 ปีที่แล้ว

    Hi Christian , thanks for the video . I will look further also because 2 months ago , I 've tried the bind9 docker implementation of ISC and I got issue that the host on which the docker is running the DNS container can't access the DNS server which was mandatory for me as I'm using the host for other purposes as well .

  • @JasonSFuller
    @JasonSFuller ปีที่แล้ว +2

    @christianlempa a few notes:
    7:26 Small nit-pick: it's "I. S. C." (Internet Systems Consortium) and not "I. C. S." You mentioned the incorrect acryonym a few times.
    18:30 Try using dig (vs nslookup), since you're using BIND. IMHO (and as a former DNS admin for a large ISP), dig is more powerful and streamlined. For EL distros, you'll find it in the "bind-utils" package. Not sure about Mac or Debian-based distros like Ubuntu.
    19:30 FYI, the reason why you can use .home, .corp, and .mail (but not .local) TLDs on your private network is because ICANN's board found they were already in prevalent use, and attempting to introduce them publicly would be "high-risk" due to potential name collisions. Originally, these TLDs were not listed in any standard (or RFC) and were technically off-limits (even though people still used them), at least until ICANN Resolution 2018.02.04.12 stated "the delegations of such high-risk strings would be deferred indefinitely."
    21:15 Use named-checkconf and named-checkzone. There's probably a config option or extension in VScode to automate this, or you can just add a precommit githook.
    31:30 I'm surprised you went with BIND over CoreDNS, since I know you're interested in Kubernetes and especially given your automation aspirations (check the ectd plugin for use outside of k8s).

  • @rdvqc
    @rdvqc ปีที่แล้ว

    Since you ask I have been running local bind, dhcp and smtp sevices for about 15 years. Originally I used an HP-UX system later moving to Centos and recently to Almalinux. I have owned a number of domains and master 'home.' variants for local use. Originally, when Internet connections were slower, it cut dns chatter on the Internet link by caching. The DHCP allows me to assign consistent IP's to my local devices and distribute DNS, gateway, NTP and other configuration. The DCHP on most ISP routers is pretty lame.

  • @chloebiscuits6440
    @chloebiscuits6440 ปีที่แล้ว

    Hi Christian, did you do a video about DHCPD? Tried to see if I could find. Is it possible to do one using either the old ISC dhcpd or the new KEA?

  • @jeroenrevalk
    @jeroenrevalk ปีที่แล้ว +2

    Thanks Chistian!
    How about your SSL certs? Now i'm using NGINX Proxy manager with an subdomain wildcard to my home dns entry. Are you still facing something public? Or are you using wildcard certs with Letsencrypt with an dns challenge?

  • @gacjezv
    @gacjezv 2 หลายเดือนก่อน

    Thanks!

    • @christianlempa
      @christianlempa  2 หลายเดือนก่อน

      Thank you so much for your support!

  • @wstrater
    @wstrater ปีที่แล้ว

    Did you talk about needing to run the bind Docker container on the Host network? Can’t remember but you need the container to listen on the host IP address to be externally accessible.

  • @marcoroose9973
    @marcoroose9973 ปีที่แล้ว +1

    Hey Christian! Sehr spannend. Ich habe mich vor 1/2 Jahr mal intensiver mit DNS beschäftigt. BIND9 fand ich irgendwie ein bisschen altbacken. Auch brauchte ich etwas mit API um das extern zu füttern. Ich bin damals auf PowerDNS gestoßen, das finde ich prima, vor allem mit der GUI. CoreDNS fand ich aber auch total spannend, da geht eine Menge mit. Vielleicht mal ein Vergleichsvideo?

    • @dirkmothes5136
      @dirkmothes5136 ปีที่แล้ว

      PowerDNS ist auch die bevorzugte Lösung. HA fähig, Docker-fähig, GUI und API.. alles was man braucht.