일반 광대 역 고정 IP 구현

3711 단어 기타
고정 IP 가격 이 너무 비 싸 서 며칠 동안 모 편지 광대 역 전 화 를 통 해 인터넷 에 접속 하여 얻 은 동적 인터넷 IP (일반적으로 개인 네트워크 IP 로 분배 되 고 고객 센터 에 전 화 를 걸 어 공공 네트워크 IP 를 바 꾸 라 고 할 수 있다) 를 연구 한 다음 에 도 메 인 이름 에 A 기록 을 추가 하고 현지 공공 네트워크 IP 가 A 기록 으로 업데이트 되 는 것 을 계속 모니터링 한다.
설정 요구 사항:
1. 광대 역 1 개, 전 화 를 걸 면 인터넷 IP 를 받 을 수 있 습 니 다.
2. 도 메 인 이름 하나, 모든 도 메 인 이름 가능
3. 클 라 우 드 플 라 어 계 정 을 등록 하고 무료 버 전 을 만 들 면 됩 니 다.아 리 도 메 인 이름 분석 서비스 도 가능 합 니 다. 테스트 하지 않 았 습 니 다.
4. 셸 을 실행 할 수 있 는 기계
방법:
도 메 인 이름 위탁 관 리 를 cloudflare 로 옮 기 고 cloudflare 서비스 에 dns 서비스 에 A 기록 을 추가 하여 로 컬 네트워크 IP 를 채 웁 니 다.
cloudflare 의 API 를 사용 하여 네트워크 IP 를 업데이트 하려 면 cloudflare 의 zone id 를 제공 해 야 합 니 다. 키 와 api 를 사용 하여 도 메 인 이름 A 기록 시퀀스 번 호 를 가 져 옵 니 다.
curl -X GET "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records?type=A&name=example.com&content=127.0.0.1&page=1&per_page=20&order=type&direction=desc&match=all" \
     -H "X-Auth-Email: [email protected]" \
     -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
     -H "Content-Type: application/json"

위의 명령 을 실행 하면 돌아 갑 니 다.
{
  "success": true,
  "errors": [],
  "messages": [],
  "result": [
    {
      "id": "372e67954025e0ba6aaa6d586b9e0b59",
      "type": "A",
      "name": "example.com",
      "content": "198.51.100.4",
      "proxiable": true,
      "proxied": false,
      "ttl": 120,
      "locked": false,
      "zone_id": "023e105f4ecef8ad9ca31a8372d0c353",
      "zone_name": "example.com",
      "created_on": "2014-01-01T05:20:00.12345Z",
      "modified_on": "2014-01-01T05:20:00.12345Z",
      "data": {}
    }
  ],
  "result_info": {
    "page": 1,
    "per_page": 20,
    "count": 1,
    "total_count": 2000
  }
}

id 를 되 돌려 주 는 것 은 추 가 된 A 기록 의 표시 자 입 니 다.
다음 단 계 는 정기 적 으로 네트워크 IP 를 cloudflare 로 업데이트 합 니 다.
#    IP
a1=$(curl -s ipecho.net/plain)

#   cloudflare
curl -X PUT "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59" \
     -H "X-Auth-Email: [email protected]" \
     -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
     -H "Content-Type: application/json" \
     --data '{"type":"A","name":"example.com","content":"'"$a1"'","ttl":120,"proxied":false}'

다음 설명 을 되 돌려 주면 성공 합 니 다.
{
  "success": true,
  "errors": [],
  "messages": [],
  "result": {
    "id": "372e67954025e0ba6aaa6d586b9e0b59",
    "type": "A",
    "name": "example.com",
    "content": "198.51.100.4",
    "proxiable": true,
    "proxied": false,
    "ttl": 120,
    "locked": false,
    "zone_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "zone_name": "example.com",
    "created_on": "2014-01-01T05:20:00.12345Z",
    "modified_on": "2014-01-01T05:20:00.12345Z",
    "data": {}
  }
}

이렇게 하면 도 메 인 이름 을 통 해 접근 할 수 있 습 니 다. 그리고 자신 이 경로 에 맵 을 설정 하면 됩 니 다.
cloudflare API 참조 주소https://api.cloudflare.com/#dns-records-for-a-zone-update-dns-record
 
이상 의 개인 이 직접 쓰 고 규정 을 위반 하면 작가 에 게 연락 하여 수정 하 십시오.조언 도 남 겨 주세요.

좋은 웹페이지 즐겨찾기