내 개인 네트워크에는 두 개의 장치가 있습니다. 한 컴퓨터의 IP는 10.42.0.1이고 다른 컴퓨터의 IP는 10.42.0.173입니다.
한 컴퓨터에서 다른 컴퓨터로 또는 그 반대로 핑을 보낼 수 있습니다.
ifconfig를 통해 IP를 10.42.0.173에서 예를 들어 10.42.0.43으로 변경하려면:
ifconfig eth0 10.42.0.43 netmask 255.255.255.0 broadcast 10.42.0.255
아직 ping이 가능해요.
하지만 내가 원하는 경우에는 10.42.0.173 형식을 예를 들어 10.42.1.43 형식으로 변경합니다.
ifconfig eth0 10.42.1.43 netmask 255.255.0.0 broadcast 10.42.1.255
10.43.1.43에서 10.42.0.1로 ping할 수 있지만 반대쪽(10.42.0.1에서 10.42.1.43)에서는 ping할 수 없습니다.
아마도 라우팅 테이블에 문제가 있는 것 같습니다. 그런데 어떻게 설정할 수 있는지 모르겠습니다.
답변1
첫 번째 장치에는 10.42.0.1
서브넷 마스크가 24비트일 가능성이 가장 높은 IP 주소가 있습니다( 255.255.255.0
). 10.42.1.255
게이트웨이 없이 보려면 서브넷 마스크를 24비트 이하( 255.255.254.0
또는 그 이하) 로 설정해야 합니다.둘 다기계
답변2
넷마스크 오류입니다.
ifconfig eth0 10.42.0.43 netmask 255.255.255.0 broadcast 10.42.0.255
I can still have ping.
이는 10.42.0.1에서 시작하여 10.42.0.254로 끝나는 254개의 호스트가 있는 네트워크 10.42.0입니다 .
방송은 10.42.0.255입니다.
But when I want change it from 10.42.0.173 for example to 10.42.1.43 by
ifconfig eth0 10.42.1.43 netmask 255.255.0.0 broadcast 10.42.1.255
그것은 완전히 다른 네트워크입니다. 브로드캐스트는 10.42.1.255
이고 10.42.0.255는 일반 호스트 IP입니다.
동일한 LAN에 두 가지를 모두 연결하십시오. 동일한 넷마스크를 사용합니다.
답변3
컴퓨터는 10.42.1.43/255.255.0.0
상대방이 의 네트워크에 있다고 생각합니다
10.42.x.x/255.255.0.0
. 다른 쪽이 에 있다고 가정
10.42.0.1/255.255.0.0
하고 행복하게 ping 패킷을 시작할 것입니다.
그러나 반대로, 의 10.42.0.1/255.255.255.0
IP는
10.42.1.43
네트워크에 없고 패킷을 에 전달하기 위한 라우팅 규칙이 없습니다 10.42.1.x
. 따라서 사용할 네트워크 경로가 없기 때문에 ping이 실패합니다. 즉, 10.42.0.1
은(는) 네트워크 패킷을 에 보내는 방법을 모릅니다 10.42.1.x
.
물리적 네트워크에서 실행되는 패킷은 연결된 모든 장치에서 수신됩니다. 각 장치는 각 패킷을 검사하여 해당 패킷의 주소가 지정되어 있는지 확인합니다. 따라서 요점은 패킷을 실행하는 것인데, 첫 번째 경우에는 발생하지만 두 번째 경우에는 발생하지 않습니다.