ฉันจะสร้างส่วนต่อประสานใน Ubuntu 18.04 ได้อย่างไร


11

ฉันพยายามติดตั้งเซิร์ฟเวอร์ Ubuntu ใหม่เป็น 18.04

ฉันค้นพบว่า 18.04 ใช้ Netplan และฉันมีปัญหาในการสร้างส่วนต่อประสานที่ใช้สิ่งนี้

อัปเดตการกำหนดค่า:

############# BOND - VLAN ##################
network:
    version: 2
    renderer: networkd
    ethernets:
        switchports:
            match: {name: "ens*"}
    bonds:
        bond0:
            interfaces: [switchports]
            parameters:
                mode: balance-alb
    vlans:
        inet:
            id: 50
            link: bond0
            addresses: [X.X.X.X/24]
            gateway4: X.X.X.252
            dhcp4: no
            nameservers:
                addresses: [X.X.X.33]

ดูเหมือนว่าฉันไม่ควรมีคำสั่งจับคู่ 2 คำและ ens * ในคำแถลงเดียว - ฉันจะล้างข้อมูลนี้เมื่อฉันทำงาน

ฉันได้ติดตั้ง ifenslave & bridge-utils ตามที่มีคนแนะนำสิ่งนี้ แต่ก็ไม่มีอะไร

นอกจากนี้ฉันได้เปิดใช้งานโมดูลการเชื่อมต่อ/etc/modulesด้วย

ปัญหาดั้งเดิมของฉันคืออินเทอร์เฟซอยู่ในสถานะ UP แต่ฉันทำได้เพียง ping อินเทอร์เฟซเท่านั้นไม่ใช่อย่างอื่น

ฉันไม่สามารถได้รับนี้ในการทำงานดังนั้นฉันจบลงด้วยการเปลี่ยนชื่อไฟล์และติดตั้ง/etc/netplan/<name>.yamlifupdown

หากใครมีเงื่อนงำว่าทำไมสิ่งนี้ไม่ได้ผลฉันยินดีที่จะรู้ :)


ตัวอย่างที่สองของคุณดูถูกต้อง คุณช่วยให้รายละเอียดเพิ่มเติมว่าทำไมมันไม่ทำงานสำหรับคุณ คุณละทิ้งสิ่งที่ผิดกับมัน และสำรองข้อมูลเล็กน้อยหากคุณไม่รังเกียจเพียงแก้ไขคำถามทั้งหมดเพื่อลบสิ่งที่คุณลองก่อนหน้านี้และให้ปัญหาการกำหนดค่าปัจจุบันซึ่งจะช่วยให้ผู้อื่นทราบเมื่ออ่าน :)
dpb

มันยังคงเป็นปัญหาเดียวกันฉันสามารถเห็นส่วนต่อประสานพันธบัตรที่มีที่อยู่ up ใน ip addr แต่ฉันไม่สามารถ ping สิ่งอื่นนอกจากตัวเอง .. ฉันจะล้างโพสต์ของฉันเมื่อฉันอยู่ที่พีซี😊
moxom

คำตอบ:


4

ฉันติดตั้งเซิร์ฟเวอร์ Ubuntu และน่าประหลาดใจพอที่จะถามฉันว่าฉันต้องการติดตั้งพันธะหรือไม่

นี่คือไฟล์ yaml ที่ตั้งค่าไว้:

Location: /etc/netplan/ 

File Name: 50-cloud-init.yaml

File Structure:

# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disablecloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
   bonds:
       bond0:
           addresses: []
           interfaces:
           - enp5s4
           - enp5s9
           - enp64s0
           parameters:
               lacp-rate: fast
               mode: 802.3ad
               transmit-hash-policy: layer2
       ethernets:
           enp5s4:
               addresses: []
               dhcp4: false
               dhcp6: false
           enp5s9:
               addresses: []
               dhcp4: false
               dhcp6: false
           enp64s0:
               addresses: []
               dhcp4: false
               dhcp6: false
version: 2

ฉันจะอัปเดตสิ่งนี้เมื่อฉันเรียนรู้เพิ่มเติมเกี่ยวกับรูปแบบการกำหนดค่าเครือข่ายใหม่ใน Ubuntu

UPDATE

