Trang chủ Thủ Thuật Cách quản lý kết nối mạng Linux từ dòng lệnh

Cách quản lý kết nối mạng Linux từ dòng lệnh

0
46
person on phone in front of pc

Cách quản lý kết nối mạng Linux từ dòng lệnh

person on phone in front of pc
Roman Samborskyi / Shutterstock.com

Lệnh nmcli cho phép bạn khai thác sức mạnh của Linux NetworkManager ngay từ dòng lệnh, làm cho nó hoàn hảo cho các máy chủ không có môi trường máy tính để bàn và quản trị trình bao SSH từ xa.

Lệnh nmcli

Lệnh nmcli không phải là mới, nó được phát hành vào năm 2010. Cùng với lệnh ip, nó thay thế ifconfig đáng kính — nhưng không được dùng nữa — ifconfig. Các thói quen cũ đã chết dần và nhiều sysadmins vẫn sử dụng ifconfig . Họ đã biết cách sử dụng nó, không cần phải học gì cả, và họ chỉ cần hoàn thành công việc. Vậy tại sao lại học thêm một công cụ khác?

Cuối cùng, ifconfig sẽ bị loại bỏ bởi các bản phân phối, vì vậy đó là một sự thay đổi sắp tới, dù muốn hay không. Nhưng nmcli có một số thủ thuật gọn gàng của riêng nó khiến việc tìm hiểu những gì nó có thể cung cấp rất đáng giá.

Các khái niệm và cú pháp ncmli

Giống như tất cả các lệnh CLI, nmcli chấp nhận các tham số dòng lệnh. Các tham số được nhóm thành ba loại.

  • Tùy chọn : Những điều này sửa đổi hành vi của nmcli
  • Phần : Những phần này cho nmcli biết bạn đang gọi nhóm hành động nào. Hãy coi các phần như một tập hợp các lệnh.
  • Hành động : Những điều này cho nmcli biết bạn muốn nó làm gì. Hãy coi chúng như những mệnh lệnh.

Định dạng cú pháp chung là:

nmcli <tùy chọn> <phần chọn> <phần>
Nhưng lưu ý rằng bạn không phải lúc nào cũng cần cả ba bộ tham số cho mọi lệnh. Cácnmcli phần là:

  • Trợ giúp : Cung cấp các văn bản trợ giúp ngắn về các lệnh ncmcli
  • Chung : Truy xuất trạng thái và cấu hình của NetworkManager
  • Kết nối mạng : Truy vấn, bật hoặc tắt kết nối mạng
  • Radio : Truy vấn, bật hoặc tắt kết nối mạng Wi-Fi
  • Giám sát : Theo dõi NetworkManager và các thay đổi trạng thái của các kết nối mạng
  • Kết nối : Thao tác trực tiếp các giao diện mạng, bao gồm bật và tắt chúng, thêm các kết nối mới và xóa các kết nối hiện có
  • Thiết bị : Sửa đổi các thông số thiết bị mạng và kết nối hoặc ngắt kết nối thiết bị khỏi kết nối hiện có
  • Bí mật : Đăng ký nmcli làm mật vụ NetworkManager. Bởi vì nmcli thực hiện điều này tự động, điều này rất hiếm khi được sử dụng.

Các bước đầu tiên với nmcli

Hãy đảm bảo NetworkManager đã được cài đặt, đang chạy và chúng ta có thể kết nối với nó bằng nmcli . Chúng tôi sẽ sử dụng hành động status general .

tình trạng chung của nmcli

4a47a0db 1 1

Quảng cáo

Trên thực tế, trạng thái là hành động mặc định cho chung, vì vậy chúng ta có thể bỏ từ đó ra khỏi lệnh. Nhưng chúng tôi đã xác minh rằng nmcli —và do đó NetworkManager — đã được cài đặt và hoạt động. Chúng ta hãy tìm hiểu thêm một chút về chiếc máy tính này.

