Linux hỗ trợ thực hiện một cầu nối mạng phần mềm để tái tạo chức năng của cầu nối mạng, một thiết bị mạng kết nối hai hoặc nhiều mạng truyền thông hoặc các phân đoạn mạng cung cấp cách thức để chúng hoạt động như một mạng duy nhất. Nó hoạt động gần giống như một bộ chuyển mạch mạng và theo nghĩa phần mềm, nó được sử dụng để triển khai khái niệm virtual network switch.

Một trường hợp sử dụng điển hình của bắc cầu mạng phần mềm là trong môi trường ảo hóa để kết nối các máy ảo (VM) trực tiếp với mạng máy chủ lưu trữ. Bằng cách này, các máy ảo được triển khai trên cùng một mạng con với máy chủ và có thể truy cập các dịch vụ như DHCP và nhiều hơn nữa.

Trong bài viết này, bạn sẽ tìm hiểu các cách khác nhau để thiết lập một cầu nối mạng trong Ubuntu và sử dụng nó trong môi trường ảo hóa để tạo mạng ảo ở chế độ bắc cầu trong VirtualBox và KVMđể kết nối Máy ảo với cùng mạng với máy chủ.

Cài đặt Tiện ích Cầu nối Mạng trong Ubuntu

Bắt đầu bằng cách cài đặt bridge-utils trong đó chứa các tiện ích để định cấu hình cầu ethernet Ubuntu bằng trình quản lý gói apt như hình minh họa.

$ apt-get install bridge-utils

Tiếp theo, xác định tên giao diện cho thiết bị ethernet của bạn bằng lệnh IP như hình minh họa.

$ ip ad
OR
$ ip add
Kiểm tra giao diện mạng trong Ubuntu

Tạo cầu nối mạng bằng NetPlan trong Ubuntu

Netplan là một tiện ích front-end đơn giản và dễ sử dụng để định cấu hình mạng trong Linux bằng cách sử dụng YAML. Nó hiện hỗ trợ NetworkManagersystemd-netword như các công cụ phụ trợ.

Để định cấu hình mạng cho một giao diện chẳng hạn như bridgechỉnh sửa của bạn netplan tệp cấu hình được tìm thấy trong /etc/netplan/.

Sau đây là một tệp cấu hình ví dụ, trong đó renderersystemd-netword đó là mặc định (thay thế enp1s0 tên giao diện ethernet của bạn).

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
  bridges:
    br0:
      dhcp4: yes
      interfaces:
	     - enp1s0
Tệp cấu hình Netplan
Tệp cấu hình Netplan

Lưu tệp cấu hình và áp dụng cấu hình để kích hoạt mạng cầu nối bằng cách chạy lệnh sau.

$ sudo netplan apply

Sau đó, sử dụng brctl để hiển thị tất cả các cầu trên hệ thống. Trong trường hợp này, Ethernet được tự động thêm vào như một cổng vào cầu.

$ sudo brctl show
Hiển thị cầu nối mạng
Hiển thị cầu nối mạng

Nếu bạn muốn gỡ bỏ hoặc hủy kích hoạt cầu nối mạng đã tạo, hãy xóa nó bằng các lệnh sau.

$ sudo ip link set enp1s0 up
$ sudo ip link set br0 down
$ sudo brctl delbr br0
OR
$ sudo nmcli conn up Wired connection 1
$ sudo nmcli conn down br0
$ sudo nmcli conn del br0
$ sudo nmcli conn del bridge-br0

Tạo cầu nối mạng bằng Nmcli trong Ubuntu

nmcli là một công cụ dòng lệnh của trình quản lý mạng được sử dụng rộng rãi để quản trị NetworkManager (tạo, hiển thị, chỉnh sửa, xóa, kích hoạt và hủy kích hoạt các kết nối mạng) và hiển thị trạng thái thiết bị mạng.

Để tạo một cầu nối mạng bằng cách sử dụng nmclichạy lệnh sau.

$ sudo nmcli conn add type bridge con-name br0 ifname br0
Tạo cầu nối mạng bằng công cụ nmcli
Tạo cầu nối mạng bằng công cụ nmcli

Sau đó, thêm Ethernet như một cổng trong cầu như hình (nhớ thay thế enp1s0 tên thiết bị của bạn).

$ sudo nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp1s0 master br0
Thêm một cổng kết nối mạng
Thêm một cổng kết nối mạng

Tiếp theo, xác nhận rằng bridge đã được tạo bằng cách hiển thị tất cả các kết nối mạng.

$ sudo nmcli conn show --active
Xác minh cầu nối mạng
Xác minh cầu nối mạng

Tiếp theo, kích hoạt bridge kết nối như sau (bạn có thể sử dụng tên kết nối / giao diện hoặc UUID).

$ sudo nmcli conn up br0
OR
$ sudo nmcli conn up e7385b2d-0e93-4a8e-b9a0-5793e5a1fda3
Kích hoạt kết nối mạng cầu nối
Kích hoạt kết nối mạng cầu nối

