클라우드플레어 이용하여 서버 외부IP 알아내기 쉘스크립트.
#!/bin/bash
#HOST 굳이 수정하지 않아도 됨
#자신의 도메인으로 사용시 클라우드 기능이 켜져있어야 합니다.(구름켜기)
host='https://www.cloudflare.com'
cloudflare=`curl -s ${host}/cdn-cgi/trace`
re='ip=([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)'
if [[ $cloudflare =~ $re ]]; then
ip=${BASH_REMATCH[1]};
fi
echo $ip
#HOST 굳이 수정하지 않아도 됨
#자신의 도메인으로 사용시 클라우드 기능이 켜져있어야 합니다.(구름켜기)
host='https://www.cloudflare.com'
cloudflare=`curl -s ${host}/cdn-cgi/trace`
re='ip=([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)'
if [[ $cloudflare =~ $re ]]; then
ip=${BASH_REMATCH[1]};
fi
echo $ip
집에서 서버 돌릴 때 외부 주소를 알아오게 하는 스크립트입니다.
ipecho.net같은 곳을 이용하는 것도 방법도 있긴 하지만,
좀더 안정적인(?) 곳이 없을까하다가 클라우드플레어 cdn-cgi/trace의 접속 ip가 뜨는 것을 보고
한번 쉘스크립트로 짜봤습니다.(쉘은 정규식이 어렵네요 ㅠㅠ 구글링 열심히 했습니다.)
단, host 부분을 수정할 경우 클라우드 기능(구름켜기)을 사용하지 않을 경우 사용이 불가능합니다.
댓글 3
공유기를 사용하면 서버 IP는 외부IP가 됩니다.
외부 IP가 절대 변경되지 않는 고정IP라면 상관 없으나, 가정집 같이 유동IP의 경우 위의 팁으로 서버 IP를 매치할 현재 IP주소를 알아내어 업데이트 할 수 있습니다.