प्रोफ़ाइल में lxd- प्रकार कंटेनर स्थिर IP


3

मैं एक lxd कंटेनर में एक स्थिर IP पता सेट करने का प्रयास कर रहा हूं। कंटेनर के साथ बनाया गया है:

नॉनोट $ lxc लॉन्च इमेज: सेंटोस / 7 / amd64 my_centos

एक सुंदर दलदली lxd में (बस डिफ़ॉल्ट apt- स्थापित lxd; सेवा lxd प्रारंभ) वातावरण। अब मैं उस चीज़ को एक स्थिर IP 10.0.3.50 (कहना) देना चाहता हूँ।

कुछ googling के बाद (यह साइट पर प्रलेखन से स्पष्ट क्यों नहीं है मुझे अभी तक स्पष्ट नहीं है), मैंने पाया कि प्रोफ़ाइल जानकारी, जिसे प्राप्त करने के लिए मुझे हैक करना है, एक साइक्लाइट डेटाबेस में था। ठीक है:

lxc profile copy default my_centos
lxc profile edit my_centos
...
name: my_centos 
  config: {} 
  description: "" 
  devices:   
    eth0:
      name: eth0
      nictype: bridged
      parent: lxcbr0
      type: nic

और यह मुझे इसे बदलने नहीं देगा:

name: my_centos
config: 
  raw.lxc: 
    lxc.network.type = veth
    lxc.network.name = eth0
    lxc.network.link = lxcbr0
    lxc.network.ipv4 = 10.0.3.50/24
    lxc.network.ipv4.gateway = 10.0.3.1
    lxc.network.flags = up

description: ""
devices:
  eth0:
    name: eth0
    nictype: bridged
    parent: lxcbr0
    type: nic

त्रुटि है: कॉन्फ़िगर पार्सिंग त्रुटि: केवल इंटरफ़ेस-विशिष्ट ipv4 / ipv6 lxc.network कुंजी की अनुमति है

यह संभवतः nictype और eth0 के प्रकार के साथ करना है, लेकिन डिवाइस को हटाने का एक ही प्रभाव है।

क्या कोई मुझे ऐसा करने के लिए सही तरीके से बता सकता है?

यह LXD कंटेनरों और स्टेटिक आईपी के साथ नेटवर्किंग से संबंधित है , लेकिन मैं इसे lxd के साथ सेट करना चाहता हूं (इसलिए, कॉन्फिग फाइल के बजाय प्रोफाइल के साथ)।

जवाबों:


3

मुझे एक समान समस्या थी जहां मैं स्थिर आईपी के साथ कंटेनर चाहता था और चाहता था कि वे मेरे स्थानीय नेटवर्क पर दिखाई दें।

पता नहीं कैसे यह lxd प्रोफाइल के माध्यम से करना है। लेकिन नीचे स्थिर आईपी के साथ एक एकल कंटेनर बनाने के चरण हैं। फिर आप एक स्क्रिप्ट लिख सकते हैं जो कंटेनर को क्लोन करता है और बस अपने आईपी को / etc / नेटवर्क / इंटरफेस फाइल में बदलता है और इस प्रकार आपको स्थिर आईपी के साथ कंटेनर बनाने की क्षमता प्रदान करता है।

यहाँ कदम हैं:

होस्ट मशीन पर एक पुल बनाएं।

संपादित करें: / etc / नेटवर्क / इंटरफेस

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
#iface eth0 inet dhcp

auto br0
iface br0 inet static
    address 172.16.115.208
    broadcast 172.16.119.255
    netmask 255.255.248.0
    gateway 172.16.112.1
    bridge_ports eth0
    bridge_fd 9
    bridge_hello 2
    bridge_maxage 12
    bridge_stp off

अपने मूल्यों के साथ आईपी पते बदलें।

ध्यान दें कि "Bridge_ports" आपके eth0 को पुल में जोड़ता है।

नेटवर्किंग को पुनरारंभ करें:

sudo /etc/init.d/networking restart

नया पुल लाओ:

sudo ifup br0

इस बिंदु पर आपको यह सुनिश्चित करना चाहिए कि क्या आपके पास अभी भी नवनिर्मित पुल के माध्यम से नेटवर्क कनेक्टिविटी है या नहीं।

अपने lxc प्रोफ़ाइल को संपादित करें और नए बनाए गए पुल के रूप में अभिभावक को सेट करें।

lxc profile edit default<or your container's profile name>

-       parent: lxcbr0
+       parent: br0

कंटेनर तक पहुंचें और स्थिर आईपी पता सेट करें।

lxc exec my-container-name /bin/bash
sudo vim /etc/network/interfaces

    #auto eth0
    #iface eth0 inet dhcp

    auto eth0
    iface eth0 inet static
    address 172.16.115.252
    broadcast 172.16.119.255
    netmask 255.255.248.0
    gateway 172.16.112.1

फिर, तदनुसार आईपी पते बदलें। अपने कंटेनर को पुनरारंभ करें और जांचें कि क्या इसे नया आईपी सौंपा गया है।

lxc info my-container-name

आपके कंटेनर में अब एक स्थिर आईपी है और यह नेटवर्क पर दिखाई देता है। अब आप एक स्क्रिप्ट लिख सकते हैं जो इसे क्लोन करता है और विभिन्न स्थिर आईपी के साथ कई कंटेनरों को प्राप्त करने के लिए इंटरफेस फाइल में आईपी मूल्य को बदलता है।


मैंने डिफ़ॉल्ट पुल के साथ वही किया है जो "lxd init" पर बनाया गया है, बस डीएचसीपी रेंज से कुछ आईपी को बाहर रखा गया है और कंटेनर के /etc/network/interfaces.d/eth0 में स्थैतिक आईपी पता सेट करें - काम करने लगता है ।
ज़मी

2

आप बाहरी dnsmasq कॉन्फ़िगरेशन फ़ाइल जोड़कर lxd- ब्रिज असाइन स्टेटिक आईपी एड्रेस बना सकते हैं।

/ Etc / default / lxd- ब्रिज खोलें और आपको इसे जोड़ने के लिए एक स्पॉट मिलेगा।

LXD_CONFILE = ""

वहां एक फाइल का नाम डालें। Lxd_dnsmasq.conf जैसा कुछ। आप इसे अपनी इच्छानुसार कुछ भी नाम दे सकते हैं।

फिर फ़ाइल बनाएं और प्रत्येक कंटेनर के लिए इस तरह एक प्रविष्टि जोड़ें।

DHCP मेजबान = containername, IPADDRESS

इसे स्थापित करने के लिए विस्तृत निर्देशों का लिंक यहां दिया गया है: lxd स्टेटिक आईपी एड्रेस

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.