라우터가 특정 장치를 차단합니다

라우터가 특정 장치를 차단합니다

새 라우터를 통해 컴퓨터를 인터넷에 연결하려고 하는데 지금까지 본 것 중 가장 혼란스러운 방식으로 작동하지 않습니다.

  1. 일반적인 방법으로 Wi-Fi 네트워크에 연결하면

    Computer --(Wifi)--> Router
    

    그러면 아무 문제 없이 라우터에 ping을 보낼 수 있습니다. 하지만 8.8.8.8에는 ping을 보낼 수 없습니다.

    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    

    말할 필요도 없이 다른 사이트에도 접속할 수 없었습니다.

  2. 이더넷으로 전환하면,

    Computer --(Ethernet)--> Router
    

    그러면 상황은 (1)과 정확히 동일하여 Wi-Fi 문제가 아님을 나타냅니다.

  3. 그런 다음 아래 그림과 같이 다른 두 전화기를 라우터에 연결했습니다.

    Computer --(Wifi)--> Router
    Phone 1  --(Wifi)--> Router
    Phone 2  --(Wifi)--> Router
    

    두 휴대폰 모두 정상적으로 인터넷에 접속할 수 있고 세 장치가 서로 및 라우터에 ping을 보낼 수 있지만 컴퓨터는 여전히 인터넷에 접속할 수 없습니다.

  4. USB 테더링을 통해 컴퓨터에 연결하기 위해 휴대폰을 중개자로 사용해 보았습니다.

    Computer --(USB tethering)--> Phone --(Wifi)--> Router
    

    컴퓨터가 여전히 인터넷에 연결할 수 없습니다. 하지만 휴대폰을 모바일 데이터로 전환하면

    Computer --(USB tethering)--> Phone --(Mobile Data)--> Mobile Network
    

    모든 것이 잘 작동하며 이는 네트워크 공유 설정에 문제가 없음을 나타냅니다.

내가 시도한 것들

  • (과거에는) 다른 라우터를 사용하십시오. 그들은 모두 일했습니다.

  • 컴퓨터의 무선 규제 도메인이 올바르게 설정되었는지 확인했습니다.

  • 라우터를 다시 시작하십시오.

  • 라우터를 재설정할 수 없습니다.

  • 컴퓨터의 MAC 주소를 스푸핑합니다. 이더넷을 사용할 때를 제외하고는 아무런 차이가 없습니다. 이제 라우터에 전혀 연결할 수도 없습니다.

  • 지하철을 이용하세요. mtr 8.8.8.8을 실행하면 다음과 같은 결과가 나타납니다.

     Host
     1. _gateway
     2. 10.12.0.1
     3. (waiting for reply)
    

    10.12.0.1이 라우터 주소인 것 같아요. 그러나 그것은 그 이상으로 발전하지 않으며 확실히 dns.google에는 포함되지 않습니다.

  • Arch Wiki에서 권장하는 대로 TCP 창 크기 조정을 비활성화합니다. 이것은 완전히 어둠 속에서 촬영되었습니다. 그것도 작동하지 않습니다.

  • Arch Linux 대신 Debian LiveUSB를 실행하세요.

  • mtu를 1500에서 128로 줄입니다. [추가]

기타 유용한 정보[추가]

  • 콘텐츠 /etc/resolv.conf:

     # Generated by NetworkManager
     nameserver 127.0.0.1
     options edns0 trust-ad
    
  • 콘텐츠 NetworkManager.conf:

     [main]
     plugins=keyfile
     dns=dnsmasq
     dhcp=internal
    
  • 이더넷을 통해 연결된 경우 시스템 로그:

    https://pastebin.com/rAQqjvmk

일반화하다

내가 무엇을 하든 이 라우터는 내 컴퓨터에서 제대로 작동하는 것 같습니다. 어떻게 든 그것은 가짜 MAC 주소와 새로운 운영 체제를 사용하여 내 전화기 뒤에 숨겨져 있을 때 내 컴퓨터를 인식하기도 했습니다. 이 시점에서 제가 추측하는 가장 좋은 추측은 일부 하드웨어 식별 정보가 어떻게든 핑 패킷에 들어가 라우터가 이를 블랙리스트에 추가했다는 것입니다. 따라서 질문은 분명합니다.

  • 작동하지 않는 원인은 무엇입니까?
  • 어떻게 작동하게 합니까?

답변1

토론해 주셔서 감사합니다채팅, 나는 문제를 성공적으로 해결하고 뭔가를 배웠습니다.

이유

여기에서 두 가지 불쾌한 일이 일어나고 있습니다. 둘 다 내 라우터와 인터넷 사이에 있는 네트워크 스위치와 관련되어 있습니다.

