hi, let Avik connect you.
** You can give your thought about this content and request modifications if needed from Ask For Modifications page. Thank You.
** You can check all the posts on the Posts page.
** More about me in the About Me section.
VxLAN overlay network ব্যবহার করে multi-container host networking তৈরি করা [ পর্ব - ২ ]
এই লিখা প্রথম পর্বের ধারাবাহিকতা। প্রথম পর্ব না পড়ে থাকলে পড়ে আসার অনুরোধ রইলো।
অনুরোধ - এই লিখা পড়ে যদি মনে হয় কোন জিনিস যুক্ত করে দিলে ভালো হয় যেটা আমি করি নি ... কাইন্ডলি কমেন্টে জানাবেন অথবা ssavi.ict@gmail.com এ একটা মেইল লিখে দেবেন। আমি ক্রেডিট দিয়ে যুক্ত করে দেবো। কাজ টা করতে গিয়ে বেশ কিছু সমস্যার সম্মুখীন হয়েছিলাম। সেগুলোর যেভাবে সমাধান করেছি তা এই FAQ and Troubleshoot পেজ এ লিখেছি। হয়তো আপনার কাজে লাগতে পারে।
স্টেপ - ১৩ঃ এবার veth0 এবং veth1 ইন্টারফেস এর IP address সেট করবো। সেজন্য নিচের কমান্ড গুলো দেবো এবং log গুলো চেক করবো -
-------------------------------- VM1 এবং VM2 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo ip address add 192.168.1.1/24 dev veth0
vagrant@ubuntu-bionic:~$ sudo ip address add 192.168.2.1/24 dev veth1
vagrant@ubuntu-bionic:~$ sudo ip a
8: veth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 5e:68:e0:15:60:07 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 scope global veth0
valid_lft forever preferred_lft forever
9: veth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether fa:c3:cf:33:02:52 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.1/24 scope global veth1
valid_lft forever preferred_lft forever
প্রশ্ন আসতে পারে... অন্য IP Address কি সেট করা যায়। উত্তর হলো ... হ্যা করা যায়। আমি নিজেও করেছি ... তবে সফলভাবে এক পাশের VM Docker Container থেকে অন্য পাশের VM Docker Container কে PING করাতে পারি নি। হয়তো রাউটিং এর কোথাও ভুল হয়েছিলো। আপনি যদি করতে পারেন তাহলে আমার সাথে শেয়ার করবেন।
স্টেপ - ১৪ঃ ইন্টারফেস গুলো কে Up and Running করবো। এর জন্যে নিচের কমান্ড গুলো দেবো এবং ইন্টারফেস এর মধ্যে UP/UNKNOWN লিখা আছে কিনা এনশিওর করবো।
-------------------------------- VM1 এবং VM2 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo ip link set dev veth0 up mtu 1450
vagrant@ubuntu-bionic:~$ sudo ip link set dev veth1 up mtu 1450
vagrant@ubuntu-bionic:~$ sudo ip a
8: veth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether 5e:68:e0:15:60:07 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 scope global veth0
valid_lft forever preferred_lft forever
inet6 fe80::5c68:e0ff:fe15:6007/64 scope link
valid_lft forever preferred_lft forever
9: veth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether fa:c3:cf:33:02:52 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.1/24 scope global veth1
valid_lft forever preferred_lft forever
inet6 fe80::f8c3:cfff:fe33:252/64 scope link
valid_lft forever preferred_lft forever
এখন থেকে পরবর্তী স্টেপ গুলো খুবই সতর্কতার সাথে করতে হবে। এই স্টেপ গুলো তে খুব বেশি ভুল হয়। এবং ফলাফল ঠিকঠাক PING হয় না। মাথার চুল ছেড়া লাগে।
স্টেপ - ১৫ঃ পরবর্তী স্টেপ হচ্ছে প্রত্যেক টা VM এর মধ্যে আলাদা ভাবে দুটো করে Docker Container সেট করা। এর জন্য নিচের Docker ফাইল কোড স্নিপেট টা ব্যবহার করেছি আমি।
FROM ubuntu
RUN apt update
RUN apt install -y net-tools
RUN apt install -y iproute2
RUN apt install -y iputils-ping
CMD ["sleep", "7200"]
এই কোড টি VM1 এবং VM2 তে পুশ করতে হবে। বা VM এ একটি Dockerfile তৈরি করে সেখানে পেস্ট করতে হবে। আমি (২) নাম্বার মানে ফাইল তৈরি করে পেস্ট করেছি স্নিপেট টি। সেজন্য টার্মিনাল নিচের কমান্ড গুলো লিখবো -
-------------------------------- VM1 এবং VM2 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ touch Dockerfile
vagrant@ubuntu-bionic:~$ vi Dockerfile
এটা করলে টার্মিনাল এর VIM ইডিটরে টেক্সট ইডিট করার ফ্যাসিলিটি ওপেন হবে। সেখানে উপরের স্নিপেট টি Copy করে Paste করবো। এরপর ESC বাটন চাপবো। এরপর, ইডিটরের উপরেই :wq! এই কোড দিলে স্নিপেট টি Dockerfile ফাইলে সেভ হয়ে টার্মিনাল ইডিটর থেকে বেরিয়ে আসবে। এর পর নিচের কমান্ড দিয়ে ঠিকঠাক ফাইল টি লিখা হলো কিনা চেক করবো।
vagrant@ubuntu-bionic:~$ cat Dockerfile
FROM ubuntu
RUN apt update
RUN apt install -y net-tools
RUN apt install -y iproute2
RUN apt install -y iputils-ping
CMD ["sleep", "7200"]
touch <filename> দিয়ে নতুন ফাইল তৈরি করা হয় এবং cat <filename> দিয়ে ফাইলের কন্টেন্ট গুলো টার্মিনাল এ দেখা হয়।
স্টেপ - ১৬ঃ এরপর VM1 এবং VM2 তে দুটো করে Docker Container তৈরি করে নেবো build করা Ubuntu Docker Engine দিয়ে। নিচের কমান্ড গুলো দেবো এবং লগ গুলো চেক করবো -
-------------------------------- VM1 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo docker build . -t ubuntu-docker
Sending build context to Docker daemon 15.36kB
Step 1/6 : FROM ubuntu
.........
Step 6/6 : CMD ["sleep", "7200"]
.........
Successfully built 9ae522bebcb9
Successfully tagged ubuntu-docker:latest
vagrant@ubuntu-bionic:~$ sudo docker run -d --net=none --name docker1 ubuntu-docker
087db9e04b10630f56c0b69ab5233bd181c1e3f48c654346f6be90c0d151fcfd
vagrant@ubuntu-bionic:~$ sudo docker run -d --net=none --name docker2 ubuntu-docker
cfeec0152a1236e2dd005ae0e09f55f9862a23cbdc06fd7f4ce64b2a1113a641
vagrant@ubuntu-bionic:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cfeec0152a12 ubuntu-docker "sleep 7200" 5 seconds ago Up 5 seconds docker2
087db9e04b10 ubuntu-docker "sleep 7200" 16 seconds ago Up 15 seconds docker1
-------------------------------- VM2 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo docker build . -t ubuntu-docker
Sending build context to Docker daemon 15.36kB
Step 1/6 : FROM ubuntu
.........
Successfully built 7eee4ac80c41
Successfully tagged ubuntu-docker:latest
vagrant@ubuntu-bionic:~$ sudo docker run -d --net=none --name docker3 ubuntu-docker
34713eb4d4d871a153c83ad52493616e319b44f8063d66b0d6e02eb2009cb17b
vagrant@ubuntu-bionic:~$ sudo docker run -d --net=none --name docker4 ubuntu-docker
9deea2671c303a115ceae0ffd3149318f683ba4f47adc90a96c998b75e302dfe
vagrant@ubuntu-bionic:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9deea2671c30 ubuntu-docker "sleep 7200" 5 seconds ago Up 5 seconds docker4
34713eb4d4d8 ubuntu-docker "sleep 7200" 19 seconds ago Up 18 seconds docker3
স্টেপ - ১৭ঃ এখন Docker Container গুলোতে IP সেট করার পালা। প্রথমে VM1 এর সেট আপ টা করবো এরপর VM2 এর টা। এর জন্যে আমরা ovs-docker প্যাকেজ ফ্যাসিলিটি ইউজ করবো। সেট করা হয়ে গেলে Container Gateway তে Container থেকে PING করে দেখবো ঠিক ঠাক রিপ্লাই পাচ্ছি কিনা। তো আইপি সেট করার জন্য নিচের Command গুলো দেবো এবং Log গুলো চেকি করবো -
-------------------------------- VM1 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo ovs-docker add-port ovs-br0 eth0 docker1 --ipaddress=192.168.1.11/24 --gateway=192.168.1.1
vagrant@ubuntu-bionic:~$ sudo docker exec docker1 ip a
....
18: eth0@if19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether aa:61:11:24:f9:c6 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.1.11/24 scope global eth0
valid_lft forever preferred_lft forever
vagrant@ubuntu-bionic:~$ sudo ovs-docker add-port ovs-br1 eth0 docker2 --ipaddress=192.168.2.11/24 --gateway=192.168.2.1
vagrant@ubuntu-bionic:~$ sudo docker exec docker2 ip a
......
20: eth0@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 96:39:0e:ef:bb:55 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.2.11/24 scope global eth0
valid_lft forever preferred_lft forever
vagrant@ubuntu-bionic:~$ sudo docker exec docker1 ping 192.168.1.1 -c 2
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.305 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.099 ms
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4208ms
rtt min/avg/max/mdev = 0.037/0.107/0.305/0.101 ms
vagrant@ubuntu-bionic:~$ sudo docker exec docker2 ping 192.168.2.1 -c 2
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.245 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.066 ms
--- 192.168.2.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4271ms
rtt min/avg/max/mdev = 0.062/0.118/0.245/0.067 ms
-------------------------------- VM2 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo ovs-docker add-port ovs-br0 eth0 docker3 --ipaddress=192.168.1.12/24 --gateway=192.168.1.1
vagrant@ubuntu-bionic:~$ sudo docker exec docker3 ip a
....
18: eth0@if19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 4e:db:39:49:ad:e5 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.1.12/24 scope global eth0
valid_lft forever preferred_lft forever
vagrant@ubuntu-bionic:~$ sudo ovs-docker add-port ovs-br1 eth0 docker4 --ipaddress=192.168.2.12/24 --gateway=192.168.2.1
vagrant@ubuntu-bionic:~$ sudo docker exec docker4 ip a
.....
20: eth0@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 4a:11:6d:6a:e4:a9 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.2.12/24 scope global eth0
valid_lft forever preferred_lft forever
vagrant@ubuntu-bionic:~$ sudo docker exec docker3 ping 192.168.1.1 -c 2
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.238 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.045 ms
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4084ms
rtt min/avg/max/mdev = 0.037/0.079/0.238/0.079 ms
vagrant@ubuntu-bionic:~$ sudo docker exec docker4 ping 192.168.2.1 -c 2
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.320 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.093 ms
--- 192.168.2.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4209ms
rtt min/avg/max/mdev = 0.076/0.133/0.320/0.093 ms
দারুণ ... আমরা সঠিক ভাবে IP Setup করতে পেরেছি। এর প্রমাণ হচ্ছে ... ঠিক ঠাক Container থেকে Gateway তে PING পাচ্ছি।
স্টেপ - ১৮ঃ এই স্টেপ এ আমরা উভয় VM এর Container গুলোর মধ্যে VXLAN Tunneling স্থাপন করবো। এর জন্যে আমাদের VNI Key, UDP Port 4789 এবং Remote Container IP - এগুলো ঠিক ঠাকভাবে দিতে হবে। আবারো শুরুতে আমরা VM1 এর জন্য করবো এরপর VM2 এর জন্য। নিচের কমান্ড গুলো স্ব স্ব VM টার্মিনাল এ দেবো এবং Log গুলো চেক করবো -
-------------------------------- VM1 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo ovs-vsctl add-port ovs-br0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=192.168.33.11 options:key=1000
vagrant@ubuntu-bionic:~$ sudo ovs-vsctl add-port ovs-br1 vxlan1 -- set interface vxlan1 type=vxlan options:remote_ip=192.168.33.11 options:key=2000
-------------------------------- VM2 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo ovs-vsctl add-port ovs-br0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=192.168.33.10 options:key=1000
vagrant@ubuntu-bionic:~$ sudo ovs-vsctl add-port ovs-br1 vxlan1 -- set interface vxlan1 type=vxlan options:remote_ip=192.168.33.10 options:key=2000
উপরের Command এ ... যখন VM1 এর টার্মিনাল এ আছি তখন remote_ip এর ভ্যালু হবে VM2 এর IP Address যেটা হলো 192.168.33.11। এবং VM2 এর টার্মিনাল এ যখন আছি তখন remote_ip এর Value হবে VM1 এর IP Address যেটা হলো 192.168.33.10। উভয় VM এই vxlan0 এর VNI Key হবে 1000 এবং vxlan1 এর VNI Key হবে 2000।
স্টেপ - ১৯ঃ এখন আমরা চেক করবো উভয় VM এর UDP Port 4789 এ্যাক্টিভেট হয়েছে কিনা? একইসাথে Vritual Bridge এবং IP Address টা চেক করবো। কমান্ড গুলো দিয়ে নিচের মতো Log আসছে কিনা চেক করবো ।
-------------------------------- VM1 এবং VM2 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ netstat -ntulp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
......
udp 0 0 0.0.0.0:4789 0.0.0.0:* -
udp6 0 0 :::4789 :::* -
vagrant@ubuntu-bionic:~$ sudo ovs-vsctl show
81ef0a57-43f0-426a-b8c8-2541d9ef2e42
Bridge "ovs-br1"
......
Port "vxlan1"
Interface "vxlan1"
type: vxlan
options: {key="2000", remote_ip="192.168.33.11"} #এই IP Address VM2 থেকে 192.168.33.10 দেখাবে
Bridge "ovs-br0"
Port "vxlan0"
Interface "vxlan0"
type: vxlan
options: {key="1000", remote_ip="192.168.33.11"} #এই IP Address VM2 থেকে 192.168.33.10 দেখাবে
ovs_version: "2.9.8"
vagrant@ubuntu-bionic:~$ sudo ip a
.....
19: 836260d20c054_l@if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master ovs-system state UP group default qlen 1000
link/ether ae:b4:aa:41:c1:91 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::acb4:aaff:fe41:c191/64 scope link
valid_lft forever preferred_lft forever
21: 08b889f5f85d4_l@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master ovs-system state UP group default qlen 1000
link/ether e2:d3:e3:28:72:f5 brd ff:ff:ff:ff:ff:ff link-netnsid 1
inet6 fe80::e0d3:e3ff:fe28:72f5/64 scope link
valid_lft forever preferred_lft forever
22: vxlan_sys_4789: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65000 qdisc noqueue master ovs-system state UNKNOWN group default qlen 1000
link/ether a2:3a:26:bb:81:71 brd ff:ff:ff:ff:ff:ff
inet6 fe80::a03a:26ff:febb:8171/64 scope link
valid_lft forever preferred_lft forever
sudo ovs-vstl show এই কমান্ড দেবার পর remote ip address টা VM1 থেকে দিলে VM2 এর IP Adress, 192.168.33.11 দেখাবে এবং VM2 থেকে দিলে VM1 এর IP Address, 192.168.33.10 দেখাবে। আউটপুট Log এর কমেন্ট টা চেক করুন।
স্টেপ - ২০ঃ Moment Of Truth ... এবার আমরা চেক করবো Container 1 থেকে Container 3 ঠিকঠাক PING করতে পারা যায় কিনা? একই রকম ভাবে Container 2 থেকে Container 4 ঠিক PING করতে পারা যায় কিনা? শুরুতেই VM1 এর জন্য চেক করি -
-------------------------------- VM1 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo docker exec docker1 ping 192.168.1.11 # docker1 থেকে docker1 এর IP তে PING
PING 192.168.1.11 (192.168.1.11) 56(84) bytes of data. # ঠিকঠাক PING পাবে ...
64 bytes from 192.168.1.11: icmp_seq=1 ttl=64 time=0.015 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=64 time=0.060 ms
....
vagrant@ubuntu-bionic:~$ sudo docker exec docker1 ping 192.168.2.11 # docker1 থেকে docker2 এর IP তে PING
^C # ঠিকঠাক PING পাবে না ...
vagrant@ubuntu-bionic:~$ sudo docker exec docker1 ping 192.168.1.12 # docker1 থেকে docker3 এর IP তে PING
PING 192.168.1.12 (192.168.1.12) 56(84) bytes of data. # ঠিকঠাক PING পাবে ...
64 bytes from 192.168.1.12: icmp_seq=1 ttl=64 time=1.35 ms
64 bytes from 192.168.1.12: icmp_seq=2 ttl=64 time=1.23 ms
....
vagrant@ubuntu-bionic:~$ sudo docker exec docker1 ping 192.168.2.12 # docker1 থেকে docker4 এর IP তে PING
^C # ঠিকঠাক PING পাবে না ...
vagrant@ubuntu-bionic:~$ sudo docker exec docker2 ping 192.168.2.11 # docker2 থেকে docker2 এর IP তে PING
PING 192.168.2.11 (192.168.2.11) 56(84) bytes of data. # ঠিকঠাক PING পাবে ...
64 bytes from 192.168.2.11: icmp_seq=1 ttl=64 time=0.014 ms
64 bytes from 192.168.2.11: icmp_seq=2 ttl=64 time=0.045 ms
......
vagrant@ubuntu-bionic:~$ sudo docker exec docker2 ping 192.168.2.12 # docker2 থেকে docker4 এর IP তে PING
PING 192.168.2.12 (192.168.2.12) 56(84) bytes of data. # ঠিকঠাক PING পাবে ...
64 bytes from 192.168.2.12: icmp_seq=1 ttl=64 time=1.51 ms
64 bytes from 192.168.2.12: icmp_seq=2 ttl=64 time=1.06 ms
.....
vagrant@ubuntu-bionic:~$ sudo docker exec docker2 ping 192.168.1.11 # docker2 থেকে docker1 এর IP তে PING
^C # ঠিকঠাক PING পাবে না ...
vagrant@ubuntu-bionic:~$ sudo docker exec docker2 ping 192.168.1.12 # docker2 থেকে docker3 এর IP তে PING
^C # ঠিকঠাক PING পাবে না ...
একই রকম ভাবে VM2 এর Container গুলো থেকে PING দিয়েও আমরা চেষ্টা করবো -
-------------------------------- VM2 এর জন্য --------------------------------
vagrant@ubuntu-bionic:~$ sudo docker exec docker3 ping 192.168.1.12 -c 5 # docker3 থেকে docker3 এর IP তে PING
PING 192.168.1.12 (192.168.1.12) 56(84) bytes of data. # ঠিকঠাক PING পাবে ...
64 bytes from 192.168.1.12: icmp_seq=1 ttl=64 time=0.013 ms
... ... ...
--- 192.168.1.12 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4420ms
rtt min/avg/max/mdev = 0.013/0.039/0.059/0.018 ms
vagrant@ubuntu-bionic:~$ sudo docker exec docker3 ping 192.168.1.11 -c 5 # docker3 থেকে docker1 এর IP তে PING
PING 192.168.1.11 (192.168.1.11) 56(84) bytes of data. # ঠিকঠাক PING পাবে ...
64 bytes from 192.168.1.11: icmp_seq=1 ttl=64 time=0.467 ms
... ... ...
--- 192.168.1.11 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4112ms
rtt min/avg/max/mdev = 0.467/1.103/1.876/0.475 ms
vagrant@ubuntu-bionic:~$ sudo docker exec docker3 ping 192.168.2.11 -c 5 # docker3 থেকে docker2 এর IP তে PING
^C # ঠিকঠাক PING পাবে না ...
vagrant@ubuntu-bionic:~$ sudo docker exec docker3 ping 192.168.2.12 -c 5 # docker3 থেকে docker4 এর IP তে PING
^C # ঠিকঠাক PING পাবে না ...
vagrant@ubuntu-bionic:~$ sudo docker exec docker4 ping 192.168.2.11 -c 5 # docker4 থেকে docker2 এর IP তে PING
PING 192.168.2.11 (192.168.2.11) 56(84) bytes of data. # ঠিকঠাক PING পাবে ...
64 bytes from 192.168.2.11: icmp_seq=1 ttl=64 time=0.391 ms
... ... ...
--- 192.168.2.11 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4269ms
rtt min/avg/max/mdev = 0.391/0.684/1.323/0.332 ms
vagrant@ubuntu-bionic:~$ sudo docker exec docker4 ping 192.168.2.12 -c 5 # docker4 থেকে docker4 এর IP তে PING
PING 192.168.2.12 (192.168.2.12) 56(84) bytes of data. # ঠিকঠাক PING পাবে ...
64 bytes from 192.168.2.12: icmp_seq=1 ttl=64 time=0.015 ms
... ... ...
--- 192.168.2.12 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4077ms
rtt min/avg/max/mdev = 0.015/0.035/0.059/0.018 ms
vagrant@ubuntu-bionic:~$ sudo docker exec docker4 ping 192.168.1.11 -c 5 # docker4 থেকে docker1 এর IP তে PING
^C # ঠিকঠাক PING পাবে না ...
vagrant@ubuntu-bionic:~$ sudo docker exec docker4 ping 192.168.1.12 -c 5 # docker4 থেকে docker3 এর IP তে PING
^C # ঠিকঠাক PING পাবে না ...
Bingoooo ... আমরা ঠিক ঠাক ভাবে VXLAN সেট আপ করতে পেরেছি। এবার নিজে নিজে চেষ্টা করুন। দেখুন পারেন কিনা ...
যদি PING এর ছবি দেখতে চান তাহলে VM-HOST-1 এবং VM-HOST-2 এই দুটো লিংক এ গিয়ে দেখতে পারেন। জুম এ ক্লিক করলে সম্পুর্ন ইমেজ টি দেখা যাবে।
কাজ টা করতে গিয়ে বেশ কিছু সমস্যার সম্মুখীন হয়েছিলাম। সেগুলোর যেভাবে সমাধান করেছি তা এই FAQ and Troubleshoot পেজ এ লিখেছি। হয়তো আপনার কাজে লাগতে পারে।