ডকার নেটওয়ার্কিং অক্ষম করা হয়েছে: সতর্কতা: আইপিভি 4 ফরোয়ারিং অক্ষম করা হয়েছে। নেটওয়ার্কিং কাজ করবে না


109

হোস্টের ধারকগুলি "হঠাৎ" বাইরের-বিশ্বের পাত্রে সংযোগ হারিয়ে ফেলে। তবে কিছু হোস্ট সতেজ হয়ে উঠেছে এবং হঠাৎ আমাদের নীচের পরিস্থিতিটি ছিল:

  1. হোস্ট অন্যান্য হোস্টের সাথে যোগাযোগ করতে পারে।
  2. হোস্টে চলমান ধারকগুলি অন্য হোস্টের সাথে যোগাযোগ করতে পারে না।

এখানে একটি উদাহরণ:

[root@pprdespap322 deploy]# ping ci.docker.company.net
PING pprdespap324.corp.company.net (10.137.55.22) 56(84) bytes of data.
64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=1 ttl=64 time=0.282 ms
64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=2 ttl=64 time=0.341 ms
^C
--- pprdespap324.corp.company.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.282/0.311/0.341/0.034 ms

এখন, ধারক থেকেই, আমরা একই হোস্টটিকে পিং করতে পারি না:

[root@pprdespap322 deploy]# docker run -ti quay.io/coreos/registry ping ci.docker.company.net
WARNING: IPv4 forwarding is disabled. Networking will not work.
ping: unknown host ci.docker.company.net

আমি প্রথমবার এই সতর্কতাটি দেখেছিলাম ডকারের প্রাথমিক সংস্করণগুলিতে ... ডকারকে 1.9.1 এবং 1.10.3 থাকা, এই সমস্যাটি কীভাবে সমাধান করা যায়?

উত্তর:


187

আমি http://chrisgilmerproj.github.io/ubuntu/network/docker/2013/09/05/ipv4-forwarding-and-docker.html পর্যালোচনা করেছি এবং এটি আমাকে হোস্টের সমস্যা সমাধানে সহায়তা করেছে।

আমি নিম্নলিখিতগুলি /etc/sysctl.conf এ যুক্ত করেছি :

net.ipv4.ip_forward=1

আমি তখন নেটওয়ার্ক পরিষেবাটি আবার চালু করে সেটিংসটি বৈধতা দিয়েছি:

[root@pprdespap322 deploy]#  systemctl restart network
[root@pprdespap322 deploy]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
[root@pprdespap322 deploy]# docker run -ti quay.io/coreos/registry ping ci.docker.company.net
PING pprdespap324.corp.company.net (10.137.55.22) 56(84) bytes of data.
64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=1 ttl=63 time=0.329 ms
64 bytes from pprdespap324.corp.company.net (10.137.55.22): icmp_seq=2 ttl=63 time=0.306 ms
^C
--- pprdespap324.corp.company.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.306/0.317/0.329/0.021 ms

সমস্ত পাত্রে এখন বাইরের বিশ্বের পাত্রে যোগাযোগ করতে পারে!


15
উবুন্টুতে আমার sudo sysctl -pসেটিংসটি পুনরায় লোড করার প্রয়োজন ছিল (systemctl পাওয়া যায় নি)।
নাচো কলোমা

4
হোস্টের (পরীক্ষার জন্য) কেবলমাত্র ধারকটি অ্যাক্সেস করার চেষ্টা করার সময় এই সমাধানটি সেন্টোস 7 এ প্রয়োজন হয়েছিল।
ডেভ সি

আমি একটি উইন্ডোজ হোস্টে চালিত পাত্রে একই রকম রয়েছি (হাইপার-ভিতে)। উইন্ডোজের জন্য কোথাও কি একই ধরণের সেটিং আছে?
অ্যান্টনি মাস্টারিয়ান

4
তবে কেন এটি দরকার? নেটওয়ার্ক ফরওয়ার্ড না করে নিখুঁতভাবে কাজ করছে, সুতরাং
ডকারের এটিরও দরকার নেই

