Network Namespaces Basics Explained in 15 Minutes

Поділитися
Вставка
  • Опубліковано 26 гру 2024

КОМЕНТАРІ • 218

  • @KodeKloud
    @KodeKloud  5 років тому +5

    🚀Explore Our Top Courses & Special Offers: kode.wiki/40SkWyU

  • @manishfoodtechs
    @manishfoodtechs 5 років тому +79

    This took me 1 month to learn by self and you visualized in 15 minutes. Believe me.. you covered everything. Good Work

    • @Papun590
      @Papun590 4 роки тому

      brother please if you understand make me understand it because ididint understand any thing

  • @michelsmith6835
    @michelsmith6835 Місяць тому +1

    I am half in the video and I already like the visualization of how everything works in order, very easy to understand, I really like these kind of videos where you learn by watching how things move. Bravo

  • @agytjax
    @agytjax 4 роки тому +30

    Wow. Entire Namespace condensed to 15 min and explained well as well. This should be the go-to tutorial for networking with Namespaces

    • @KodeKloud
      @KodeKloud  4 роки тому

      Welcome🙏. All our videos are simple and easy to understand. Please subscribe to our channel & help us create more such videos.

  • @nikhilpurwant5030
    @nikhilpurwant5030 2 роки тому +18

    Great Work KodeKloud!
    If the pings do not work - make sure you add ip addresses as 192.168.15.1/24 and 192.168.15.2/24 and for the bridge example make sure you also bring up the peer devices (veth-red-br and veth-blue-br) using following commands - sudo ip link set veth-red-br up and sudo ip link set veth-blue-br up before testing the pings.

    • @KodeKloud
      @KodeKloud  2 роки тому

      Hi Nikhil, thanks for checking out our tutorial and for sharing the information. Do subscribe to our channel to stay posted on upcoming tutorials. Cheers!

    • @christianposta
      @christianposta 2 роки тому +2

      Yeah, this helped me as well. The last thing that helped me was, the bridge traffic will traverse iptables by default… so either turn that off, or enable an “allow” policy for Forwarded traffic with “iptables -policy FORWARD ACCEPT”

    • @mintymintfresh
      @mintymintfresh 2 роки тому

      this is what i was missing.

    • @helgestegemoen73
      @helgestegemoen73 Рік тому

      That helped me. Thanks :)

  • @naveenvideos
    @naveenvideos 20 днів тому

    Wow wow wow...just wow. Man, you just broken entire confusion in my mind on network namespaces, docker bridge networks, kubernetes networks. Thanks a thousand man.

    • @KodeKloud
      @KodeKloud  8 днів тому

      Thanks for watching! It’s great to hear you’re finding it helpful.

  • @zahurulhaque6377
    @zahurulhaque6377 4 роки тому +23

    Awesome video, Love this guy helped me pass my kube certs. BTW on amazon linux 2, I had to use 192.168.15.1/24 and 192.168.15.2/24 for red and blue namespaced network, otherwise could not ping.

    • @helgestegemoen73
      @helgestegemoen73 Рік тому +2

      Thanks. This worked for me on Ubuntu :)

    • @calebflenoury178
      @calebflenoury178 6 місяців тому +2

      Yes same for me! I looked into this and apparently it's because the default subnet mask when creating the IP addresses for each namespace is 32 bits. This means that the namespaces act as single hosts that don't belong to a network. This prevents the Address Resolution Porotcol from finding the host that the IP address belongs to because it relies on a broadcast message and you can not broadcast on a network of one device.
      To fix this without changing the subnet mask on the IP's to be '/24' (24 bit) instead, i had to manually enter the IP address and corresponding interface into the routing table of each namespace. Like so:
      sudo ip netns exec red ip route add 192.168.15.2/32 dev veth-red
      sudo ip netns exec blue ip route add 192.168.15.1/32 dev veth-blue
      This allowed me to ping the namespaces successfully
      Also, I believe changing the subnet masks are also a completely valid way to achieve the same goal. I just wanted to give an alternative solution 😃

  • @mrashad_com
    @mrashad_com 2 роки тому +1

    WOW, in 15 mints you explained one of the most complicated subjects I didn't understand, simply by telling us the "why"
    I hope I can make 1000 like, thank you

    • @KodeKloud
      @KodeKloud  2 роки тому

      We are glad you found our video helpful. Like and share our video with your peers and also do not forget to subscribe to our channel for not missing video updates. We will be coming up with more such videos. Cheers!

  • @saiyjin98
    @saiyjin98 4 роки тому +4

    This is by FAR the best description of network namespaces I've ever seen! Thank you for putting this together!

  • @abobakrabdellah7598
    @abobakrabdellah7598 7 місяців тому +2

    I rarely comment on any video.
    But this amazing video forces me to comment.
    Great explanation. Thanks!

  • @christymathew9035
    @christymathew9035 3 роки тому

    God level teaching....Im literally speechless.Was struggling with openstack ping issues.this saved my life.

  • @yoavklein123
    @yoavklein123 3 роки тому +8

    Hi thanks for the video ! When following along, I noticed that there are 2 important things not mentioned in this video in order for this to work:
    1. We need to set up the interfaces that are mastered by the bridge network.
    2. We need to enable ip forwarding for the machine, i.e.: sysctl -w net.ipv4.ip_forward=1

    • @tamilselvantech
      @tamilselvantech 3 місяці тому

      Thanks yoavklein, by default it was disabled on my host.

  • @shrutidalvi9202
    @shrutidalvi9202 5 років тому +11

    This is the best explanation ever! Thank you so much.

  • @iammrchetan
    @iammrchetan 2 роки тому +2

    This is just awesome. Docker kept rolling in my mind for the entire video and helped me understand the implementation.
    Well, the first time, it went a little over my head because of less networking understanding. Watching it for many times to grasp everything. Thank you again, you're the best teacher!

    • @KodeKloud
      @KodeKloud  2 роки тому +1

      WooHoo! We are so happy you love our videos. Please do keep checking back in. We put up new videos every week on all your favorite topics. Whenever you have the time, you must also check out website @kodekloud.com and tell us what you think. Have a good day!

  • @zaherer2008
    @zaherer2008 4 роки тому +2

    Teaching is a talent and you are amazingly talented. Best explanation ever

  • @AnantaAkash.Podder
    @AnantaAkash.Podder Рік тому +1

    You are the Best Explainer Man... You truly make Difficult Topics understandable very easily...❤❤❤

    • @KodeKloud
      @KodeKloud  Рік тому

      Hey, thank you for appreciating our work. We are glad to have helped. Do check out our other tutorial videos and subscribe to us to stay connected. Cheers :)

  • @RegularEverydayNormalGuy
    @RegularEverydayNormalGuy Рік тому +1

    That intro is very smooth

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks a ton! Your support makes all the difference 💙

  • @moody_weirdo
    @moody_weirdo 2 роки тому +1

    This visualisation is just amazing. Thanks

    • @KodeKloud
      @KodeKloud  2 роки тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @ECX0x100h
    @ECX0x100h 3 роки тому

    This is the best video on namespaces I've come across thus far.

    • @KodeKloud
      @KodeKloud  3 роки тому +1

      Comments like these motivate us to do more such videos. Thanks!
      Please subscribe to our channel for more such videos 😊

    • @ECX0x100h
      @ECX0x100h 3 роки тому

      @@KodeKloud By the way, I'm trying to run multiple VPNs simultaneously each within their own network namespace, then route subnets to their respective VPNs from the main system. You could do a video on how to do this if you want.

  • @TrungLe-lw4zm
    @TrungLe-lw4zm 4 роки тому +1

    This is probably one of the best video that could explain this concept

  • @spoown007
    @spoown007 4 роки тому +1

    Very clear technical explanation , you can understand how networking is working within container, and between them! Really excellent, please continue...

    • @KodeKloud
      @KodeKloud  4 роки тому

      Thanks for stopping by. Hope you saw our other videos on DevOps and other important tools.👍

  • @a143r
    @a143r 4 роки тому +3

    excellent explanation, I. would watch this video 100 times, thanks

    • @KodeKloud
      @KodeKloud  4 роки тому

      Wow, thanks! Please subscribe to the channel and support us.

  • @ravindra6028
    @ravindra6028 4 роки тому

    again this video is such a master piece. Never saw any great video like this. Thanks from bottom of heart. This is what education should be. Figuring out from man pages it too much stressful

  • @KimsesizKedi
    @KimsesizKedi 2 роки тому

    I can't skip without commenting. It was great! I enjoyed watching. For some reason mine didn't work but overall I learned A LOT.

    • @KodeKloud
      @KodeKloud  2 роки тому

      Glad you enjoyed it!
      Check out our Early Black Friday offer to get upto 50% off on our Premium Courses: you can use our early Black Friday offer to enroll for our courses: b.link/wko6c6

  • @tomknud
    @tomknud Рік тому +1

    That's a pretty thorough rundown of the internal networking facilities of OS's. The only thing that might make it better is if you brought up the places in the Linux codebase where these things are effected.

    • @KodeKloud
      @KodeKloud  Рік тому

      Thank you so much : ) We are glad to be a part of your learning journey

  • @samoh96
    @samoh96 2 роки тому +1

    more than good level. great. thanks for sharing this smartly and clearly summarized video to public.

    • @KodeKloud
      @KodeKloud  2 роки тому

      Hello, thank you for watching our video. We are glad that you liked our video. Do subscribe and stay connected with us. Cheers :)

  • @pankajchaurasia9105
    @pankajchaurasia9105 2 роки тому +1

    Awesome explanation. Simply superb video

    • @KodeKloud
      @KodeKloud  2 роки тому

      Hello, thank you for watching our video. We are glad that you liked our video. Do subscribe and stay connected with us. Cheers :)

  • @ClaudioPascual
    @ClaudioPascual 3 роки тому +1

    Excellent tutorial. I had to explicitly bring up the `veth-*-br` devices -I don't see that in your video.

  • @vikas5951
    @vikas5951 3 роки тому +1

    Should we execute the commands on two different terminals ? should the bridge be created outside of both blue and red namespaces?

  • @jigneshpatel5469
    @jigneshpatel5469 2 роки тому +1

    Bro. This is awesome. You helped me tremendously to understand this

  • @sandeepr5007
    @sandeepr5007 3 роки тому +2

    Awesome video with so much details compressed yet very much clear and precise explanation. Analogy was simply superb which I could not find in any videos and articles till now. Thank you :)

  • @imanebt8617
    @imanebt8617 4 роки тому

    I don't understand the 6th downvotes, this video shed the light on so many things that other articles talk about and describe without saying what it actually is. All the articles I read say the fruit is round and may be green or red, while this video tells me directly that it is an apple.

  • @shrish75
    @shrish75 4 роки тому

    One of the best explanation in 15 mins

  • @HosseinHosseinvand
    @HosseinHosseinvand 3 роки тому +1

    Simple and Amazing. God bless you

  • @g.t.3482
    @g.t.3482 2 роки тому +1

    Thanks for posting this.. Great job!! It gets very confusing without animation and color coded diagrams.

    • @KodeKloud
      @KodeKloud  2 роки тому +1

      Glad it was helpful!

  • @jbragg33
    @jbragg33 11 місяців тому

    Amazing explanation, very clear, thank you

    • @KodeKloud
      @KodeKloud  9 місяців тому

      Glad it was helpful!

  • @FranciscoPortero-i7z
    @FranciscoPortero-i7z 8 місяців тому

    Wonderful explanation. If you do the same for other material it worth it spending the time to learn it

  • @upsangelhk
    @upsangelhk 9 місяців тому

    Great tutorial. The title can also be how to create a virtual Linux router. It s basically what a router do, besides the iptables rules then it completed.

  • @jsaenzMusic
    @jsaenzMusic Рік тому

    This was Outstanding! It helped me internalize the virtual networking I set up with my VM's and although I knew how to get things working, I now understand the fundamentals of why! Will be leveraging your services for sure!!!

    • @KodeKloud
      @KodeKloud  Рік тому

      Thank you for the appreciation. You can check our videos related to DevOps and subscribe to our channel to stay updated with all the latest tools.

  • @imanebt8617
    @imanebt8617 4 роки тому +3

    Please do more in depth courses like these (cgroups, overlay networks). I'm currently interested in what are pods concretely. From what I understood until now, it's just a bunch of containers (i.e a bunch of uts+pid+network+ipc) that belongs to the same network namespace.

  • @mortezanik1148
    @mortezanik1148 2 роки тому +1

    Thank you for Awesome explanation!

  • @amilcarchissola2262
    @amilcarchissola2262 2 роки тому +1

    Dammn Man, you are the Guy. thank you for this incredible lesson, I spent 1 week trying to understand these concepts, and now with your video, I understood everything in just 15 min.

    • @KodeKloud
      @KodeKloud  2 роки тому

      Hello, thank you for watching our video. We are glad that you liked our video. Do subscribe and stay connected with us. Cheers :)

  • @ВалентинФайчук-ь2м
    @ВалентинФайчук-ь2м 3 роки тому +1

    Watching this video for the second time and it is as helpful as it was before, thank you so much 😁

    • @KodeKloud
      @KodeKloud  3 роки тому

      Thanks😊
      We make sure all the concepts are clearly explained. We have experts in our team who make even complex things look very easy. Please subscribe to our channel & help us create more such videos.

  • @kshitizjain9557
    @kshitizjain9557 3 роки тому +1

    thanks for doing my coding assignment

    • @KodeKloud
      @KodeKloud  3 роки тому

      You're welcome. Please subscribe to our channel and support us to do more such videos. Thanks 😊

  • @NoProblem76
    @NoProblem76 4 роки тому +2

    oh wow i've been trying to learn this for years and u made it so clear.

  • @hsubyron2277
    @hsubyron2277 2 роки тому +1

    So well explained!!

  • @moldrienperez9052
    @moldrienperez9052 2 роки тому +1

    Great content! Very useful in this moment for me. Thank you very much!

  • @sovsemnetot
    @sovsemnetot 4 роки тому +1

    perfect explanation

    • @KodeKloud
      @KodeKloud  4 роки тому

      Glad you liked it. Please subscribe to the channel and support us.

  • @imanebt8617
    @imanebt8617 4 роки тому

    At 6:01, why are the mac addresses different in the blue and red namespaces ? isn't the mac address the identifier of the nic (hardware) ?

  • @chaoukisouissi7092
    @chaoukisouissi7092 2 роки тому +1

    You are the best , bravo bravo🙏

    • @KodeKloud
      @KodeKloud  2 роки тому

      Thanks a ton! Your support makes all the difference 💙

  • @ofiry
    @ofiry Рік тому

    Amazing video. you basically answered all my questions!

    • @KodeKloud
      @KodeKloud  Рік тому +1

      Thank you for the appreciation. You can check our videos related to DevOps and subscribe to our channel to stay updated with all the latest tools.

  • @diskmandata4
    @diskmandata4 4 роки тому +5

    In order to ping host itself one might need to bring loopback iface UP. Also to ping link host specify netmask /24 explicitly when you add your IP address, otherwise you might get "Network is unreachable" error.

    • @StanislavBashkirtsev
      @StanislavBashkirtsev 3 роки тому

      And if you already have this error and want to delete the incorrect IP address: ip -n red addr del 192.168.15.1/32 dev veth-red

    • @AimAmit
      @AimAmit 3 роки тому

      you are life saver man. Thanks

    • @moody_weirdo
      @moody_weirdo 2 роки тому

      Thank you this fixed it for me :D
      To be more exact, first, as Stani said, delete the address you added to the interface:
      ip -n red addr del 192.168.15.1/32 dev veth-red
      Then, rerun the command that was featured in the tutorial except that you explicitly add the /24 at the end of the IP:
      ip -n red addr add 192.168.15.1/24 dev veth-red

  • @edipocdf
    @edipocdf Рік тому +1

    wow, really high level content, tks a lot for this.

  • @sujjalsheth2576
    @sujjalsheth2576 4 роки тому +1

    Appreciated, very simple and effective...

    • @KodeKloud
      @KodeKloud  4 роки тому

      Glad it helped. Please subscribe to our channel for more such videos 😊

  • @arulmurukan1611
    @arulmurukan1611 4 місяці тому

    Great Explanation !!

  • @jjames7206
    @jjames7206 3 роки тому +1

    This is great great explanation!!

    • @KodeKloud
      @KodeKloud  3 роки тому

      Thanks👍
      Please subscribe and encourage us to provide more such quality content.

  • @tahar1234
    @tahar1234 2 роки тому +1

    Excellent, that all I can say, THANK YOU

  • @evolagenda
    @evolagenda 3 роки тому

    After ensuring the prefix was ip/netmask I also had to add an ip in the same range as the namespaces to the vswitch or "bridge" which was confusing since nothing is being routed.
    sudo ip addr add / dev
    You can also set this to n.n.n.0/

  • @crutz3064
    @crutz3064 3 роки тому

    This is actually explained so well

  • @deepakreddy6887
    @deepakreddy6887 3 роки тому

    I was trying to execute below and stuck at 13:12
    sudo iptables -t nat -A POSTROUTING -s 192.168.15.0/24 -j MASQUERADE
    sudo ip netns exec blue ping 192.168.0.3 --> still no response back. Any suggestions as to why? Thanks for the excellent video.

  • @reddinghiphop1
    @reddinghiphop1 Рік тому +1

    Fantastic Video

  • @pengdu7751
    @pengdu7751 4 роки тому

    best 15 minutes I've spent today! thanks!

  • @kalimuthu6831
    @kalimuthu6831 3 роки тому +1

    Awesome video!!! Keep it up.

  • @ujjwalrastogi9100
    @ujjwalrastogi9100 4 роки тому

    Thnks for informative vedio, this clear lots of thing for me regarding namespaces

  • @vaibhavmewada4508
    @vaibhavmewada4508 8 місяців тому

    Nice explanation

  • @miggyshiggy
    @miggyshiggy 2 роки тому +1

    Great visuals

  • @zyymcu
    @zyymcu 5 років тому

    Great work ! This video deserves more thumb up! Thank you very much.

  • @milossimicsimo
    @milossimicsimo 4 роки тому +2

    This is so damn good! Well explained and easy to follow.! Great source, thanks!

  • @rarrawer
    @rarrawer 5 років тому +1

    Thank you for explaining this.
    I feel I have a much greater understanding of this topic as a result of this video.

  • @mouhammaddiakhate3546
    @mouhammaddiakhate3546 4 роки тому +1

    This man is a genious.

    • @KodeKloud
      @KodeKloud  4 роки тому

      Thanks!😊😊😊 Please subscribe to our channel for more such amazing videos.

  • @tedpeng1862
    @tedpeng1862 4 роки тому

    this is really awesome explaination

  • @damirtheone
    @damirtheone 2 роки тому

    Well done! It seems like a too simple, too basic tutorial, but actually it covers, in an extremely simple way, so many important facts (I would say everything for the basic communication between namespaces/host/internal/external networks).

    • @KodeKloud
      @KodeKloud  2 роки тому

      Hello, thank you for watching our video. We are glad that you liked our video. Do subscribe and stay connected with us. Cheers :)

  • @yxs8495
    @yxs8495 5 років тому +3

    Like @Honey Bee below I had to add full CIDR address. Also make sure all network interfaces are up e.g. sudo ip link set veth-blue-br up etc. This is not shown in the video

  • @zenancai4656
    @zenancai4656 4 роки тому +1

    Amazing video

    • @KodeKloud
      @KodeKloud  4 роки тому

      Thanks! Please subscribe to the channel and support us.

  • @Kodreanu23
    @Kodreanu23 4 роки тому

    Fantastic video! So short, down to the point. Thank you! Subscribed.

  • @zeeshanakhtar8081
    @zeeshanakhtar8081 4 роки тому

    Hi Mumshad,
    Thank soo much for video took me weeks to understand everything which you amazingly covered in just 15min.
    If possible also touch CI/CD pipeline (Jenkins) auto deployment networks within containers
    May Allah always bless you

  • @sudhiris056
    @sudhiris056 5 років тому

    Excellent explanations. Super liked it... Thank you so much for this.

  • @noobinpubg
    @noobinpubg 4 місяці тому

    it is amazing🎉🎉🎉 thank you very much

  • @leamon9024
    @leamon9024 4 роки тому

    Awesome explanation! Thanks for all the hard work. Appreciate your effort.

  • @moody_weirdo
    @moody_weirdo 2 роки тому

    If you can't ping after the iptables rule (at 13:20), then it is probably because you have to enable IP forwarding. You can easily do it with this command:
    sysctl -w net.ipv4.ip_forward=1

    • @KodeKloud
      @KodeKloud  2 роки тому

      For your reference: kubernetes.io/docs/setup/production-environment/container-runtimes/#forwarding-ipv4-and-letting-iptables-see-bridged-traffic

  • @UlissesOliva
    @UlissesOliva 5 років тому

    That is completely perfect! Thank you vary much.
    It looks like that it's worth enough following this channel.

  • @bozhanboyadzhiev9889
    @bozhanboyadzhiev9889 3 роки тому

    Please update your video with proper commands for creating second interface and bridging two namespaces as well , Thanks!

    • @KodeKloud
      @KodeKloud  2 роки тому

      Hey Bozhan, thank you for watching our video and for the honest feedback. We will definitely look into this. Do subscribe, like and share to stay connected with us. Cheers :)

  • @PurnachandMedisetty
    @PurnachandMedisetty Рік тому

    is it possible to create the bridge network in a namespace instead?

  • @marcello4258
    @marcello4258 2 роки тому +1

    so does this work for unprivileged container as well?

    • @KodeKloud
      @KodeKloud  2 роки тому

      "Please refer this link:
      subscription.packtpub.com/book/cloud-&-networking/9781785888243/6/ch06lvl1sec44/unprivileged-versus-privileged-containers"

  • @jen_peter
    @jen_peter 2 роки тому +1

    Hi, It's an amazing summary! I was wondering if this method can be used to run separate programs in the separate namespaces and when I communicate with an outside API, will the API see separate IP addresses as well or will se the same since it's coming from the same Bridge and host?
    Thanks!

    • @KodeKloud
      @KodeKloud  Рік тому

      If you create a new network namespace and run a process in it, the process will have its own network stack and IP address. If you use a network namespace with a shared network stack, then the namespace and the host will share the same network stack and IP address.

  • @oshoashram
    @oshoashram 5 років тому

    Thanks ,wonderful explanation !!

  • @HXYZZZ
    @HXYZZZ 4 роки тому

    wow. Great explanation. thanks for putting this together.

  • @tamilselvantech
    @tamilselvantech 3 місяці тому

    I got some error when applying the PORT Forwarding rules and resolved it by changing `iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.15.2:80`.

  • @solracthegreat1002
    @solracthegreat1002 3 роки тому

    Many thanks for the great explanation, is it the same to link a Veth to a container than to a name space? Can you explain it using LXD please?

  • @chandrag2536
    @chandrag2536 4 роки тому

    Fantastic video...thank you.

  • @neilthomas5026
    @neilthomas5026 3 роки тому

    Great content tbh 👍🏾👍🏾👍🏾

  • @drakezen
    @drakezen 5 років тому

    Great explanation. Much appreciated!

  • @alexandersmirnov4274
    @alexandersmirnov4274 3 роки тому +1

    you are the best!!!

    • @KodeKloud
      @KodeKloud  3 роки тому

      Glad 🙂. Please subscribe and encourage us to provide more such quality content.

  • @fase29
    @fase29 4 роки тому

    very well explained, great job!

  • @kazifaisal-rj9js
    @kazifaisal-rj9js 8 місяців тому

    very good video

  • @coolcatson3
    @coolcatson3 4 роки тому +2

    I needed to add /24 to the end of the ip's for this to work.
    ip -n red addr add 192.168.15.2/24 dev veth-red
    ip -n blue addr add 192.168.15.3/24 dev veth-blue

  • @silvertad3833
    @silvertad3833 4 роки тому

    excellent job

  • @quasar778
    @quasar778 4 роки тому +1

    Pinging from one namespace (via bridge) to another doesn't work for me, if I have docker installed in my system. Do the docker's iptable rules interfere here? arp though shows the peers' entries in respective namespaces

    • @Steven-ef4zn
      @Steven-ef4zn 4 роки тому

      I have exact the same issue. Are you able to solve the issue?

    • @flashdead12
      @flashdead12 4 роки тому

      Make sure veth-red-br and veth-blue-br are up (in my case I had to manualy turn them on (ip link set dev veth-red-br up, ip link set dev veth-blue-br up).

  • @leelathati2280
    @leelathati2280 5 років тому

    Great explanation!! Thanks.

  • @hvs.1509
    @hvs.1509 3 роки тому

    How can you make ns persistent across reboots.