안정적으로 신뢰할 수없는 연결을 진단하는 방법은 무엇입니까?


9

내가 지금 사는 곳에 인터넷 연결 (유선)은 다음과 같은 이상한 증상을 보여줍니다. 호스트 이름을 사용하는지 아니면 IP 주소를 사용하는지에 관계없이 독립된 것으로 보입니다.

  • 핑 작업
  • Skype 작동
  • Wget은 연결되지만 응답을받지 않습니다. (시간이 초과 될 때까지 "HTTP 요청 전송, 응답 대기"에서 대기합니다.)
    • 도메인의 작은 하위 집합을 제외하고 작동합니다.
  • ssh 명령 ( ssh host ls)이 작동합니다.
  • 대화식 ssh는 잠시 동안 작동하지만 ls매번 같은 지점에서 첫 번째 시간과 같이 빠르게 중단 됩니다.
  • Windows에서는 모든 것이 잘 작동합니다.

이것을 더 진단하려면 어떻게해야합니까? 지금까지 방금 응용 프로그램 계층을 살펴 보았습니다. 인터넷 연결이 분명하기 때문에 Firefox를 터널링 할 방법이 있어야하지만 먼저 문제를 해결하고 싶습니다.

큰 패킷이 통과하지 못하는 것과 관련이 있습니다. MTU가 있다는 것을 알았지 만 eth0으로 설정하면 문제가 해결되지 않습니다. PPPOE와 라우터 뒤에 있다고 생각합니다. 외부 IP는 Windows 및 Linux에서 동일합니다.

일부 명령의 출력 :

ip link show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1024 qdisc mq state UP qlen 1000
    link/ether 00:26:aa:aa:aa:61 brd ff:ff:ff:ff:ff:ff
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether c4:17:aa:aa:aa:ff brd ff:ff:ff:ff:ff:ff
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 5e:49:aa:aa:aa:27 brd ff:ff:ff:ff:ff:ff

ip route show

192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.4  metric 1 
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1 
169.254.0.0/16 dev eth0  scope link  metric 1000 
default via 192.168.1.1 dev eth0  proto static 

ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1024 qdisc mq state UP qlen 1000
    link/ether 00:26:2d:78:ac:61 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 brd 192.168.1.255 scope global eth0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether c4:17:fe:3b:56:ff brd ff:ff:ff:ff:ff:ff
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 5e:49:01:03:55:27 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
    inet6 fe80::5c49:1ff:fe03:5527/64 scope link 
       valid_lft forever preferred_lft forever

최대 1468 크기의 핑을 보낼 수 있습니다.

tim@milagros:/$ ping -M do -c 1 -s 1470 stackexchange.com
PING stackexchange.com (64.34.119.12) 1470(1498) bytes of data.
   --- stackexchange.com ping statistics ---
   1 packets transmitted, 0 received, 100% packet loss, time 0ms

tim@milagros:/$ ping -M do -c 1 -s 1468 stackexchange.com
PING stackexchange.com (64.34.119.12) 1468(1496) bytes of data.
1476 bytes from stackoverflow.com (64.34.119.12): icmp_seq=1 ttl=52 time=176 ms
   --- stackexchange.com ping statistics ---
   1 packets transmitted, 1 received, 0% packet loss, time 0ms
   rtt min/avg/max/mdev = 176.539/176.539/176.539/0.000 ms



tim@milagros:~/projekt/perl$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:26:2d:78:ac:61  
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:161 errors:0 dropped:0 overruns:0 frame:0
          TX packets:194 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:143947 (143.9 KB)  TX bytes:67727 (67.7 KB)
          Interrupt:16 

6
나는 MTU 문제를 냄새 맡는다 . 설명을 보려면 거기에 내 대답을 읽으십시오. 문제 해결에 도움이 필요한 경우 설정에 대한 자세한 정보를 제공해야합니다.
— Gilles 'SO- 악마 중지'

@Gilles : 필요한 단계보다 훨씬 낮은 MTU를 설정하더라도 이러한 단계를 따르려고했지만 문제를 해결하지 못하는 것 같습니다. ifconfig실제로 MTU가 올바르게 설정되었다고 주장합니다.

@ 팀 : 그런 다음 네트워크 설정을 설명해야합니다. 어떤 OS를 사용하고 있습니까? 컴퓨터에서 네트워크는 어떻게 구성됩니까 (정적 구성, Network Manager 등)? 귀하와 귀하의 ISP 사이에 귀하의 통제하에 다른 장치 (라우터?)가 있습니까? 어떤 방법으로 ISP에 연결합니까? 핑 측정은 어떻게 되었습니까?
— Gilles 'SO- 악마 중지'

