두 개의 IP가 같은 네트워크에 있으면 bash 스크립트로 테스트하고 싶습니다.Linux : 같은 네트워크에 있는지 확인하십시오.
나는 IP $remoteIP
을 가지고 있고 나는 동일한 네트워크에있는 경우 내 현재의 시스템으로 (로컬 영역 네트워크) 테스트 할 (지금의 서브넷 마스크 예를 들어 $remoteIP
= 192.168.2.200
및 hostname -I
= 192.168.2.13
예를 255.255.255.0
이들에 대한 호스트가 동일한 네트워크에 있습니다. 192.168.1.32의 호스트는 같은 네트워크에 있지 않습니다.)
로컬 네트워크의 컴퓨터에서 ssh를 실행했는지 확인하고 싶습니다. 직접 IP가있는 일부 서버. ps1-prompt (녹색 = 아니오 ssh, 노란색 = 로컬 네트워크, 빨간색 = 온라인 서버)의 색을 지정하려면
처음에는 큰 서브넷 마스크 (255.0.0.0, 255.255) 만 지원하면됩니다. 0.0, 255.255.255.0).
그래서 나는 다음과 같은 단계를 필요는 SSH 접속이 마스크 무엇 서브넷
- 가져 오기 서브넷 마스크
- (단순 [...] 경우) ssh 연결이 오는 것을 통해 IP 주소를 얻으십시오
- 원격 IP 주소를 얻으십시오 (나는 몇몇 환경 변수에서 생각할 것입니다)
- 서브넷 마스크를 기반으로 두 개의 주소를 substring합니다.
- 네트워크 부분 비교.
1, 3 및 5 지점에서 나는 그 일을 수행하는 데 아무런 단서가 없습니다.
나는 그것이 아닌을의 알고 대답, 버그'ping -t 1 $ remoteIP'는 같은 네트워크에 있지 않을 때 실패합니다. –
하지만 실패하지 않는다면 그것이 같은 네트워크에 있다면 shure가 아닙니다 ;-) 나는 내가 도달 할 수있는 shure입니다. 다른 일부 neworks 통해 서버. – Tobi