컴퓨터-->라우터-->변화-->인터넷

  1. 스위치가 ping 패킷을 차단하고 있습니다.

    즉, 인터넷에 연결할 수 있더라도 ping, traceroute, . 등의 도구가 tracepath작동하지 않으므로 이 경우 진단 도구로 사용할 수 없습니다. mtr분명히 일부 관리자는 "보안상의 이유로" 이러한 도구를 비활성화했지만, 제가 아는 한 이 도구는 결국 많은 혼란을 야기했습니다. 나는 이것을 야생에서 본 적이 없고 그것이 이루어지고 있다는 것을 들어본 적도 없기 때문에 이것이 선택 사항이라고 생각하지 않습니다. 여기서 배울 수 있는 교훈은 ping자신이 항상 이용 가능하다고 믿을 수는 없다는 것입니다 .

    라우터 자체는 핑 패킷을 잘 처리합니다. 이는 동일한 라우터에 연결된 다른 장치를 ping할 수 있지만 다른 작업을 수행할 수 없는 이유를 설명합니다.

    (사실 이 추론은 너무 순진할 수도 있습니다. @Cbhihe에 따르면채팅, 결국 라우터가 차단 중일 수 있습니다. 아직은 알 수 없지만, 위의 그림은 여전히 ​​문제가 무엇인지 알려주는 유용한 모델입니다. )

그러나 이것이 문제의 원인은 아닙니다. 이를 조사하려는 시도는 좌절될 뿐입니다. 그러나 이러한 변화가 한 면에서 악하다는 점을 고려하면 다른 면에서도 악할 수 있습니다. 이로 인해 우리는 ...

  1. 로컬 DHCP 서버가 DHCP 클라이언트와 제대로 통신할 수 없습니다.

    각 컴퓨터에는 네트워크에 연결할 때 IP 주소를 할당하기 위한 DHCP 클라이언트가 필요합니다. 내 것은 dhcp=internal에서 설명한 대로 NetworkManager의 내부 dhcp 클라이언트입니다 NetworkManager.conf. 이 DHCP 클라이언트는 매우 기본적인 것으로 밝혀졌습니다. 과거에는 작동했지만 이 DHCP 서버에서는 작동하지 않습니다. 내 컴퓨터의 IP 주소 정보가 잘못 설정되어 있는 것으로 나타났습니다.

    정확히 무엇이 잘못 설정되었는지 모르겠습니다. 물론, 내 컴퓨터는 그림과 같이 이미 유효한 IP 주소를 받았습니다. ip addr그렇지 않으면 전화기에서 해당 주소를 핑할 수 없습니다. 하지만 뭔가 다른 문제가 있는 것 같습니다. 스위치가 진정되지 않아 모든 IP 패킷이 삭제되기 때문입니다.

    루프백 주소 127.0.0.1에는 문제가 없습니다 /etc/resolv.conf. 이는 dns=dnsmasqNET에서 설명한 것처럼 DNS 캐싱에 dnsmasq를 사용하고 있다는 사실을 반영합니다 NetworkManager.conf. 아이디어는 dnsmasq가 127.0.0.1에서 DNS 요청을 수신하고 캐시에 있는지 확인하고 그렇지 않은 경우 실제 DNS 서버로 전달한다는 것입니다. 나는 오래 전에 이것을 미세 최적화로 설정했습니다. 실제 DNS 서버는 합리적인 값으로 설정되어 있으므로 여기서는 DNS가 직접적인 요인은 아닌 것 같습니다. 문제를 해결하기 위해 여전히 DNS 서버와 통신할 수 없지만 이는 올바르게 설정되지 않았기 때문이 아니라 이미 언급한 문제 때문입니다.

해결책

문제의 원인은 내 DHCP 클라이언트입니다. 나는 그것을 더 강력한 것으로 교체했고 dhclient모든 것이 잘되었습니다. 여전히 핑을 할 수는 없지만 인터넷에 접속할 수 있다는 점이 중요합니다.

더 나은 구성

좀 더 구성한 후에 dnsmasq를 최신 systemd-resolved로 교체하기로 결정했는데 모든 것이 여전히 작동합니다. 지금 내가 NetworkManager.conf읽고 있는 것은

[main]
plugins=keyfile
dns=systemd-resolved   # Not strictly necessary, but helpful to remind me
dhcp=dhclient

그 중 dhclient는 설정하지 않아도 되지만, systemd-resolved는 설정해야 합니다.

systemctl start systemd-resolved
systemctl enable systemd-resolved
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

답변2

귀하의 솔루션이 나에게도 효과가 있음을 확인했습니다. 상황은 약간 다르지만 궁극적으로 문제는 NetworkManager의 DHCP 클라이언트입니다. 내 서버(NetworkManager 포함)가 선택할 장치로 표시되지 않기 때문에 내 라우터(GoogleWifi/Nest)에서 포트 포워딩을 할 수 없습니다. dhclient를 추가하고 새 클라이언트를 반영하도록 구성을 변경했습니다. 화면 새로 고침을 누르면 붐이 발생합니다.

관련 정보