Làm thế nào để hiển thị một giao diện mạng chỉ khi nó hiện diện


8

Chạy Ubuntu Server 12.04 (không có GUI). Điều gì sẽ là cách tốt nhất để làm cho kernel mang giao diện mạng lên nếu nó được cắm vào vật lý? Vì vậy, nếu nó không tồn tại, chỉ cần chuyển sang khởi tạo các giao diện khác (nếu có) và tiếp tục đến màn hình đăng nhập, không chậm trễ "chờ cấu hình mạng".

Ví dụ: tôi có khóa USB không dây wlan9 (trong / etc / mạng / giao diện):

auto wlan9
iface wlan9 inet dhcp
        wpa-ssid myssd
        wpa-psk mykey
        wpa-proto RSN
        wpa-pairwise CCMP
        wpa-group CCMP

Tôi đã thử cho phép hotplug thay vì tự động , trong trường hợp đó giao diện không được khởi chạy tự động trong khi khởi động và tôi phải thực hiện thủ công với ifup wlan9 . Đây không phải là chính xác những gì tôi đang tìm kiếm.

Cảm ơn bạn.

Câu trả lời:


4

Ngoài ra đối với máy chủ: sử dụng NetworkManager

  1. Cài đặt nó:

    sudo apt-get install network-manager
    

    Thật không may, điều này sẽ kéo theo rất nhiều phụ thuộc.

  2. Đưa xuống giao diện hiện được cấu hình theo cách truyền thống.

    ifdown wlan9
    
  3. Vô hiệu hóa mọi cài đặt thủ công /etc/network/interfacesbằng cách xóa tất cả các dòng liên quan đến giao diện đó.

  4. Thêm cài đặt kết nối cho kết nối không dây của bạn trong /etc/NetworkManager/system-connections/(tạo tên):

    [connection]
    id=Some name of my connection
    uuid=0d791425-87c5-45e6-948e-01b1863901f7
    type=802-11-wireless
    
    [802-11-wireless]
    ssid=mySSID
    mode=infrastructure
    mac-address=24:77:00:01:02:03
    security=802-11-wireless-security
    
    [802-11-wireless-security]
    key-mgmt=wpa-psk
    psk=mypassword
    
    [ipv4]
    method=auto
    
    [ipv6]
    method=ignore
    
    • Để uuidsử dụng lệnh uuidgenđể tạo một ngẫu nhiên.
    • Để mac-addresssử dụng địa chỉ MAC của bộ điều hợp không dây của bạn (sử dụng ifconfig -a wlan9để tìm hiểu). Điều này liên kết tệp cấu hình này với chỉ bộ điều hợp này - nếu nó không có mặt thì nó sẽ không sử dụng nó cho bộ điều hợp khác, và cũng không chờ bộ điều hợp có mặt.
    • Các lĩnh vực khác nói cho chính họ tôi hy vọng. :)
  5. Khởi động lại Trình quản lý mạng hoặc khởi động lại.

    restart network-manager
    

Cảm ơn bạn, tùy chọn Trình quản lý mạng cảm thấy hơi nặng nề, nhưng tôi sẽ chuyển sang tùy chọn này nếu không tìm thấy thứ gì đó nhẹ hơn. ifplugd gần như đã hoạt động, wlan9 đi lên nhưng nó không có được hợp đồng thuê DHCP.
chơi

@Noseratio Vâng, tôi đồng ý rằng đây không thực sự là một giải pháp nhẹ. Nếu tôi biết một trình quản lý mạng nhẹ hơn mà không có phụ thuộc GUI, tôi sẽ sử dụng nó trong câu trả lời của mình. :)
gertvdijk

@gertvdijk Bạn có thể cho tôi biết điều gì xảy ra nếu tôi xóa mac-addressdòng không? Nó sẽ làm việc cho tất cả các bộ điều hợp hoặc nó sẽ sụp đổ?
DangeMask

@DangeMask Nó chỉ hoạt động cho tất cả các bộ điều hợp tôi giả sử. Chỉ cần thử và tìm hiểu?
gertvdijk

@gertvdijk Tôi vừa mới thử. Nếu tôi xóa "địa chỉ MAC của thiết bị" (cũng bị xóa trong GUI, cũng biến mất trong tệp), Trình quản lý mạng sẽ không tự động kết nối ngay cả sau khi kết nối và khởi động lại thủ công. Tôi đã cố gắng thậm chí cài đặt ifupdown> thành đúng và sai mà không thành công.
DangeMask

3

và tiếp tục đến màn hình đăng nhập

Đề xuất rằng bạn đang cài đặt hỗ trợ GUI (không phải máy chủ) - vì vậy tôi sẽ cung cấp câu trả lời này dựa trên điều đó.