4
@ ব্যবহারকারী 3338098, কারণ অন্তর্নিহিত অভ্যন্তরীণ নেটওয়ার্ক ইন্টারনেট অ্যাক্সেস পাওয়ার জন্য ইন্টারফেসের মধ্যে ট্র্যাফিক ফরোয়ার্ড করছে। এটি কোনও লিনাক্স সিস্টেমে ইঙ্গিত করার জন্য প্রয়োজন ছিল যে কোনওভাবে নেটওয়ার্ক রাউটারটি দীর্ঘ সময়ের জন্য যেভাবে ইন্টারফেসের মধ্যে ট্র্যাফিক রুট করে। এটি ডিফল্ট হিসাবে বন্ধ করা হয়েছে কারণ বেশিরভাগ লিনাক্স বাক্সগুলি কোনও ফরোয়ার্ডিং করে না এবং দুর্ঘটনাবশত ট্র্যাফিক ফরোয়ার্ড করা একটি নিরাপত্তা হুমকিস্বরূপ হতে পারে যা আপনার নেটওয়ার্কটিকে সর্বোত্তমভাবে জটিল করে তুলবে।
জোশিয়ার

29

ডকার পরিষেবাটি পুনরায় চালু করার চেষ্টা করুন।

উবুন্টুর জন্য যেমন:

$ sudo systemctl restart docker


6
CentOS7-এ এই সমস্যাটি হঠাৎ উপস্থিত হয়েছিল এবং কেবল ডকার পরিষেবাটি পুনরায় চালু করা পুরোপুরি কাজ করেছিল।
স্টিভেন 87vt

4
এটি কাজ করে, আমাকে নার্ভাস করে দেয় যে আমি জানি না কেন এটি কাজ করে। কারও কি কোনও ক্লু আছে? বা ব্যর্থতার পুনরাবৃত্তি করার কমপক্ষে পদক্ষেপ?
জোশিয়ার

প্রজনন? ডকার আপগ্রেড করার পরে এবং রিবুট করার পরে এটি ঘটেছিল (ওরাকল লিনাক্স সার্ভারে কার্নেলের সাহায্যে 7.8 প্রকাশিত হয়: - 3.10.0-1127.el7.x86_64 # 1 এসএমপি বুধ এপ্রিল 1 10:20:09 পিডিটি 2020 x86_64 x86_64 x86_64 জিএনইউ / লিনাক্স - আপগ্রেড ডকার টু: ডকার-সি -3: 19.03.8-3.el7.x86_64 ইয়াম রেপোর মাধ্যমে: @ ডকার-অল 7-প্রোড)
জোহানেসবি

4
এটি কাজ করে, ধন্যবাদ! কিন্তু কেউ জানে কীভাবে কাজটি করেছে?
c0degeas

18

এটি ঠিক করতে কমান্ড --network=hostসহ যুক্ত করার চেষ্টা করুন docker run

https://medium.com/@gchandra/docker-ipv4-forwarding-is-dis اهل-8499ce59231e


4
রান করার সময় একটি একক ধারক জন্য দরকারী। প্যারামিটারটি হল--net=host
সর্বোচ্চ 13

4
এখন এই পদ্ধতির সমস্যাটি হ'ল যদি আপনার জেনকিনসের মতো সমান্তরালভাবে একাধিক পাত্রে চলতে থাকে তবে বন্দরগুলি ভাগ করা হয় এবং আপনি সেই ভাগ করা পোর্টগুলিতে সমস্যাগুলি আঘাতের ঝুঁকিপূর্ণ হন। সুনির্দিষ্ট হওয়ার জন্য আমরা সাইপ্রাসের সাথে e2e পরীক্ষা চালিয়ে যাচ্ছি এবং বন্দরগুলি ইতিমধ্যে গ্রহণ করা হওয়ায় আমরা Xvfb এর সাথে নতুন উদাহরণ আনতে সক্ষম হচ্ছি না issues
অ্যালেক্স রাশকভ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.