Cách kích hoạt hồ sơ NetworkManager thông qua systemd


1

Đây là vấn đề tôi đang cố gắng giải quyết: Tôi có một thiết bị không dây, tôi muốn nó hoạt động như một khách hàng trong một thời điểm nhất định và như một điểm truy cập trong một thời điểm khác.

Tôi đã thiết lập Trình quản lý mạng bằng hai cấu hình, một cho máy khách, một cho Điểm truy cập. Mọi thứ hoạt động miễn là tôi chuyển đổi thủ công.

Vấn đề bắt đầu khi tôi cố gắng buộc hai hồ sơ này với các đơn vị systemd. Tôi muốn có thể liên kết một hồ sơ NetworkManager với một đơn vị systemd. Tôi cũng đã viết đơn vị bằng cách sử dụng các lệnh nmcli đơn giản, nhưng bất cứ khi nào tôi khởi động thiết bị, kết nối sẽ tăng lên và sau đó đi xuống.

Đây là đơn vị:

[Service]
type=oneshot
ExecStart=nmcli con up Connection2
ExecStop=nmcli con down Connection2

Dưới đây là những gì tạp chí cho thấy từ đơn vị:

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)

Dưới đây là những gì tạp chí hiển thị từ đơn vị NetworkManager (cắt ngắn):

<info> Activation (wlan0) successful, device activated.
<info> (wlan0): device state change: activated -> deactivating (reason 'user-requested') [100 11
<info> NetworkManager state is now DISCONNECTING
<info> (wlan0): device state change: deactivating -> disconnected (reason 'user-requested') [110
<info> (wlan0): deactivating device (reason 'user-requested') [39]
<info> Removing DNS information from /sbin/resolvconf
<info> NetworkManager state is now DISCONNECTED

Ai đó có thể chỉ cho tôi cách làm đúng? Ngoài ra, tôi muốn tránh cách tiếp cận "ifupdown" và sử dụng NetworkManager (hoặc systemd-networkd). Tôi đã không thành công khi sử dụng cái sau, vì tôi không thể tìm thấy một cách dễ dàng để đặt chế độ của thiết bị. Cảm ơn bạn.

Câu trả lời:


1

Các đơn vị Oneshot thường cần RemainAfterExit=yes, nếu không, họ ngay lập tức "hủy kích hoạt" và chạy lệnh ExecStop.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.