Chúng tôi có thể liệt kê tất cả các cấu hình kết nối mạng trong bộ nhớ và trên đĩa bằng cách sử dụng hành động hiển thị từ phần kết nối:

chương trình kết nối nmcli

fb5c81ed 1 2

Đầu ra rộng hơn cửa sổ đầu cuối. Kết quả của chúng tôi là:

TÊN THIẾT BỊ LOẠI UUID 
Kết nối có dây 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 
ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 
ethernet-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9

Máy kiểm tra được sử dụng cho bài viết này đang chạy phiên bản Ubuntu 21.10 trước khi khởi chạy. Nó có ba bộ điều hợp mạng được cài đặt trong đó, có tên là enp0s3 , enp0s8enp0s9 .

Hiểu về hệ thống ống nước

Kết nối mạng cho phép máy tính của bạn giao tiếp qua mạng với một thiết bị khác. Bên trong, nmcli giữ tất cả thông tin liên quan đến kết nối mạng trong một đối tượng dữ liệu mà nó gọi là kết nối.

nmcli đóng gói tất cả thông tin liên quan đến kết nối đó, bao gồm cả lớp liên kết dữ liệu và thông tin địa chỉ IP. Bạn có thể nmcli các kết nối của nmcli là chi tiết cấu hình cho các kết nối mạng trong thế giới thực.

Để tiếp cận thế giới bên ngoài, một kết nối phải sử dụng thiết bị giao diện mạng, chẳng hạn như card mạng. Một kết nối được liên kết với một thiết bị. Khi một thiết bị đang hoạt động và khả năng tiếp nhận hoặc truyền dữ liệu, kết nối được cho là active hoặc up . Trạng thái không hoạt động tương ứng được gọi là, gì ngạc nhiên, inactive hoặc down .

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

Với nmcli bạn có thể tạo kết nối mạng và thiết lập một số tùy chọn cấu hình của nó bằng một lệnh duy nhất. Trên máy tính thử nghiệm này, không có kết nối nào trên enp0s8 , tên cho kết nối có dây (ethernet) số 2. Chúng tôi sẽ thêm kết nối vào enp0s8 . Vì chúng tôi đang thực hiện các thay đổi hệ thống, bạn sẽ cần sử dụng sudo :

kết nối sudo nmcli thêm loại ethernet ifname enp0s8

10fb15c7 1 1

Lệnh này sử dụng hành động add connection . Chúng tôi đã sử dụng type để yêu cầu kết nối ethernet và ifname (tên giao diện) để chỉ định thiết bị giao diện mạng mà chúng tôi muốn kết nối này sử dụng.

Hãy kiểm tra những gì đã xảy ra:

chương trình kết nối nmcli
Quảng cáo

09dd8c26 1 1

TÊN THIẾT BỊ LOẠI UUID 
Kết nối có dây 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 
ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 
ethernet-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9 
ethernet-enp0s8-1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet -

Kết nối mới của chúng tôi, ethernet-enp0s8-1 , đã được tạo. Mã định danh duy nhất phổ biến (UUID) của nó đã được chỉ định và loại kết nối là ethernet. Bây giờ chúng ta có thể kích hoạt nó bằng lệnh up Lệnh up phải được theo sau bởi tên kết nối hoặc UUID của nó:

kết nối nmcli lên ethernet-enp0s8-1

8266e4bf 1 1

Hãy kiểm tra các kết nối đang hoạt động của chúng tôi một lần nữa:

hiển thị kết nối nmcli - hoạt động

f19c9085 1 1

TÊN THIẾT BỊ LOẠI UUID 
Kết nối có dây 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 
ethernet-enp0s8-1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet enp0s8 
ethernet-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9

Kết nối mới của chúng tôi, ethernet-enp0s8-1 , hiện đang hoạt động và liên kết với thiết bị giao diện mạng enp0s8

Điều chỉnh kết nối

