Network Namespaces Basics Explained in 15 Minutes

  Рет қаралды 104,392

KodeKloud

KodeKloud

Күн бұрын

🆓Join our Slack Community for FREE: kode.wiki/JoinOurSlackCommunity
Get introduced to the basics of Network Namespaces in Linux.
Access full course here: kodekloud.com/p/certified-kub...
Network Namespaces are used by containerization technologies like Docker to isolate network between containers.
We’ll start with a simple host. As we know already containers are separated from the underlying host using namespaces. So what are namespaces?
When the container is created we create a network namespace for it that way it has no visibility to any network-related information on the host. Within its namespace the container can have its own virtual interfaces, routing and ARP tables. The container has an interface.
To create a new network namespace on a Linux host, run the ip nets add command. In this case we create two network namespaces read and blue. To list the network namespaces run the ip netns command.
To list the interfaces on my host, I run the ip link command. I see that my host has the loopback interface and the eth0 interface. Now, how do we view the same within the network namespace we created? How do we run the same command within the red or blue namespace? Pre-fix the command with the command ip netns exec followed by the namespace name which is red. Now the ip link command will be executed inside the red namespace. Another way to do it is to add the -n option to the original ip link command. Both of these are the same, the second one is simpler though. But remember this only works if you intend to run the ip command inside the namespace. As you can see it only lists the loopback interface. You cannot see the eth0 interface on the host. So with namespaces we have successfully prevented the container from seeing the hosts interface.
#NetworkNamespacesBasics #KodeKloud

