Windows XP ICS를 사용할 때 apt-get 업데이트가“대기열 대기”에 멈춤 약 4 시간이 소요됨)

예비 PC에 Maverick 서버를 설정하고 있습니다. 설치가 정상적으로 완료되고 시스템이 쉘로 부팅됩니다. apt-get update그러나을 시도 할 때 apt는 메시지와 함께 거의 모든 항목에 매달리며 99% [Waiting for headers]때로는 96 b/s맨 오른쪽에 메시지가 나타납니다. 주장하는 실제 비율도 다릅니다.

온라인으로 주변을 검색하면 옵션을 사용하여 잠재적 인 솔루션을 준 Acquire::http::Pipeline-Depth="0"다소 문제를 완화를가 위와 같은 메시지와 함께 다른 모든 항목을 포장 마차 즉.

기다릴 경우 (전체 업데이트에 약 4 시간이 소요됨) PC에서 서버를 핑할 수 있다는 사실에도 불구하고 적중의 상당 부분에 “연결할 수 없음”또는 유사한 메시지가 표시되어 업데이트가 실패합니다. 좋아.

이 문제는 성공하지 않고 수십 개의 미러를 시도했지만 사용 된 미러와 관련이 없으며, mainsources.list 의 항목을 제외한 모든 것을 주석 처리하려고 시도했지만 여전히 업데이트를 거부합니다.

핑과 wget (성공적인 업데이트를 실행할 때까지 lynx를 설치할 수 없음) 때문에 네트워크 연결이 정상입니다. 운이 없어도 배포판을 다시 설치했습니다.

설정에서 이상한 점은 PC가 ICS가 올바르게 구성된 Windows 랩톱을 통해 인터넷에 연결되어 있지만 이전에 말했듯이 네트워크 연결에 문제가 없다는 것입니다.



답변

Windows XP에서 일반적으로 ICS 및 IP 전달을 구현하는 데 근본적인 문제가있는 것 같습니다. 동일한 서버에 대한 여러 연결을 처리 할 수 ​​없을 수 있습니다. 그러나 최종 결과는 XP가 Linux 시스템의 유능한 라우터 / 프록시로 작동 할 수 없다는 것입니다 (비 Windows 시스템의 경우 의도적으로 제한이있을 수 있음).

이것은 ICS에만 국한되지 않는다는 점에 주목하는 것이 흥미 롭습니다. Windows 레지스트리에는 네트워크 인터페이스에 대한 IP 전달을 허용하는 숨겨진 옵션이 있으며 동일한 문제가 발생합니다.

유일한 해결책은 네트워크 토폴로지를 변경하여 ICS (직접 연결하거나 전용 스위치 / 액세스 포인트 구매)를 피하거나 다른 OS를 사용하여 임시 브리지를 설정하는 것입니다. 나는 우분투 라이브 CD (내 컴퓨터가 아니 었거나 시작하기 위해 * nix를 실행했을 것입니다)를 사용하고 패킷 전달 및 IP 마스커레이딩을 활성화하여 컴퓨터가 선의의 라우터로 작동합니다.


답변

웹에는 IP6의 ICS 문제에 대한 소문이 있습니다 (확인할 수 없습니다). 그들은 ICS가 둘 이상의 IP6 연결을 수신하면 잠시 정지한다고 말했다. 이것은 wget이 작동하는 이유 (하나의 연결 만)와 apt-get 업데이트가 실패하는 이유를 설명 할 수 있습니다 (많은 동시 연결).

이것이 문제인지 테스트하기 위해 서버에서 IP6을 비활성화 할 수 있습니다.

다음을 사용하여 터미널에서 IP6을 비활성화 할 수 있습니다.

echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf

그런 다음 재부팅 하고 업데이트 할 수 있는지 확인하십시오. 그것이 작동하면 문제의 위치를 ​​알고 있습니다. IP6 영구적을 비활성화하거나 새로운 설정을 계획 할 수 있습니다. IP6 비활성화는 일시적인 해킹이 될 것이며 IP6는 가까운 미래에 피할 수없는 것처럼 보입니다.

IP6을 다시 활성화하려면 /etc/sysctl.conf에서 이전 줄을 삭제하고 다시 부팅하십시오.


답변