Tất nhiên, ncmli cho phép bạn thay đổi các thông số của các kết nối hiện có. Giả sử chúng ta muốn chuyển giao diện mạng từ Giao thức cấu hình máy chủ động (DHCP) sang sử dụng địa chỉ IP tĩnh. Để phù hợp với mạng của chúng tôi, chúng tôi cần một địa chỉ IP cố định là 192.168.1.40 cho kết nối mới của chúng tôi.

Để đạt được điều đó, bạn cần đưa ra hai lệnh. Một để đặt địa chỉ IP và một để đặt phương pháp lấy địa chỉ IP của kết nối thành thủ công:

kết nối nmcli sửa đổi ethernet-enp0s8-1 ipv4.address 192.168.1.40/24
kết nối nmcli sửa đổi ethernet-enp0s8-1 hướng dẫn sử dụng ipv4.method

9eb9cd58 1 1

Quảng cáo

“/ 24” chúng tôi cung cấp địa chỉ IP là mặt nạ mạng con trong Định tuyến liên miền không phân lớp (CIDR). Trong ngữ cảnh này “/ 24” có nghĩa là “255.255.255.0.”

Các thay đổi sẽ không có hiệu lực cho đến khi kết nối được “trả lại”. Đó là, bị vô hiệu hóa và đưa trở lại trực tuyến. Lệnh đầu tiên gỡ bỏ kết nối và lệnh thứ hai đưa nó trở lại.

kết nối nmcli xuống ethernet-enp0s8-1
kết nối nmcli lên ethernet-enp0s8-1

602e8f04 1 1

Nếu bạn muốn đảo ngược thay đổi và chuyển từ địa chỉ IP tĩnh sang Địa chỉ IP DHCP, hãy sử dụng tùy chọn auto manual .

kết nối nmcli sửa đổi ethernet-enp0s8-1 ipv4.method auto

Quản lý thiết bị

Phần device nmcli chứa các hành động (lệnh) cho phép bạn quản lý các giao diện mạng được cài đặt trên máy tính của bạn. Để xem trạng thái của tất cả các giao diện mạng trên máy tính của bạn đang sử dụng:

trạng thái thiết bị nmcli

7afbb160 1

Hiển thị chi tiết thiết bị

Để kiểm tra chi tiết của giao diện mạng, chúng tôi sử dụng hành động show device . Nếu bạn không cung cấp tên thiết bị, thông tin chi tiết của tất cả các thiết bị sẽ được truy xuất và hiển thị. Bạn có thể cuộn và trang lên xuống để xem lại chúng.

Hãy xem enp0s8 , thiết bị mà chúng ta đang sử dụng kết nối mới. Chúng tôi có thể xác minh rằng địa chỉ IP đang sử dụng là địa chỉ mà chúng tôi đã yêu cầu trước đó.

thiết bị nmcli hiển thị enp0s8

586e508f 1 1

TỔNG HỢP.DEVICE: enp0s8
CHUNG. LOẠI: ethernet
TỔNG HỢP.HWADDR: 08: 00: 27: 79: A7: 68
TỔNG HỢP.MTU: 1500
TỔNG HỢP.STATE: 100 (đã kết nối)
TỔNG HỢP. KẾT NỐI: ethernet-enp0s8-1
TỔNG HỢP.CON-PATH: / org / Liberationesktop / NetworkManager / ActiveConnection / 8
WIRED-PROPERTIES.CARRIER: bật
IP4.ADDRESS [1]: 192.168.1.40/24
IP4.GATEWAY: -
IP4.ROUTE [1]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 102
IP6.ADDRESS [1]: fe80 :: 3241: 457d: cd1c: 2436/64
IP6.GATEWAY: -
IP6.ROUTE [1]: dst = fe80 :: / 64, nh = ::, mt = 102

Một vài thông tin được trả về bởi nmcli . Một số vật phẩm hữu ích thường gặp là:

  • THIẾT BỊ : Tên của thiết bị chúng tôi đang kiểm tra.
  • TYPE : Loại kết nối sử dụng thiết bị này.
  • HWADDR : Địa chỉ MAC của thẻ giao diện.
  • STATE : Thiết bị này có kết nối trực tiếp hay không.
  • IP4.ADDRESS [1] : Địa chỉ IP và mặt nạ mạng con cho thiết bị này.
  • CONNECTION : Tên của kết nối sử dụng thiết bị này.

