실제로 존재하는 경우에만 네트워크 인터페이스를 시작하는 방법


8

Ubuntu Server 12.04 실행 (GUI 없음) 커널이 물리적으로 연결된 경우에만 네트워크 인터페이스를 활성화하는 가장 좋은 방법은 무엇입니까? 따라서 존재하지 않는 경우 다른 인터페이스 (있는 경우)를 초기화하고 "네트워크 구성 대기"지연없이 로그인 화면으로 계속 진행하십시오.

예를 들어, 무선 USB 키 wlan9 (/ etc / network / interfaces에 있음)가 있습니다.

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

auto 대신 allow-hotplug 를 시도 했습니다.이 경우 부팅 중에 인터페이스가 자동으로 초기화되지 않으며 ifup wlan9로 수동으로 수행해야합니다 . 이것은 내가 찾고있는 것이 아닙니다.

감사합니다.

답변:


4

서버의 경우 : NetworkManager 사용

  1. 설치하십시오 :

    sudo apt-get install network-manager
    

    불행히도, 이것은 많은 의존성을 가져올 것입니다.

  2. 현재 구성되어 있던 인터페이스를 기존 방식으로 내립니다.

    ifdown wlan9
    
  3. /etc/network/interfaces해당 인터페이스와 관련된 모든 줄을 제거하여 수동 설정을 비활성화하십시오 .

  4. 무선 연결에 대한 연결 설정을 추가하십시오 /etc/NetworkManager/system-connections/(이름 구성).

    [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
    
    • 를 위해 uuid사용하는 명령은 uuidgen임의의 하나를 생성합니다.
    • mac-address무선 어댑터의 MAC 주소 를 사용하십시오 ( ifconfig -a wlan9찾는 데 사용). 이 구성 파일을이 어댑터에만 바인드합니다.이 어댑터가 없으면 다른 어댑터에 사용하지 않으며 어댑터가 나타날 때까지 기다리지 않습니다.
    • 다른 분야는 내가 희망하는 바를 말합니다. :)
  5. NetworkManager를 다시 시작하거나 재부팅하십시오.

    restart network-manager
    

감사합니다. 네트워크 관리자 옵션은 약간 무겁지만 더 가벼운 것을 찾지 못하면 설정하겠습니다. 플러그가 거의 작동하면 wlan9는 올라가지 만 DHCP 임대는 얻지 못합니다.
noseratio

@Noseratio 예, 이것이 실제로 가벼운 솔루션이 아니라는 데 동의합니다. GUI 종속성이없는보다 가벼운 네트워크 관리자를 알고 있다면 내 대답에 사용했을 것입니다. :)
gertvdijk

@gertvdijk mac-address라인을 제거하면 어떻게되는지 알려줄 수 있습니까 ? 모든 어댑터에서 작동합니까 아니면 충돌합니까?
DangeMask

@DangeMask 그것은 내가 생각하는 모든 어댑터에서 작동해야합니다. 그냥 시도하고 알아?
gertvdijk

@gertvdijk 방금 시도했습니다. "장치 MAC 주소"(GUI에서 삭제되고 파일에서도 사라짐)를 삭제하면 수동 연결 후 재부팅 한 후에도 네트워크 관리자가 자동으로 연결되지 않습니다. 나는 ifupdown>을 성공없이 true와 false로 설정하려고 시도했다.
DangeMask

3

로그인 화면으로 계속

GUI를 사용하는 설치 (서버가 아닌)를 사용하는 것이 좋습니다. 이에 따라이 답변을 제공하겠습니다.


NetworkManager를 사용하십시오.

  1. 인터페이스를 내립니다.

    ifdown wlan9
    
  2. /etc/network/interfaces해당 인터페이스와 관련된 모든 줄을 제거하여 수동 설정을 비활성화하십시오 .

  3. 네트워크 설정으로 이동하여 무선 네트워크 연결을 추가 / 편집하십시오.

  4. 다음과 같이 구성하십시오 (아래 스크린 샷 참조).

    1. 자동으로 연결하십시오.

    2. 올바른 MAC 주소를 선택하여 올바른 무선 어댑터에 적용하십시오. 어댑터가 없으면이 대화 상자의 이러한 연결 설정이 적용되지 않으므로 모든 어댑터에 다른 MAC 주소가 있기 때문에이 대화 상자가이 특정 어댑터에 "바인딩"됩니다. 그리고 아닙니다. 이것은 WiFi AP의 MAC 주소가 아닙니다-BSSID입니다.

    3. 모든 사용자가 사용할 수 있도록하십시오 (이미 로그인 화면에서 자동으로 연결됩니다). 필요한 설정을 제공 할 때까지이 설정은 회색으로 표시됩니다.

    물론 보안, SSID 등에 대한 다른 세부 정보도 입력하십시오.

    여기에 이미지 설명을 입력하십시오


죄송합니다. Ubuntu Server를 지정하지 않았습니다. 어쨌든 고마워, 나는 내 데스크톱 요구에 대한 힌트를 저장했습니다.
noseratio

1
@Noseratio 아 ... 너무 나쁘다. 이제 서버 설치에 대한 답변을 작성하십시오. 다음에 더 구체적이고 자세하게 질문하십시오.
gertvdijk

나는 할 것이다. 멍청한 놈을 용서하십시오 :)
noseratio

3

추가 패키지에 의존하지 않는 다음 솔루션을 생각해 냈습니다.

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

우아하지는 않지만 내가 원하는 것을 수행합니다. 무선 동글이 연결되어 있지 않으면 부팅 지연없이 wlan9 초기화를 건너 뛰고 그렇지 않으면 가져옵니다.


좋은. 그러나 이것이 어떻게 초기화를 건너 뛰는가? pre-up지시문 에서 아무것도 취소하지 않습니다 .
gertvdijk

1
이것은 두 가지 요소의 산물이라고 생각합니다. 1) inet manual- 실제로는 pre-up 조치에 의존합니다 . pre-up 또는 up 이 없으면 커널은이 스탠자를 건너 뜁니다
noseratio

예, 가능하지만 맨 페이지에 따르면 wpa-*지시문을 포함한 다른 모든 설정 은 manual방법에 적용되지 않습니다 . 일종의 문서화되지 않은 행동처럼 보입니다.
gertvdijk

1
그것은이 두 가지 요인의 산물이라고 생각 : 내가 코멘트와 함께 엉망, 여기에 내가 말을 무엇을 의미 1) INET 매뉴얼 - 정말에 의존하므로 사전까지 아무것도 할 조치 : 존재하지 않는 경우는 사전 업 또는 , 커널은이 스탠자를 건너 뜁니다. 2) 인터페이스가 존재하지 않으면 [-f / sys / class / net / wlan9 / operstate] 가 1을 반환하고 사전 준비 가 실패하면 초기화 또는 지연이 발생하지 않습니다.
noseratio

이전까지의 동작은 실제로 설명되어 있지만 미래에 변경 될 수 있습니다 manpages.ubuntu.com/manpages/precise/man5/interfaces.5 . pre-up 인터페이스를 시작하기 전에 명령을 실행하십시오. 이 명령이 실패하면 ifup이 중단되고 인터페이스를 구성된 것으로 표시하지 말고 오류 메시지를 인쇄하며 상태 0으로 종료합니다.이 동작은 나중에 변경 될 수 있습니다.
noseratio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.