내 노트북의 IP와 WAN의 CIDR, 즉 인터넷이 나를 보는 방식을 사용하여 일부 원격 시스템을 업데이트하는 스크립트가 있습니다.
bash에서 WAN의 IP를 얻으려면 다음 명령을 사용합니다.
dig +short myip.opendns.com @resolver1.opendns.com
Bash에서 WAN의 IP CIDR을 얻는 방법은 무엇입니까?
답변1
일반적으로 말하면, 짧은 대답은 실제로 가능하지 않다는 것입니다.
방화벽에 액세스할 수 있고 방화벽의 외부 인터페이스에 공용 IP 주소가 있는 아주 특별한 경우에는 방화벽의 "shall" 프롬프트에 액세스할 수 있습니다. 다음을 수행할 수 있습니다.
ssh [email protected] 'eval $(ipcalc -np `ifconfig eth1 | sed -n "s/inet addr:\([^ ]*\).*Mask:\([^ ]*\).*/\1 \2/p"`) ; echo $NETWORK/$PREFIX'
이 명령은 Redhat6에만 적용됩니다.
네트워크 관리자가 외부 인터페이스를 구성하기 위해 ISP에서 제공한 정보를 입력하기 때문에 이 정보는 방화벽에서 사용할 수 있다는 점을 기억하십시오. 따라서 이 정보를 얻을 수 있는 신뢰할 수 있는 유일한 방법은 ISP에 문의하는 것입니다. DNS 및 whois 레코드에서 ISP의 CIDR을 추론할 수 있더라도 ISP가 내부적으로 IP를 사용 가능한 세그먼트로 분할하는 방법은 추론할 수 없습니다. 이는 관리 기능이므로 관리 수단을 통해 해결해야 합니다.