Trình chỉnh sửa tương tác nmcli

Mặc dù nmcli là một công cụ dòng lệnh, nó có một trình soạn thảo tương tác cơ bản. Hành động chỉnh sửa trong phần kết nối sẽ mở trình chỉnh sửa tương tác trên kết nối bạn chuyển qua dòng lệnh:

kết nối nmcli chỉnh sửa ethernet-enp0s8-1

59b2900a 1 1

Quảng cáo

Một số văn bản trợ giúp được in ra màn hình và bạn sẽ thấy dấu nhắc lệnh “nmcli>”.

nếu bạn nhập print và nhấn “Enter”, nmcli liệt kê tất cả các thuộc tính liên quan đến kết nối. Chúng có rất nhiều. Bạn có thể cuộn qua chúng để xem lại chúng.

in

9eb60bc8 1 1

Hãy thay đổi kết nối của chúng ta trở lại sử dụng DHCP. Chúng tôi sẽ sử dụng cài đặt “ipv4”. Để làm được điều đó, chúng ta cần “chuyển đến” cài đặt IPv4.

goto ipv4

c00b5755 1

Thuộc tính chúng tôi muốn thay đổi là method . Chúng tôi muốn đặt nó thành tự động.

đặt phương pháp tự động

7b6fbd4c 1

Bạn sẽ thấy lời nhắc sau:

Bạn cũng muốn xóa 'ipv4.addresses'? [đúng]:
Quảng cáo

Nếu bạn không xóa địa chỉ IP, lần tiếp theo bạn đặt kết nối này để sử dụng địa chỉ IP tĩnh, nó sẽ sử dụng địa chỉ IP đã được đặt trước đó. Nếu bạn xóa nó, bạn sẽ cần đặt một địa chỉ IP mới nếu bạn thay đổi kết nối này trở lại sử dụng địa chỉ IP tĩnh. Nhập “có” hoặc chỉ cần nhấn “Enter” để xóa. Nhập “không” và nhấn “Enter” để giữ nguyên.

Chúng tôi cần lưu các thay đổi của mình:

cứu

d642f8c3 1 1

Nhập “thoát” để thoát khỏi trình chỉnh sửa tương tác. Nếu bạn không muốn thoát, hãy gõ “back” để quay lại cấp độ chính và tiếp tục sử dụng trình chỉnh sửa.

Còn nhiều hơn thế nữa trong con người

Lệnh nmcli có thể làm được nhiều hơn thế. Nó có rất nhiều tham số và tùy chọn dòng lệnh. Trên thực tế, rất nhiều trang người dùng của nó dài tới hơn 1200 dòng. Xem lại chúng để xem nmcli có thể làm gì khác cho bạn.

Và tất nhiên, nếu bạn đang quản lý các kết nối mạng từ xa, đừng tắt kết nối mà bạn đã kết nối. Điều đó không bao giờ vui.

What Is a Race Condition?

Điều kiện Cuộc đua là gì?

What Is a .gitignore File, And How Do You Configure It?

Tệp .gitignore là gì và bạn định cấu hình nó như thế nào?

How to Use Multi-Threaded Processing in Bash Scripts

Cách sử dụng xử lý đa luồng trong Bash Scripts

What Is a .gitignore File, And How Do You Configure It?

Git Reset thực sự hoạt động như thế nào? Giải thích các giá trị đặt lại mềm, cứng và hỗn hợp

How to Run Your Own Kubernetes Cluster With MicroK8s

Cách chạy cụm Kubernetes của riêng bạn với MicroK8s

How Deepfakes Are Powering a New Type of Cyber Crime

Deepfakes đang thúc đẩy một loại tội phạm mạng mới như thế nào

Dịch từ: https://www.cloudsavvyit.com/12989/how-to-manage-linux-network-connections-from-the-command-line/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây