साकुरा के क्लाउड में ब्रिज नेटवर्क का उपयोग करना
सर्वर
Lastmod: 2025-01-21
Published: 2022-07-07

※ यह केवल एक विकल्प है, लेकिन यह मूल रूप से उपयोग का तरीका नहीं है।
इसे एक मजेदार चीज के रूप में लें।

साकुरा के क्लाउड में ब्रिज द्वारा कनेक्शन स्थापित नहीं किया जा सकता है।

क्या NIC के MAC पते को स्थिर करने या किसी अन्य में बदलने के लिए आवंटित किया जा सकता है?

साकुरा के क्लाउड का स्विच उस पैकेट को नहीं निकालने की संभावना है जिसका MAC पता बनाया गया VM के MAC पते के अलावा है।

VM के अंदर ब्रिज बनाकर LXD के कंटेनरों को, इसके लिए राउटर + स्विच के IP पते या
स्विच के स्थानीय IP पते को सीधे आवंटित करना संभव नहीं है।

सामान्यतः इस तरह की संरचना होती है।

हालांकि, eth0 डिवाइस के साथ जुड़े MAC पते के कारण VM के बाहर संचार नहीं किया जा सकता है,
इसलिए, इस स्थिति में इंटरनेट से जुड़ना संभव नहीं है।

कंटेनर1 के veth0 से जुड़े MAC पते के कारण संचार नहीं किया जा सकता है।

इसलिए, मैंने VRRP के आभासी MAC पते का प्रबंधन करने के बारे में सोचा।
VRRP का उपयोग करते समय आभासी IP पते (VIP) के उपयोग में कोई प्रतिबंध है?

VRID 1 से 4 तक का उपयोग किया जा सकता है।

आभासी MAC पते का उपयोग करने की स्थिति में, निम्नलिखित 4 प्रकार के ही उपयोग किए जा सकते हैं:
00:00:5e:00:01:01
00:00:5e:00:01:02
00:00:5e:00:01:03
00:00:5e:00:01:04

क्या इस MAC पते के साथ संचार करने से VM से बाहर निकलना संभव हो सकता है?
इस परीक्षण को करने का निर्णय लिया गया!

network:
  ethernets:
    eth0:
      dhcp4: 'no'
      dhcp6: 'no'
  bridges:
    br0:
      interfaces: [ eth0 ]
      macaddress: <eth0 का MAC पता>
      addresses:
        - XXX.XXX.XXX.5/29
      dhcp4: 'no'
      dhcp6: 'no'
      gateway4: XXX.XXX.XXX.1

पहले, मैं br0 बनाता हूँ।

br0 से जुड़े कंटेनर का निर्माण करता हूँ।

lxd के डिफ़ॉल्ट प्रोफ़ाइल में इसे br0 से कनेक्ट किया गया है।

devices:
  eth0:
    nictype: bridged
    parent: br0
    type: nic

साधारण रूप से कंटेनर में नेटवर्क सेटिंग्स की जाती हैं।

# lxc launch images:ubuntu/22.04 c1
# lxc exec c1 bash
root@c1:~# cat << _EOF_ > /etc/netplan/10-lxc.yaml
network:
  ethernets:
    eth0:
      dhcp4: 'no'
      dhcp6: 'no'
      addresses:
        - XXX.XXX.XXX.8/29 
      gateway4: XXX.XXX.XXX.1
      nameservers:
        addresses:
          - 133.242.0.3
          - 133.242.0.4
  renderer: networkd
  version: 2
root@c1:~# netplan apply

साधारण रूप से, यह कनेक्ट नहीं हो रहा है。。。

root@c1:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) बाइट्स का डेटा।
From 133.242.60.197 icmp_seq=1 गंतव्य होस्ट अप्राप्य
From 133.242.60.197 icmp_seq=2 गंतव्य होस्ट अप्राप्य
From 133.242.60.197 icmp_seq=3 गंतव्य होस्ट अप्राप्य
^C
--- 8.8.8.8 पिंग सांख्यिकी ---
5 पैकेट प्रसारित हुए, 0 प्राप्त हुए, +3 त्रुटियाँ, 100% पैकेट हानि, समय 4088ms पाइप 4

VRRP के आभासी MAC पते को सेट करने की कोशिश करता हूँ।

network:
  ethernets:
    eth0:
      dhcp4: 'no'
      dhcp6: 'no'
      addresses:
        - XXX.XXX.XXX.8/29 
      macaddress: 
      gateway4: XXX.XXX.XXX.1
      nameservers: 00:00:5e:00:01:01
        addresses:
          - 133.242.0.3
          - 133.242.0.4
  renderer: networkd
  version: 2
root@c1:~# netplan apply

सफलतापूर्वक बाहरी संचार स्थापित हुआ!

root@c1:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) बाइट्स का डेटा।
64 बाइट्स से 8.8.8.8 से: icmp_seq=1 ttl=118 समय=18.1 ms
64 बाइट्स से 8.8.8.8 से: icmp_seq=2 ttl=118 समय=18.2 ms
64 बाइट्स से 8.8.8.8 से: icmp_seq=3 ttl=118 समय=18.3 ms
^C
--- 8.8.8.8 पिंग सांख्यिकी ---
3 पैकेट प्रसारित हुए, 3 प्राप्त हुए, 0% पैकेट हानि, समय 2002ms
rtt min/avg/max/mdev = 18.120/18.195/18.267/0.060 ms

चार में से कुछ का उपयोग कर, यदि एक ही L2 नेटवर्क में चार कंटेनर हैं,
तो ब्रिज का उपयोग करके सीधे IP पते को आवंटित करना और संचार करना संभव हो सकता है।

हालांकि, यह मूल उद्देश्य से पूरी तरह अलग है, इसलिए, मुझे लगता है कि “कनेक्ट हो गया! मजेदार!”
जैसी भावना से सीमित रहना उचित होगा।