특정 연결 시 특정 IP에 대한 연결 방지

특정 연결 시 특정 IP에 대한 연결 방지

여기에 문제가 있습니다. 내 DEV 컴퓨터에는 두 개의 네트워크 연결이 있습니다.

LAN - 건물 네트워크와 인터넷에 연결됩니다. IP는 DHCP에 의해 할당되며 192.168.30.XX입니다.

LOCAL - 하나의 테스트 머신이 있는 스위치에 연결합니다. IP는 192.168.25.100입니다. 그리고 테스트 머신은 192.168.25.2에 있습니다.

지금은 TEST 시스템을 원격으로 재부팅한 다음 ping을 실행하여 언제 다시 작동하는지 확인합니다.

문제는 어제 누군가 (아마도 실수로) IP가 192.168.25.2인 건물 LAN에 컴퓨터를 추가했기 때문에 이제 테스트 컴퓨터가 재부팅되고 이에 대해 핑을 보내면 LAN에 있는 이 원격 컴퓨터로부터 응답을 받는다는 것입니다. , 내 소프트웨어는 TEST 시스템이 백업되었다고 생각하고 로그인을 시도합니다. 이는 분명히 실패합니다. TEST 시스템이 응답하지 않고 여전히 재부팅 중이기 때문입니다.

내 질문은 다음 중 하나를 수행하는 방법입니다.

  1. 192.168.25.2에 대한 모든 요청이 LAN을 통해 나가는 것을 방지합니다.
  2. 192.168.25.2에 대한 모든 요청이 LOCAL을 통해 나가도록 강제합니다.

업데이트: 가장 좋은 해결책은 192.168.25.2에 대한 패킷이 한 인터페이스에서는 차단되고 다른 인터페이스에서는 정적으로 라우팅되도록 라우팅 테이블을 수정하는 것입니다.

문제는 다음을 사용하여 정적 경로를 추가할 수 있다는 것입니다.

route add 192.168.25.100 mask 255.255.255.255 192.168.25.2

그러나 Windows는 여전히 자동으로 LAN으로 장애 복구하고 해당 고정 경로가 실패할 경우 그곳에서 ping을 시도합니다.

라우팅 테이블 내에서 특정 인터페이스나 게이트웨이로의 트래픽을 차단하는 방법이 있나요?

답변1

왜 이전에 이것을 생각하지 않았는지 모르겠지만 가장 간단한 해결책은 Windows 방화벽 내에 사용자 지정 규칙을 만들어 특정 인터페이스 또는 연결 유형에서 지정된 IP와의 연결을 차단하는 것입니다.

업데이트: 실제로 문제가 해결되지는 않습니다. 이로 인해 ping이 시간 초과나 도달할 수 없는 대상이 아닌 "일반 오류"로 다시 돌아옵니다. "일반적인 오류"는 C#에서 예외를 발생시키며 이를 포착하기 위한 처리기를 작성해야 합니다.

다시 말하지만, 예외 처리기를 작성할 수도 있지만 그다지 우아하지는 않습니다.

답변2

누군가가 네트워크에 '기계를 추가'하고 DHCP 범위 외부의 고정 IP 주소를 부여한 경우 아마도 다른 문제도 겪고 있을 것입니다... 프린터/다른 기계/기타 이상한 문제로 인해 연결할 수 없습니다. 다른 서브넷에 있습니다. 이 사람이 누구인지 알아내고 PC를 올바르게 설정하십시오(예: DHCP에서!).

서버에서 DHCP 범위가 올바르게 설정되어 있는지 확인한 다음 '불량' PC에 대한 임대가 있는지 확인하세요. 발견되면 만료하세요. 그런 다음 다른 서브넷에서 사용하려는 PC에 대한 DHCP 예외가 아직 없으면 추가하십시오. 이 작업을 수행한 후에는 서버에서 DNS를 플러시하는 것이 좋습니다.

당신이 네트워크 관리자가 아니라면 그들을 참여시키십시오. 사람들이 방법을 모른다면 네트워크에 PC를 설정해서는 안 됩니다!

이미 알고 있듯이 IP 주소를 차단하는 가장 좋은 방법은 해당 주소를 방화벽에 추가하는 것입니다. 또한 방화벽에 예외를 추가할 수도 있습니다.

관련 정보