@Tim,이 문제를 해결 했습니까?
— Mike Pennington

1
@ Mike : 문제는 HTTP에만 국한된 것이 아닙니다. SCP에는 최대 파일 크기 제한이 있으며 출력이 너무 많으면 SSH 세션이 작동을 멈추고 핑이 너무 크게 떨어집니다.

답변:


8

팀, 나는 MTU 변경에 대한 의심을 무시할 것을 정중하게 권고합니다. 귀하의 문제는 MTU 문제로 작성되었으며 15 년 이상 전문 네트워크 엔지니어였습니다.

MTU가 도움이되는지 확인하려면 DFIP 헤더에 설정된 비트로 ping을 사용하여 Linux 시스템에서 테스트를 수행하십시오 .

ping -M do -s 1232 <some pingable internet ip address>

-sPPPoE IP MTU가 1300 바이트라고 가정 하고 매개 변수를 계산했습니다 . 핑이 성공하면 -s 1472무슨 일이 일어나는지보고 사용 하십시오. 핑이 실패하면 MTU 문제가 있다는 결론을 내립니다 (이더넷 링크 MTU를 낮게 설정하지 않은 경우). 참고 -s 1472로 1500 바이트 이더넷 페이로드 에코 요청을 보냅니다. -M do -s 1472IP 헤더에 설정된 DF 비트와 동일한 1500 바이트 페이로드를 보냅니다.

또한 MTU가 설정해야합니다 기억 모두 당신이 당신의 모뎀을 또한이 작업을 수행 할 필요가 그래서 ... 링크의 측면.

편집하다

팀, 여전히 요청한 명령을 실행하지 않았습니다 . 내가 한 일에 무엇이 잘못되었는지 예를 들어 보겠습니다. 8.8.8.8 경로에서 IP 조각화를위한 방화벽으로 인해 대상 호스트를 stackexchange.com으로 수정해야합니다.

부정적인 예 (ping 플래그 사용)

[mpenning@Bucksnort ~]$ ping -c 1 -s 65507 64.34.119.12
PING 64.34.119.12 (64.34.119.12) 65507(65535) bytes of data.
65515 bytes from 64.34.119.12: icmp_seq=1 ttl=51 time=53.2 ms

--- 64.34.119.12 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 53.246/53.246/53.246/0.000 ms
[mpenning@Bucksnort ~]$

수사적 질문 : 64KB 핑 패킷은 1500 바이트 이더넷 세그먼트를 어떻게 통과 했습니까? 요청한 정보를 게시하지 않으면 도움이되지 않습니다. 이것은 같은 예입니다.ping -M do

긍정적 인 예

[mpenning@Bucksnort ~]$ ping -M do -c 1 -s 65507 64.34.119.12
PING 64.34.119.12 (64.34.119.12) 65507(65535) bytes of data.
From 24.102.60.3 icmp_seq=1 Frag needed and DF set (mtu = 1500)

--- 64.34.119.12 ping statistics ---
0 packets transmitted, 0 received, +1 errors

[mpenning@Bucksnort ~]$

ping -M do경로를 따라 최대 MTU에 대한 정보를 제공합니다 (이 경우 첫 번째 홉 이더넷 세그먼트의 크기 IP MTU는 1500 바이트 임을 알 수 있습니다 ).

최종 노트 :

A. 기본적 ping으로 IP 조각화가 허용 되므로 핑은 일련의 IP 조각으로 완료 될 수 있습니다 . 링크를 통과 할 수있는 최대 패킷 크기를 찾으 려면 끝에 표시된 여러 조각화 된 응답을 얻지 않도록 IP 헤더 (그림으로 표시 -M do)를 수정해야합니다 . 사용 ping -c 1 -s 65507 64.34.119.12:

