나는USB 무기고 Mk II데비안을 실행하고 부팅하는 것은 꽤 쉽습니다USB 호스트와의 통신.
그러나 내가 달성하고 싶은 것은 다음과 같습니다. 네트워크 어댑터를 구성하고 싶습니다.존재하다USB 무기고의 조건부 사용. 세 가지 각도:
- 호스트에서 DHCP가 활성화되어 바인딩된 경우질병통제예방센터
dhclient
IP 할당에 사용하려는 이더넷 어댑터입니다 . - 10.0.0.0/24 네트워크는 10.0.0.1(InversePath에서 제공하는 Debian 이미지에 미리 구성된 네트워크)이 할당된 인터페이스에 무조건 구성됩니다...
- 192.168.137.2(또는 .1이 아닌 다른 192.168.137.0/24 IP 주소)를 다른 IP 주소로 구성합니다(윈도우 ICS)
지금까지 이 일을 하는 것은 큰 일이 아니었습니다. 예를 들어,이 답변StackOverflow에 표시된 두 가지 방법이 있습니다(두 번째 접근 방식을 취하고 ICS 범위 주소를 다른 별칭으로 추가하겠습니다).
하지만 중요한 것은 경로를 어떻게 설정해야 하느냐는 것입니다. 이것은 내가 지금 붙어있는 부분입니다.
- DHCP가 성공하면 이를 통해 구성된 모든 것을 업링크(게이트웨이)로 사용하고 싶습니다.
- 그렇지 않은 경우 구성된 나머지 두 서브넷 중 하나에서 통신할 수 있는지 확인하고 싶습니다... 그리고 USB Armoury Mk II의 일부 스크립트를 사용하여 사용할 게이트웨이를 파악하고 싶습니다(즉, 다음을 시도하십시오. 방법) .1, .2 및 .254는 해당 /24 서브넷에 있으며 필요에 따라 "검색"을 확장합니다.)
다음에 대한 조언이 필요합니다.
- 업링크에 가장 적합한 IP 범위를 어떻게 결정합니까? 예를 들어 ARP 트래픽을 스니핑하여 지표로 사용해야 합니까? 아니면 더 신뢰할 수 있는 방법이 있습니까(예
ping -I <address>
: )? 사후 고려: 업링크 가용성 변화를 어떻게 처리할 것인가? - 일부 스크립트를 사용하는 것 외에 이를 표현할 수 있는 안정적인 방법이 있습니까?
ip-rule(8)
?
답변1
과거에 이와 같은 몇 가지 시나리오를 겪었지만 여전히 완벽한 해결책을 찾지 못했습니다.
먼저 두 개의 고정 IP를 할당할 때 라우팅 측정항목이 1000과 같이 더 높은지 확인하세요. 이렇게 하면 DHCP 기본 경로가 있는 경우 해당 경로가 낮아지고 자동으로 선택됩니다. 이것이 내가 보통 하는 일이다.
다음 질문은 훨씬 더 까다롭습니다. 왜냐하면 무엇이 좋은 업링크를 만드는가? Linux는 결코 사용자를 위해 이러한 선택을 하지 않습니다. 링크가 설정되면 링크도 설정됩니다.
내가 이러한 문제를 해결하는 시스템에서는 항상 스크립트나 데몬이 실행되고 있으며 매우 빠르게 복잡해질 수 있습니다. 우리는 주로 고정된 간격으로 엔드포인트의 연결을 테스트하고 그에 따라 라우팅을 설정하거나 인터페이스를 켜거나 끄도록 설정합니다.
때로는 선호하는 인터페이스(예: 이더넷 대 모뎀)가 있는데, 이 경우 모뎀 연결을 중단하지 않고 이더넷 연결이 작동하는지 테스트해야 하기 때문에 더 어려워집니다. ping -I 스위치가 실제로 인터페이스 별칭과 함께 작동하는지 여부는 알 수 없지만 그럴 수도 있습니다. 그렇지 않은 경우 macvlan 또는 ipvlan 등을 사용하여 주소를 완전히 분할할 수도 있습니다. 이는 또한 주소(또는 해당 가상 인터페이스)를 위 또는 아래로 설정합니다.
우리가 고려해야 하고 아마도 여러분도 고려해야 할 완전히 다른 점은 인터페이스와 서브넷을 변경할 때 때때로 다른 DNS 서버를 사용해야 하고 심지어 서비스를 다시 시작해야 한다는 것입니다.
Linux에서 장애 조치에 대한 많은 가이드를 찾을 수 있지만 이는 거의 항상 쉽게 발생하는 물리적 링크 손실을 기반으로 합니다. 또는 라우팅 테스트에 권장하는 데몬이나 스크립트가 있습니다.
그게 내 5센트입니다. 그것이 의미가 있고 그것이 여러분을 올바른 방향으로 이끌기를 바랍니다.