Chỉ cần sử dụng Trình quản lý mạng

  1. Đưa giao diện xuống.

    ifdown wlan9
    
  2. Vô hiệu hóa mọi cài đặt thủ công /etc/network/interfacesbằng cách xóa tất cả các dòng liên quan đến giao diện đó.

  3. Chuyển đến cài đặt mạng và thêm / chỉnh sửa kết nối mạng không dây.

  4. Cấu hình nó như sau (xem ảnh chụp màn hình bên dưới):

    1. Có nó kết nối tự động.

    2. Áp dụng nó cho đúng bộ điều hợp không dây bằng cách chọn đúng địa chỉ MAC. Nếu bộ điều hợp không có mặt, thì các cài đặt kết nối này trong đoạn hội thoại này sẽ không được áp dụng, do đó, "liên kết" chúng với bộ điều hợp cụ thể này (vì mỗi bộ điều hợp có một địa chỉ MAC khác). Và không, đây không phải là địa chỉ MAC của WiFi AP - đó là BSSID.

    3. Làm cho nó có sẵn cho tất cả người dùng (điều này làm cho nó tự động kết nối tại màn hình đăng nhập). Lưu ý rằng cài đặt này bị mờ đi cho đến khi bạn cung cấp các chi tiết cần thiết.

    Và tất nhiên cũng nhập các chi tiết khác về bảo mật, SSID, v.v.

    nhập mô tả hình ảnh ở đây


Xin lỗi, tôi quên chỉ định đây là Ubuntu Server. Dù sao cũng cảm ơn bạn, tôi đã lưu gợi ý này cho nhu cầu máy tính để bàn của tôi.
chơi

1
@Noseratio Ah ... quá tệ. Bây giờ viết một câu trả lời cho cài đặt máy chủ. Hãy cụ thể hơn và đầy đủ hơn trong câu hỏi của bạn vào lần tới.
gertvdijk

Tôi sẽ. Xin vui lòng tha thứ cho một noob :)
noseratio

3

Tôi đã đưa ra giải pháp sau đây không phụ thuộc vào bất kỳ gói bổ sung nào:

auto wlan9
iface wlan9 inet manual
        wpa-ssid MYSSD
        wpa-psk MYKEY
        wpa-proto RSN
        wpa-pairwise CCMP
        wpa-group CCMP
        wireless-power off
        pre-up if [ -f /sys/class/net/wlan9/operstate ]; then ifconfig wlan9 up; fi
        up if [ -f /sys/class/net/wlan9/operstate ]; then dhclient wlan9; fi

Mặc dù nó có thể không thanh lịch, nhưng nó thực hiện những gì tôi muốn: bỏ qua việc khởi tạo wlan9 mà không bị trễ khởi động nếu khóa không dây không được cắm, nếu không sẽ đưa nó lên.


Đẹp. Nhưng làm thế nào để bỏ qua việc khởi tạo? Bạn không hủy bỏ bất cứ điều gì trong pre-upchỉ thị.
gertvdijk

1
Nó nghĩ rằng đây là sản phẩm của hai yếu tố: 1) hướng dẫn sử dụng inet - vì vậy nó thực sự dựa vào hành động trước khi làm bất cứ điều gì: nếu không có trước hoặc lên , kernel chỉ bỏ qua đoạn thơ này
noseratio

Vâng, có thể, nhưng theo trang chủ, tất cả các cài đặt khác bao gồm các wpa-*chỉ thị không áp dụng cho manualphương pháp. Trông giống như một loại hành vi không có giấy tờ.
gertvdijk

1
Tôi sai lầm với những nhận xét, đây là những gì tôi muốn nói: Nó nghĩ rằng đây là một sản phẩm của hai yếu tố: 1) inet thủ công - vì vậy nó thực sự dựa vào tiền lên hành động để làm bất cứ điều gì: nếu không có pre-up hoặc lên , kernel sẽ bỏ qua đoạn 2 này) Nếu các giao diện không tồn tại, nếu [-f / sys / class / net / wlan9 / operstate] sẽ trả về 1 và việc đăng ký trước sẽ thất bại, do đó không khởi tạo hoặc trì hoãn thêm.
chơi

Các tiền lên hành vi được thực sự ghi nhận, nhưng nó có thể thay đổi trong tương lai, manpages.ubuntu.com/manpages/precise/man5/interfaces.5 . Lệnh Run trước khi đưa giao diện lên. Nếu lệnh này không thành công thì ifup hủy bỏ, không được đánh dấu giao diện là đã định cấu hình, in thông báo lỗi và thoát với trạng thái 0. Hành vi này có thể thay đổi trong tương lai.
chơi
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.