44bits / feedback

5 stars 0 forks source link

ip로 직접 만들어보는 네트워크 네임스페이스와 브리지 네트워크 - 컨테이너 네트워크 기초 2편 #69

Open utterances-bot opened 3 years ago

utterances-bot commented 3 years ago

ip로 직접 만들어보는 네트워크 네임스페이스와 브리지 네트워크 - 컨테이너 네트워크 기초 2편 | 44BITS

네트워크 네임스페이스는 프로세스 간의 네트워크를 격리해주는 매우 강력한 도구입니다. 리눅스에서는 ip를 사용해 네트워크를 조회하는 것 뿐만 아니라 네트워크 네임스페이스를 제어하는 용도로도 사용됩니다. 이 글에서는 네트워크 네임스페이스 사용법과

https://www.44bits.io/ko/post/container-network-2-ip-command-and-network-namespace

junhojang commented 3 years ago

좋은 내용 감사합니다! :)

sunhyung2007 commented 2 years ago

안녕하세요! 컨테이너의 네임스페이스 nat에 관한 내용 감사합니다. 다름 아니라 제가 컨테이너를 하나 만들어서 거기의 네트워크 네임스페이스에서 외부로 핑을 보내면 잘 되지만 /etc/netns/컨테이너이름/resolv.conf에 nameserver 8.8.8.8을 작성했음에도 ip netns exec 컨테이너 ping google.com이 안되더라구요. google.com을 8.8.8.8로 바꾸면 잘되는데..... 아무래도 도메인이 제대로 안되는것 같은데 resolv.conf에 nameserver를 설정하는 것 이외에 해결방법이 있을까요...?

nacyot commented 2 years ago

junhojang // 감사합니다! sunhyung2007 // 환경에 따라 다를 것 같긴한데, resolv.conf를 설정해줘야할 듯 합니다. 글에서 ip 사용한 예제는 테스트를 위한 거라서 제대로 사용하려면 기본적인 셋업이 같이 진행되어야 하고,

Docker로 컨테이너를 만들어보면 호스트 환경을 기반으로 자동으로 잡아줬던 것 같긴합니다(확인이 필요해서, 아주 정확한 정보는 아닙니다).

heumsi commented 2 years ago

좋은 글 감사합니다 :) 어려울 수 있는 내용인데, 차분히 잘 설명해주셔서 쉽게 이해할 수 있었습니다.

markman76 commented 2 years ago

좋은 글 감사드려요. 이해하기 쉽게 설명과 그림까지 있어서 따라서 해보고 잘 동작합니다. 이제 도커 컨테이너 네트워크를 학습할려고 합니다.

theLook2047 commented 1 year ago

어려운 내용을 너무 쉽게 설명해 주셔서 막힘없이 읽었습니다. 고맙습니다^^. 그리고, 언제 확인하실지는 잘 모르겠지만, 질문 하나 남깁니다. 위에서 veth 대신 tap 을 사용해도 되는 건가요? (둘의 용도를 구글링 수준으로만 학습해서 좀 헷갈리네요.)

nuovothoth commented 5 months ago

nacyot님 덕분에 네임스페이스 네트워크 전반을 이해하는데 수월했습니다. 감사합니다! 글의 내용을 바탕으로 AWS EC2 Linux2023으로 몇가지 테스트를 했는데 포스트글과 살짝 다른 부분이 있어서 질문드립니다. (iptables는 해당 EC2 이미지에 설치되어있지 않아 yum install iptables2로 설치했습니다.)

'브리지 네트워크1: 브리지로 컨테이너들 연결하기'에서 container4와 container5를 br0에 연결하고 container4에서 container5에 ping을 보내면 응답이 오지 않는데, 이유가 iptables의 FORWARD 체인이 DROP이기 때문이라고 하셨는데요, 실습을 해봤더니 FORWARD 체인이 DROP이더라도 ping이 정상적으로 되는것을 확인했습니다. 생각해봤을 때, container4와 container5는 10.201.0.4/24 10.201.0.5/24로 같은 네트워크 대역대에 있고, 이 경우에는 브릿지(L2)에서 포워딩되기 때문에 iptables의 rule을 적용받지 않을 것 같습니다. 제가 놓친 부분이 있을까요?