Пікірлер: 210
@KodeKloud
@KodeKloud 4 жыл бұрын
Learning Kubernetes is essential for any DevOps professional. Learn, practice, and get certified on Kubernetes: kodekloud.com/p/certified-kubernetes-administrator-with-practice-tests
@manishfoodtechs
@manishfoodtechs 4 жыл бұрын
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
@abobakrabdellah7598
@abobakrabdellah7598 Күн бұрын
I rarely comment on any video. But this amazing video forces me to comment. Great explanation. Thanks!
@agytjax
@agytjax 3 жыл бұрын
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 3 жыл бұрын
Welcome🙏. All our videos are simple and easy to understand. Please subscribe to our channel & help us create more such videos.
@nikhilpurwant5030
@nikhilpurwant5030 2 жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
this is what i was missing.
@helgestegemoen73
@helgestegemoen73 11 ай бұрын
That helped me. Thanks :)
@zahurulhaque6377
@zahurulhaque6377 3 жыл бұрын
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.
@michalkosinski4459
@michalkosinski4459 Жыл бұрын
Same for me in Fedora , in other case I got Network is unreachable and cannot even ping own iface . Br, Michal
@helgestegemoen73
@helgestegemoen73 11 ай бұрын
Thanks. This worked for me on Ubuntu :)
@NoProblem76
@NoProblem76 4 жыл бұрын
oh wow i've been trying to learn this for years and u made it so clear.
@TrungLe-lw4zm
@TrungLe-lw4zm 4 жыл бұрын
This is probably one of the best video that could explain this concept
@UlissesESA
@UlissesESA 4 жыл бұрын
That is completely perfect! Thank you vary much. It looks like that it's worth enough following this channel.
@shrutidalvi9202
@shrutidalvi9202 4 жыл бұрын
This is the best explanation ever! Thank you so much.
@leamon9024
@leamon9024 4 жыл бұрын
Awesome explanation! Thanks for all the hard work. Appreciate your effort.
@pengdu7751
@pengdu7751 3 жыл бұрын
best 15 minutes I've spent today! thanks!
@Kodreanu23
@Kodreanu23 4 жыл бұрын
Fantastic video! So short, down to the point. Thank you! Subscribed.
@shrish75
@shrish75 4 жыл бұрын
One of the best explanation in 15 mins
@HosseinHosseinvand
@HosseinHosseinvand 3 жыл бұрын
Simple and Amazing. God bless you
@drakezen
@drakezen 5 жыл бұрын
Great explanation. Much appreciated!
@sandeepr5007
@sandeepr5007 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 :)
@sudhiris056
@sudhiris056 4 жыл бұрын
Excellent explanations. Super liked it... Thank you so much for this.
@zyymcu
@zyymcu 4 жыл бұрын
Great work ! This video deserves more thumb up! Thank you very much.
@HXYZZZ
@HXYZZZ 4 жыл бұрын
wow. Great explanation. thanks for putting this together.
@crutz3064
@crutz3064 2 жыл бұрын
This is actually explained so well
@oshoashram
@oshoashram 4 жыл бұрын
Thanks ,wonderful explanation !!
@saiyjin98
@saiyjin98 3 жыл бұрын
This is by FAR the best description of network namespaces I've ever seen! Thank you for putting this together!
@christymathew9035
@christymathew9035 2 жыл бұрын
God level teaching....Im literally speechless.Was struggling with openstack ping issues.this saved my life.
@imanebt8617
@imanebt8617 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.
@yoavklein123
@yoavklein123 2 жыл бұрын
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
@fase29
@fase29 4 жыл бұрын
very well explained, great job!
@leelathati2280
@leelathati2280 4 жыл бұрын
Great explanation!! Thanks.
@ravindra6028
@ravindra6028 3 жыл бұрын
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
@spoown007
@spoown007 3 жыл бұрын
Very clear technical explanation , you can understand how networking is working within container, and between them! Really excellent, please continue...
@KodeKloud
@KodeKloud 3 жыл бұрын
Thanks for stopping by. Hope you saw our other videos on DevOps and other important tools.👍
@sir_enuf
@sir_enuf Жыл бұрын
This visualisation is just amazing. Thanks
@KodeKloud
@KodeKloud Жыл бұрын
Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!
@samoh96
@samoh96 2 жыл бұрын
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 :)
@iammrchetan
@iammrchetan 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 жыл бұрын
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!
@user-gl1fv2tu3h
@user-gl1fv2tu3h 3 жыл бұрын
Watching this video for the second time and it is as helpful as it was before, thank you so much 😁
@KodeKloud
@KodeKloud 2 жыл бұрын
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.
@ujjwalrastogi9100
@ujjwalrastogi9100 3 жыл бұрын
Thnks for informative vedio, this clear lots of thing for me regarding namespaces
@ECX0x100h
@ECX0x100h 2 жыл бұрын
This is the best video on namespaces I've come across thus far.
@KodeKloud
@KodeKloud 2 жыл бұрын
Comments like these motivate us to do more such videos. Thanks! Please subscribe to our channel for more such videos 😊
@ECX0x100h
@ECX0x100h 2 жыл бұрын
@@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.
@upsangelhk
@upsangelhk Ай бұрын
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.
@a143r
@a143r 3 жыл бұрын
excellent explanation, I. would watch this video 100 times, thanks
@KodeKloud
@KodeKloud 3 жыл бұрын
Wow, thanks! Please subscribe to the channel and support us.
@mortezanik1148
@mortezanik1148 Жыл бұрын
Thank you for Awesome explanation!
@KodeKloud
@KodeKloud Жыл бұрын
You're very welcome!
@zeeshanakhtar8081
@zeeshanakhtar8081 3 жыл бұрын
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
@tedpeng1862
@tedpeng1862 3 жыл бұрын
this is really awesome explaination
@milossimicsimo
@milossimicsimo 3 жыл бұрын
This is so damn good! Well explained and easy to follow.! Great source, thanks!
@KodeKloud
@KodeKloud 3 жыл бұрын
Thanks!😊😊😊
@jbragg33
@jbragg33 3 ай бұрын
Amazing explanation, very clear, thank you
@KodeKloud
@KodeKloud 2 ай бұрын
Glad it was helpful!
@chandrag2536
@chandrag2536 4 жыл бұрын
Fantastic video...thank you.
@AnantaAkash.Podder
@AnantaAkash.Podder Жыл бұрын
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 :)
@ofiry
@ofiry 5 ай бұрын
Amazing video. you basically answered all my questions!
@KodeKloud
@KodeKloud 5 ай бұрын
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.
@sujjalsheth2576
@sujjalsheth2576 3 жыл бұрын
Appreciated, very simple and effective...
@KodeKloud
@KodeKloud 3 жыл бұрын
Glad it helped. Please subscribe to our channel for more such videos 😊
@moldrienperez9052
@moldrienperez9052 2 жыл бұрын
Great content! Very useful in this moment for me. Thank you very much!
@KodeKloud
@KodeKloud 2 жыл бұрын
Glad it was helpful!
@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.
@pankajchaurasia9105
@pankajchaurasia9105 Жыл бұрын
Awesome explanation. Simply superb video
@KodeKloud
@KodeKloud Жыл бұрын
Hello, thank you for watching our video. We are glad that you liked our video. Do subscribe and stay connected with us. Cheers :)
@hsubyron2277
@hsubyron2277 Жыл бұрын
So well explained!!
@KodeKloud
@KodeKloud Жыл бұрын
Glad it was helpful!
@tahar1234
@tahar1234 2 жыл бұрын
Excellent, that all I can say, THANK YOU
@KodeKloud
@KodeKloud 2 жыл бұрын
Glad you enjoyed it!
@zaherer2008
@zaherer2008 3 жыл бұрын
Teaching is a talent and you are amazingly talented. Best explanation ever
@KodeKloud
@KodeKloud 3 жыл бұрын
Wow, thank you! 😊
@vaibhavmewada4508
@vaibhavmewada4508 Ай бұрын
Nice explanation
@KimsesizKedi
@KimsesizKedi Жыл бұрын
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 Жыл бұрын
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
@edipocdf
@edipocdf 9 ай бұрын
wow, really high level content, tks a lot for this.
@KodeKloud
@KodeKloud 9 ай бұрын
Glad you enjoyed it!
@sovsemnetot
@sovsemnetot 3 жыл бұрын
perfect explanation
@KodeKloud
@KodeKloud 3 жыл бұрын
Glad you liked it. Please subscribe to the channel and support us.
@kalimuthu6831
@kalimuthu6831 2 жыл бұрын
Awesome video!!! Keep it up.
@jigneshpatel5469
@jigneshpatel5469 Жыл бұрын
Bro. This is awesome. You helped me tremendously to understand this
@KodeKloud
@KodeKloud Жыл бұрын
Glad it helped!
@mrashad_com
@mrashad_com 2 жыл бұрын
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!
@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 :)
@aliakbarhemmati31
@aliakbarhemmati31 5 жыл бұрын
Another great content
@user-jn5jg4lm9k
@user-jn5jg4lm9k 23 күн бұрын
Wonderful explanation. If you do the same for other material it worth it spending the time to learn it
@amilcarchissola2262
@amilcarchissola2262 Жыл бұрын
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 Жыл бұрын
Hello, thank you for watching our video. We are glad that you liked our video. Do subscribe and stay connected with us. Cheers :)
@g.t.3482
@g.t.3482 2 жыл бұрын
Thanks for posting this.. Great job!! It gets very confusing without animation and color coded diagrams.
@KodeKloud
@KodeKloud 2 жыл бұрын
Glad it was helpful!
@chaoukisouissi7092
@chaoukisouissi7092 Жыл бұрын
You are the best , bravo bravo🙏
@KodeKloud
@KodeKloud Жыл бұрын
Thanks a ton! Your support makes all the difference 💙
@namitaigit
@namitaigit 3 жыл бұрын
Amazing!
@victoriabressan4557
@victoriabressan4557 2 жыл бұрын
excelente!
@jjames7206
@jjames7206 3 жыл бұрын
This is great great explanation!!
@KodeKloud
@KodeKloud 2 жыл бұрын
Thanks👍 Please subscribe and encourage us to provide more such quality content.
@silvertad3833
@silvertad3833 3 жыл бұрын
excellent job
@saeedp92
@saeedp92 2 жыл бұрын
So great
@shalinikabilan7128
@shalinikabilan7128 3 жыл бұрын
Exellent job
@eryoung2172
@eryoung2172 3 жыл бұрын
Wow, a helpful video!
@neilthomas5026
@neilthomas5026 2 жыл бұрын
Great content tbh 👍🏾👍🏾👍🏾
@navkang4
@navkang4 3 жыл бұрын
hats off !
@vellano.1637
@vellano.1637 5 жыл бұрын
very good ! like it.
@reddinghiphop1
@reddinghiphop1 Жыл бұрын
Fantastic Video
@KodeKloud
@KodeKloud Жыл бұрын
Thank you very much!
@RegularEverydayNormalGuy
@RegularEverydayNormalGuy 11 ай бұрын
That intro is very smooth
@KodeKloud
@KodeKloud 10 ай бұрын
Thanks a ton! Your support makes all the difference 💙
@tomknud
@tomknud 9 ай бұрын
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 8 ай бұрын
Thank you so much : ) We are glad to be a part of your learning journey
@gulyasbendeguz2033
@gulyasbendeguz2033 4 жыл бұрын
Hey! May I ask what kind of program are you using for creating these videos? I want to learn the trick to use the terminal command and its output display within my presentations! Thanks in advance!
@kshitizjain9557
@kshitizjain9557 3 жыл бұрын
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 😊
@ClaudioPascual
@ClaudioPascual 2 жыл бұрын
Excellent tutorial. I had to explicitly bring up the `veth-*-br` devices -I don't see that in your video.
@miggyshiggy
@miggyshiggy Жыл бұрын
Great visuals
@KodeKloud
@KodeKloud Жыл бұрын
Thanks a lot!
@kazifaisal-rj9js
@kazifaisal-rj9js 23 күн бұрын
very good video
@Angluar
@Angluar 3 жыл бұрын
Very Nice Video! Thx XD
@AronW4
@AronW4 2 жыл бұрын
Like * 1000000000 brilliant lesson
@imanebt8617
@imanebt8617 3 жыл бұрын
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.
@solracthegreat1002
@solracthegreat1002 2 жыл бұрын
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?
@vikas5951
@vikas5951 2 жыл бұрын
Should we execute the commands on two different terminals ? should the bridge be created outside of both blue and red namespaces?
@alexandersmirnov4274
@alexandersmirnov4274 3 жыл бұрын
you are the best!!!
@KodeKloud
@KodeKloud 2 жыл бұрын
Glad 🙂. Please subscribe and encourage us to provide more such quality content.
@zenancai4656
@zenancai4656 3 жыл бұрын
Amazing video
@KodeKloud
@KodeKloud 3 жыл бұрын
Thanks! Please subscribe to the channel and support us.
@evolagenda
@evolagenda 2 жыл бұрын
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/
@Dipinthomas2003
@Dipinthomas2003 5 жыл бұрын
Hello Mumshad, Awesome video as always, thank you. Please let us know in few words how is network namespace different from using CNI like calico with namespace.
@Dipinthomas2003
@Dipinthomas2003 5 жыл бұрын
@@KodeKloud cool thank you for explanation.
@jen_peter
@jen_peter 2 жыл бұрын
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.
@mouhammaddiakhate3546
@mouhammaddiakhate3546 3 жыл бұрын
This man is a genious.
@KodeKloud
@KodeKloud 3 жыл бұрын
Thanks!😊😊😊 Please subscribe to our channel for more such amazing videos.
@coolcatson3
@coolcatson3 3 жыл бұрын
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
@bimbumbamdolievori
@bimbumbamdolievori 3 жыл бұрын
enlightening
@KodeKloud
@KodeKloud 3 жыл бұрын
Thanks!
@diskmandata4
@diskmandata4 3 жыл бұрын
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 2 жыл бұрын
you are life saver man. Thanks
@sir_enuf
@sir_enuf Жыл бұрын
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
@yxs8495
@yxs8495 4 жыл бұрын
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
@imanebt8617
@imanebt8617 3 жыл бұрын
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) ?
Monster dropped gummy bear 👻🤣 #shorts
00:45
Yoeslan
Рет қаралды 13 МЛН
Kubernetes - Services Explained in 15 Minutes!
14:03
KodeKloud
Рет қаралды 220 М.
Containers unplugged: Linux namespaces - Michael Kerrisk
53:39
NDC Conferences
Рет қаралды 19 М.
Proxmox NETWORKING: VLANs, Bridges, and Bonds!
25:09
apalrd's adventures
Рет қаралды 121 М.
#3 Пространства имён: введение -  Docker
23:39
JavaScript.Ninja
Рет қаралды 13 М.
Understanding Kubernetes Networking. Part 1: Container Networking
56:11
The Learning Channel
Рет қаралды 73 М.
Linux Networking: How The Kernel Handles A TCP Connection
1:36:50
Deep Linux
Рет қаралды 70 М.
What's in a Name? - Linux Namespaces
21:13
DJ Ware
Рет қаралды 17 М.
Monster dropped gummy bear 👻🤣 #shorts
00:45
Yoeslan
Рет қаралды 13 МЛН