Sau đó, hủy kích hoạt Ethernet hoặc kết nối.

$ sudo nmcli conn down Ethernet connection 1
OR
$ sudo nmcli conn down 525284a9-60d9-4396-a1c1-a37914d43eff
Hủy kích hoạt kết nối Ethernet
Hủy kích hoạt kết nối Ethernet

Bây giờ hãy thử xem các kết nối đang hoạt động một lần nữa, Ethernet bây giờ nên là một nô lệ trong bridge kết nối như được hiển thị trong ảnh chụp màn hình sau đây.

$ sudo nmcli conn show --active
Kiểm tra kết nối mạng đang hoạt động
Kiểm tra kết nối mạng đang hoạt động

Tạo cầu nối mạng bằng công cụ nm-connection-editor

Để mở nm-connection-editorchạy lệnh sau từ thiết bị đầu cuối.

$ nm-connection-editor

Từ network connections cửa sổ trình soạn thảo, nhấp vào + ký để thêm một cấu hình kết nối mới.

Thêm một kết nối mạng mới
Thêm một kết nối mạng mới

Tiếp theo, chọn loại kết nối là Bridge từ menu thả xuống và nhấp vào Create.

Chọn loại kết nối mạng
Chọn loại kết nối mạng

Tiếp theo, đặt tên kết nối cầu và tên giao diện.

Đặt tên kết nối cầu
Đặt tên kết nối cầu

Sau đó nhấp vào Add để thêm các cổng nô lệ của cầu, tức là Ethernet như được hiển thị trong ảnh chụp màn hình sau đây. Lựa chọn Ethernet làm loại kết nối và nhấp vào Create.

Thêm kết nối cầu nối mạng
Thêm kết nối cầu nối mạng

Tiếp theo, đặt tên kết nối theo sở thích của bạn và nhấp vào Save.

Đặt tên kết nối cầu mới
Đặt tên kết nối cầu mới

Dưới bridged kết nối, kết nối mới bây giờ sẽ xuất hiện.

Xác minh kết nối Bridge mới
Xác minh kết nối Bridge mới

Bây giờ nếu bạn mở trình chỉnh sửa kết nối mạng một lần nữa, giao diện cầu nối mới và giao diện phụ sẽ tồn tại như được chỉ ra trong ảnh chụp màn hình sau.

Kiểm tra kết nối cầu mạng
Kiểm tra kết nối cầu mạng

Tiếp theo, kích hoạt giao diện cầu nối và hủy kích hoạt giao diện Ethernet, sử dụng lệnh nmcli.

$ sudo nmcli conn up br0
$ sudo nmcli conn down Ethernet connection 1

Cách sử dụng cầu nối mạng trong phần mềm ảo hóa

Sau khi thiết lập một network bridge (công tắc mạng ảo), bạn có thể sử dụng nó trong môi trường ảo hóa như Oracle VirtualBoxKVM để kết nối máy ảo với mạng chủ.

Sử dụng cầu nối mạng trong Oracle VirtualBox

Mở VirtualBoxsau đó từ danh sách VMschọn một VM, sau đó nhấp vào cài đặt của nó. Từ cửa sổ cài đặt, chuyển đến Network và chọn một adapter (ví dụ Adapter 1).

Sau đó kiểm tra tùy chọn Enable Network Adapterđặt giá trị của phần đính kèm vào trường thành Bridged Adaptersau đó đặt Name của giao diện bắc cầu (ví dụ: br0) như được chỉ ra trong ảnh chụp màn hình sau. Sau đó bấm Ok.

Định cấu hình máy ảo để sử dụng mạng cầu nối trong VirtualBox
Định cấu hình máy ảo để sử dụng mạng cầu nối trong VirtualBox

Sử dụng Cầu nối mạng trong KVM

Bạn có thể sử dụng cầu nối mạng mới dưới KVM bằng cách thêm –network=bridge=br0 trong khi tạo một máy ảo mới, sử dụng virt-install.

# virt-install --virt-type=kvm --name Ubuntu18.04 --ram 1536 --vcpus=4 --os-variant=ubuntu18.04 --cdrom=/path/to/install.iso --network=bridge=br0,model=virtio --graphics vnc --disk path=/var/lib/libvirt/images/ubuntu18.04.qcow2,size=20,bus=virtio,format=qcow2

Từ bảng điều khiển web, nó sẽ được chọn tự động. Bên cạnh đó, bạn cũng có thể định cấu hình cầu nối mạng bằng cách sử dụng virshcông cụ -line và tệp cấu hình XML của máy ảo.

Để biết thêm chi tiết, hãy đọc netplannmcli trang người đàn ông (bằng cách chạy man netplanman nmcli) cũng như mạng ảo trong libvirt và mạng ảo trong VirtualBox. Bạn có thể gửi bất kỳ thắc mắc nào cho chúng tôi qua phần bình luận bên dưới.