วิธีการตั้งค่า IP คงที่สำหรับผู้จัดการเครือข่ายใน Virtual Box บน Ubuntu Server


14

สวัสดีมีใครบ้างที่คุ้นเคยกับ ubuntus network Manager รุ่นที่ไม่ใช่ gui?

ฉันต้องการที่จะตั้งค่า IP แบบคงที่กับมันใน VirtualBox /etc/network/interfacesโดยไม่ต้องสัมผัสไฟล์

  • IP: 192.168.56.101
  • เกตเวย์: 102.168.1.1
  • Netmask: 255.255.255.0

นอกจากนี้ฉันต้องการตั้งค่าอินเทอร์เฟซเครือข่ายที่สองด้วย IP แบบไดนามิกเพื่อเชื่อมต่ออินเทอร์เน็ตด้วย Vbox

คำตอบ:


7

คุณจำเป็นต้องใช้เครือข่าย Manger จากบรรทัดคำสั่งนี้เป็นnmcli

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

# nmcli con show

สิ่งนี้จะให้สิ่งที่คุณต้องการ:

NAME                UUID                                  TYPE            DEVICE 
Wired connection 1  7a3b674a-f346-3cfb-8b30-ff70e6db1b60  802-3-ethernet  enp0s3

จากนั้นคุณสามารถแก้ไขการเชื่อมต่อด้วยสิ่งต่อไปนี้:

nmcli con mod "Wired connection 1"
  ipv4.addresses "HOST_IP_ADDRESS/IP_NETMASK_BIT_COUNT"
  ipv4.gateway "IP_GATEWAY"
  ipv4.dns "PRIMARY_IP_DNS,SECONDARY_IP_DNS"
  ipv4.dns-search "DOMAIN_NAME"
  ipv4.method "manual"

เมื่อคุณป้อนด้านบนใช้หนึ่งบรรทัดฉันเพิ่งแยกมันเป็นบรรทัดแยกเพื่อให้ชัดเจนยิ่งขึ้น

หากคุณต้องการตั้งค่าการเชื่อมต่อเพื่อใช้ DHCP คุณสามารถใช้สิ่งต่อไปนี้:

nmcli con mod "Wired connection 1"
  ipv4.addresses ""
  ipv4.gateway ""
  ipv4.dns ""
  ipv4.dns-search ""
  ipv4.method "auto"

คุณต้องการใบเสนอราคาที่ว่างเปล่าทั้งหมดเนื่องจากลบการตั้งค่าใด ๆ ที่เคยมี

ในการเพิ่มเครือข่ายให้ใช้:

nmcli con add ...

ด้วยพารามิเตอร์ที่คล้ายกัน

หากต้องการให้การตั้งค่าใช้งานได้ให้รีบูต (ฉันพยายามเริ่ม Network Manager อีกครั้ง แต่ดูเหมือนจะไม่เปิดใช้งานการเปลี่ยนแปลง แต่การรีบูตทำได้)


ฉันพิมพ์ธงไม่ชัดเจน ฉันตั้งค่าeth1เป็นอินเทอร์เฟซเครือข่ายภายในโดยใช้ IP แบบคงที่ sudo nmcli con add type "ethernet" ifname "eth1" con-name "intnet" autoconnect "yes" ip4 "192.168.0.1/24" gw4 "192.168.0.2"
Jack Miner Ewes

6

สำหรับผู้ที่ต้องการแนวทาง NetworkManager ฉันเพิ่งจะผ่านสิ่งนี้โดยใช้คำแนะนำ tss mss มีสัมผัสของข้อมูลเกี่ยวกับการเป็นวิกิพีเดีย Debianและเอกสารเต็มของตัวเลือกที่เว็บไซต์ของนักพัฒนา GNOME (จากเอกสาร RHEL7 ดูเหมือนว่าเวอร์ชันของพวกเขาnmcliจะมีการสนับสนุนเพิ่มดังนั้นหวังว่ามันจะทำให้เป็นจริง)