หากต้องการเปลี่ยนเป็นที่อยู่แบบคงที่ให้ทำดังต่อไปนี้:

 sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.old

!บันทึก! ชื่อไฟล์ * .yaml เริ่มต้นของคุณอาจแตกต่างกัน

 sudo touch /etc/netplan/my-network-file.yaml

!บันทึก! คุณสามารถตั้งชื่อไฟล์ปรับแต่งตามที่คุณต้องการเพียงแค่ให้แน่ใจว่าลงท้ายด้วย. yaml

sudo nano /etc/netplan/my-network-file.yaml

ในไฟล์นี้ (my-network-file.yaml) คัดลอกจากด้านบนและผนวกการเปลี่ยนแปลงต่อไปนี้:

network:
   bonds:
       bond0:
           addresses: [192.168.0.8/24]
           gateway4: 192.168.0.1
           nameservers:
              addresses: [8.8.8.8,8.8.4.4]
           interfaces:
           - enp5s4
           - enp5s9
           - enp64s0

ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนที่อยู่ IP เพื่อสะท้อนเครือข่ายของคุณ หลังจากนี้ฉันเพิ่งรีบูตเครื่องและการกำหนดค่าเครือข่ายใหม่ของฉันถูกโหลดและใช้งานได้

คุณสามารถใช้:

sudo netplan apply

สิ่งนี้ควรใช้การกำหนดค่าใหม่โดยไม่จำเป็นต้องรีบูต

ด้านหมายเหตุคุณอาจต้องการสังเกตการเว้นวรรคและไม่ใช้แท็บเนื่องจากอาจทำให้เกิดปัญหากับไฟล์ปรับแต่งของคุณ

หากคุณไม่แน่ใจเกี่ยวกับอินเทอร์เฟซเครือข่ายของคุณคุณสามารถเลือกทำอย่างใดอย่างหนึ่งต่อไปนี้

lshw -class network 

หรือ

ip link show

หวังว่านี่จะช่วยได้!


! ที่น่าสนใจ ดูเหมือนว่าทุกคนที่โพสต์โซลูชั่นสำหรับปัญหา netplan มีแนวทางที่แตกต่างกัน ฉันเพิ่งโพสต์คำถามนี้และฉันต้องการลองวิธีการของคุณ แต่คำตอบของคุณดูเหมือนจะคลุมเครือเล็กน้อยในแง่หนึ่ง: In this file copy from above and append the following changes:คุณสนใจที่จะแสดงรายชื่อไฟล์ที่สมบูรณ์และชื่อไฟล์หรือไม่?
เชมัส

ฉันปรับปรุงคำตอบของฉัน ไฟล์ที่ฉันกำลังอ้างอิงคือไฟล์ yaml เครือข่ายใหม่ที่คุณสร้าง ie (my-network-file.yaml)
Kyle Coots

มีประโยชน์มาก - ขอบคุณและ +1 เพียงแค่ฉันชัดเจนในจุดนี้: netplanรวม / รวม. yaml ไฟล์? กล่าวอีกนัยหนึ่งถ้าฉันวางbondsส่วนในไฟล์ yaml หนึ่งและethernetsส่วนในอีกไฟล์ yaml (ทั้งใน/etc/netplan) - ระบบจะรวมไฟล์เหล่านี้เพื่อรับการกำหนดค่า "รวม"?
เชมัส

ฉันไม่แน่ใจ ฉันอยากจะบอกว่าไม่มี แต่ฉันอาจจะผิด
Kyle Coots

1
ผมเคยตอบคำถามของฉัน ฉันต้องการแบ่งปันสิ่งนี้กับคุณเนื่องจากคำถามเกี่ยวข้องกันและมีข้อมูลที่คุณอาจต้องการรวมไว้ในคำตอบของคุณ โดยเฉพาะอย่างยิ่งสองรายการ: 1 You should never have to run cloud-init again on an Ubuntu Server system installed with the new server installerและ 2 ธุรกิจNetplanthe messages in /etc/netplan pointing you to /etc/cloud/cloud.cfg.d are an error that we're working on correcting. นี้มีสัญญา แต่มีข้อมูลที่ขัดแย้งกันมาก "ออกมี"
เชมัส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.