[mpenning@Bucksnort ~]$ sudo tshark -n -i eth0 icmp
  1   0.000000 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=0)
  2   0.000058 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=1480)
  3   0.000071 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=2960)
  4   0.000081 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=4440)
  5   0.000094 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=5920)
  6   0.000105 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=7400)
  7   0.000116 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=8880)
  8   0.000124 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=10360)
  9   0.000133 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=11840)
 10   0.000143 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=13320)
 11   0.000152 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=14800)
 12   0.000162 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=16280)
 13   0.000172 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=17760)
 14   0.000181 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=19240)
 15   0.000191 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=20720)
 16   0.000201 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=22200)
 17   0.000211 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=23680)
 18   0.000221 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=25160)
 19   0.000230 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=26640)
 20   0.000240 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=28120)
 21   0.000250 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=29600)
 22   0.000259 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=31080)
 23   0.000269 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=32560)
 24   0.000278 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=34040)
 25   0.000288 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=35520)
 26   0.000298 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=37000)
 27   0.000308 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=38480)
 28   0.000318 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=39960)
 29   0.000327 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=41440)
 30   0.000337 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=42920)
 31   0.000352 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=44400)
 32   0.000361 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=45880)
 33   0.000372 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=47360)
 34   0.000384 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=48840)
 35   0.000394 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=50320)
 36   0.000403 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=51800)
 37   0.000411 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=53280)
 38   0.000419 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=54760)
 39   0.000428 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=56240)
 40   0.000437 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=57720)
 41   0.000446 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=59200)
 42   0.000455 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=60680)
 43   0.000466 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=62160)
 44   0.000477 24.102.60.3 -> 64.34.119.12 IP Fragmented IP protocol (proto=ICMP 0x01, off=63640)
 45   0.000486 24.102.60.3 -> 64.34.119.12 ICMP Echo (ping) request
 46   0.044402 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=0)
 47   0.044439 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=1480)
 48   0.044899 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=2960)
 49   0.044910 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=4440)
 50   0.044916 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=5920)
 51   0.045149 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=7400)
 52   0.045399 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=8880)
 53   0.045409 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=10360)
 54   0.045415 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=11840)
 55   0.045649 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=13320)
 56   0.045899 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=14800)
 57   0.045908 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=16280)
 58   0.045915 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=17760)
 59   0.046148 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=19240)
 60   0.046163 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=20720)
 61   0.046402 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=22200)
 62   0.046421 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=23680)
 63   0.046650 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=25160)
 64   0.046668 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=26640)
 65   0.046901 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=28120)
 66   0.046918 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=29600)
 67   0.047151 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=31080)
 68   0.047171 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=32560)
 69   0.047399 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=34040)
 70   0.047418 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=35520)
 71   0.047424 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=37000)
 72   0.047650 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=38480)
 73   0.047900 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=39960)
 74   0.048149 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=41440)
 75   0.048165 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=42920)
 76   0.048172 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=44400)
 77   0.048178 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=45880)
 78   0.048398 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=47360)
 79   0.048650 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=48840)
 80   0.048667 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=50320)
 81   0.048674 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=51800)
 82   0.048900 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=53280)
 83   0.048922 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=54760)
 84   0.049150 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=56240)
 85   0.049174 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=57720)
 86   0.049398 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=59200)
 87   0.049649 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=60680)
 88   0.049671 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=62160)
 89   0.049677 64.34.119.12 -> 24.102.60.3 IP Fragmented IP protocol (proto=ICMP 0x01, off=63640)
 90   0.049683 64.34.119.12 -> 24.102.60.3 ICMP Echo (ping) reply

MTU 문제가 있음을 전적으로 동의합니다. 내가 한 것은 다른 크기의 핑을 테스트하여 한계가있는 곳을 찾는 것입니다. 그러나 eth0 ( ifconfig eth0 mtu 1232이라고 생각합니다)에 MTU를 설정해도 문제가 변경되지 않습니다. MTU를 한계보다 훨씬 낮게 설정해도 마찬가지입니다. 링크의 반대쪽에 MTU를 설정해야한다는 것을 몰랐습니다. MTU를 자동 조정하는 것처럼 보이는 Windows 7은 어떻게합니까?

1
@Tim, 아직 Windows 7에 대한 질문에 대답 할 수 없습니다 ... 몇 가지 가능성이 있습니다 ... 1) isp 기술자 또는 isp 소프트웨어가 설정했습니다. 2) 그들은 처리하는 방법의 차이 경로 MTU 검색이 거기에서 갈 곳을 ...이 놀이의 다른 역학,하지만 할 수있는의는 핑과 그림의 출력을 얻을
— 마이크 페닝 턴

물론, 오늘 저녁에 드리겠습니다.

@Tim, 여전히 디버깅에 관심이 있다면 핑 결과를 편집하십시오.
— Mike Pennington

@ 마이크 : 물론입니다. 출력을 추가했습니다. Windows와 Linux는 동일한 IP를 갖습니다. 앞서 언급 한 MTU가 eth0에 대한 MTU를 설정했기 때문에 발생했습니다. 을 사용 ifconfig eth0 mtu 1500하면 ping 크기가 1468에 표시되어 헤더와 함께 1500에 매우 가깝습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.