dig를 쿼리하거나 getent를 사용하는 동안 호스트 이름 목록을 IP 주소로 확인하는 방법

dig를 쿼리하거나 getent를 사용하는 동안 호스트 이름 목록을 IP 주소로 확인하는 방법

Bash 스크립트를 생성하는 동안 도메인의 모든 "A" 레코드가 존재하는 경우 IP 주소로 확인해야 합니다.

도메인에 대한 모든 레코드를 검색하는 dig 명령이 있는지 살펴봤지만 아무것도 찾을 수 없었기 때문에 특정 온라인 채팅 프로그램에서 제공한 시각적 개체에 존재하는 것으로 알고 있는 호스트 이름을 사용하고 있습니다. .

이것이 내가 지금까지 가지고 있는 것입니다

#!/bin/bash

pricks=(
   "c1.domain.com"
   "c2.domain.com"
   "c3.domain.com"
   "c4.domain.com"
   "c5.domain.com"
   "c6.domain.com"
   "c7.domain.com"
   "c8.domain.com"
   "c9.domain.com"
   "c10.domain.com"
   "c11.domain.com"
   "c12.domain.com"
   "c13.domain.com"
   "c14.domain.com"
   "c15.domain.com"
   "c16.domain.com"
   "c17.domain.com"
   "c18.domain.com"
   "c19.domain.com"
   "c20.domain.com"
)

for prick in "${pricks[@]}"
do
   echo "apf -d $prick \"$prick\"" >> add_apf_rules.sh
done
exit

그러면 쉽게 실행할 수 있고 호스트 이름을 apf 거부 호스트 파일에 추가할 다음 출력이 제공됩니다.

apf -d c1.domain.com "c1.domain.com"
apf -d c2.domain.com "c2.domain.com"
apf -d c3.domain.com "c3.domain.com"
apf -d c4.domain.com "c4.domain.com"
apf -d c5.domain.com "c5.domain.com"
apf -d c6.domain.com "c6.domain.com"
apf -d c7.domain.com "c7.domain.com"
apf -d c8.domain.com "c8.domain.com"
apf -d c9.domain.com "c9.domain.com"
apf -d c10.domain.com "c10.domain.com"
apf -d c11.domain.com "c11.domain.com"
apf -d c12.domain.com "c12.domain.com"
apf -d c13.domain.com "c13.domain.com"
apf -d c14.domain.com "c14.domain.com"
apf -d c15.domain.com "c15.domain.com"
apf -d c16.domain.com "c16.domain.com"
apf -d c17.domain.com "c17.domain.com"
apf -d c18.domain.com "c18.domain.com"
apf -d c19.domain.com "c19.domain.com"
apf -d c20.domain.com "c20.domain.com"

"/etc/apf/deny_hosts.rules"에서는 호스트 이름이 허용되지 않으므로 호스트 이름을 IP로 확인하고(존재하는 경우) 호스트 이름 대신 IP를 배치하는 방법이 필요합니다.

내 작업을 수행하기 위해 getent를 어떻게 사용할 수 있습니까?

getent hosts c15.domain.com | awk '{ print $1 }'

답변1

host -l domain.com또는 dig domain.com AXFR(둘 다 동일한 작업을 수행함)을 사용해 볼 수 있지만 보안상의 이유로 DNS 서버 소유자가 금지했을 가능성이 높습니다.

그렇다면 모든 A 레코드를 검색할 수 있는 방법이 없습니다.

편집: 무엇을 요구하시는지 이해할 수 없어서 추측하기 시작합니다.

Q: 결과를 얻기 위해 첫 번째 스크립트를 어떻게 변경합니까?

apf -d 66.96.162.92 "c1.domain.com"
apf -d 66.96.162.93 "c2.domain.com"
apf -d 66.96.162.94 "c3.domain.com"

ㅏ:

for prick in "${pricks[@]}"; do
   echo apf -d $(getent hosts "$prick") >> add_apf_rules.sh
done

관련 정보