IP แบบไดนามิกนั้นค่อนข้างง่าย (เพียงทำการกำหนดค่าเครือข่ายไม่ใช่ที่ VBox):

[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX

[connection]
id=Wired connection 1
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0

[ipv6]
method=disabled

[ipv4]
method=auto

ใช้uuidgen(แพ็คเกจuuid-runtime) เพื่อสร้าง uuid และแน่นอนเติมที่อยู่ MAC อย่างถูกต้อง (ปกติแล้วจะดีกว่าการระบุชื่ออุปกรณ์)

สำหรับ IP แบบคงที่ (หมายเหตุอัฒภาคบนอาร์เรย์ DNS!):

[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX

[connection]
id=Wired connection 2
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0

[ipv6]
method=ignore

[ipv4]
method=manual
dns=8.8.8.8;8.8.4.4;
address1=192.168.56.101/24,192.168.1.1

1
นี่คือไดเรกทอรีที่ไฟล์แสดงอยู่ด้านบน/etc/NetworkManager/system-connections/
Aaron Lelevier

3

ปกติฉันจะแก้ไขไฟล์/etc/network/interfacesและแก้ไขข้อมูลให้เป็นดังนี้:

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1 (u had 102.168.1.1. So, I guessed it was a mistake)

5
OP กล่าวว่าเขาไม่ต้องการสัมผัส / etc / network / interfaces
guntbert

คุณพูดถูกฉันต้องการทำผู้จัดการเครือข่ายรางน้ำ แต่เนื่องจากเอกสารของสิ่งนี้ขาดการสัมผัสไฟล์อินเตอร์เฟสจะไม่เป็นไร
Josh

2

เนื่องจากคำถามนั้นเกี่ยวกับ NetworkManager: ฉันไม่เคยกำหนดค่าการเชื่อมต่อ NM จาก cli และnmcliเครื่องมือดูเหมือนจะไม่มีตัวเลือกในการสร้างการเชื่อมต่อ แต่คุณอาจต้องการดูสิ่งที่ GUI ทำเมื่อคุณประกาศการเชื่อมต่อเป็นการเชื่อมต่อระบบ มันสร้างไฟล์ขึ้นมา/etc/NetworkManager/system-connectionsแต่ฉันไม่รู้ว่ารูปแบบไฟล์ถูกบันทึกไว้ทุกที่หรือไม่

nmcli con up $nameคุณควรจะสามารถเปิดใช้งานอย่างใดอย่างหนึ่งของการเชื่อมต่อเหล่านั้นผ่านทาง


2

แก้ไข:

หากต้องการเพิ่มอินเทอร์เฟซอื่นที่สามารถเข้าถึงอินเทอร์เน็ตใน Vbox ให้ใช้แท็บเครือข่ายของเมนูการตั้งค่า จากนั้นเปิดใช้งานอินเทอร์เฟซเพิ่มเติมและตั้งค่าเป็น NAT (เนื่องจากเป็นวิธีที่ง่ายที่สุดในการเข้าถึงอินเทอร์เน็ต) และในเครื่อง wirtual เพิ่มอินเตอร์เฟสอื่นด้วย dhcp ดังนี้: allow-hotplug eth1และหลังจาก linebreakiface eth1 inet dhcp

(ด้วยเหตุผลบางประการการจัดรูปแบบของฉันไม่ดี)

และวิธีนี้คุณสามารถเข้าถึงเน็ตโดยใช้การเชื่อมต่อของโฮสต์ OS


commandline "ไคลเอนต์" ของ network-manager สับสนและไร้ประโยชน์มากเมื่อเปรียบเทียบกับวิธีมาตรฐานในการจัดการอินเตอร์เฟสภายใต้ Linux (และยูนิกซ์อื่น ๆ ส่วนใหญ่) โดยปกติคุณจะต้องเปิดใช้งานอินเทอร์เฟซเครือข่ายที่เปิดใช้งานไว้ก่อนแล้ว (ถ้าเป็น Enbled) {รัน ifconfig เพื่อค้นหา}:

ifconfig eth0 down #note: I assume you want to configure eth0, replace it if not

หลังจากนั้นแก้ไขไฟล์ / etc / network / interfaces (ฉันชอบใช้ nano):

sudo nano /etc/network/interfaces

และเพิ่มส่วนตามแนวของ:

allow-hotplug eth0
iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

นอกจากนี้โปรดทราบว่าคุณต้องลบการปรากฏตัวอื่น ๆ ของ eth0 ออกจากไฟล์อื่น ๆ ที่ระบบระบุว่าจะไม่สามารถแยกวิเคราะห์ไฟล์ได้อย่างถูกต้องและคุณจะไม่มีการเชื่อมต่อเครือข่าย และในที่สุดคุณจะต้องเปิดใช้งานอินเทอร์เฟซอีกครั้ง:

ifup eth0

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

นอกจากนี้หากคุณต้องการหลีกเลี่ยงการแก้ไขไฟล์อินเตอร์เฟสคุณสามารถใช้:

ifconfig eth0 192.168.56.101 netmask 255.255.255.0 gateway 192.168.56.1 up

ฉันคิดว่าวิธีนี้การเปลี่ยนแปลงจะไม่ถาวร (คุณจะเสียระหว่างการเริ่มระบบใหม่ ฯลฯ ) แต่ฉันไม่ได้ทดสอบด้วยตนเอง


คุณสามารถบอกเกี่ยวกับคำสั่งip- ifconfigเป็นที่ลดลง
guntbert

2

เวอร์ชันปัจจุบันของ Ubuntu เปิดใช้งานตัวจัดการเครือข่าย

คุณสามารถรับชื่อการเชื่อมต่อด้วยคำสั่ง:

nmcli con show

คุณสามารถแก้ไขที่อยู่ ip แบบคงที่ของคุณจากบรรทัดคำสั่ง:

sudo nmcli con mod "Connection name" ipv4.addresses xxx.xxx.xxx.xxx/24

หมายเหตุ: / 24 กำหนดมาสก์เครือข่ายเป็น 255.255.255.0

ไฟล์/ect/network/interfacesจะถูกละเว้นหากคุณมีคุณสมบัติmanaged=falseใน/etc/NetworkManager/NetworkManager.conf

[ifupdown]
managed=**false**

1

สมมติว่าคุณหมายถึง 192.168.1.1 แทนที่จะเป็น 102.168.1.1 192.168.56.101 และ 192.168.1.1 อยู่บนเครือข่ายที่ต่างกันและจะไม่พูดคุยหากไม่มีความช่วยเหลือ สิ่งที่คุณต้องการคือ:

iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1

สมมติว่าคุณมีกล่อง (สวิตช์เราเตอร์ / เลเยอร์ 3 และอื่น ๆ ) ที่มีไอพี 192.168.56.1 เพื่อตอบ

ด้วย / 24 (255.255.255.0) คุณต้องมีสาม octets แรกที่ตรงกันในโฮสต์และเกตเวย์เริ่มต้น 192.168.56.X หรือ 192.168.1.X


1
OP กล่าวว่าเขาไม่ต้องการสัมผัส / etc / network / interfaces
guntbert

ถูกตัอง. ฉันก็ว่างั้น. ในขณะเดียวกันฉันต้องการทางออกสำหรับ netplan คำสั่ง nmcli ทำงานด้านล่างหรือไม่เมื่อใช้ netplan ด้วย
Josh

0

กำหนดค่า IP แบบคงที่ได้อย่างง่ายดายด้วยเกตเวย์และ DNS:

$ sudo nmcli con mod Your-Network ipv4.addr 172.17.100.118/23 gw4 172.17.100.1 ipv4.dns 1.1.1.1,1.0.0.1

มันเข้ากันได้กับ netplan หรือไม่?
Josh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.