단일 도메인 이름으로 아웃바운드 연결을 제한하는 방법은 무엇입니까?

단일 도메인 이름으로 아웃바운드 연결을 제한하는 방법은 무엇입니까?

내 장치에 대한 아웃바운드 액세스를 abc.com과 같은 단일 도메인 이름으로 제한하고 싶습니다. 어떻게 해야 하나요?

장치는 도메인 이름을 IP 주소로 확인해야 하며, IP 주소는 서버 로드에 따라 변경될 수 있습니다. DNS 액세스 + 단일 도메인 허용에 동의합니다.

iptables가 호스트 이름을 허용할 수 있는 것처럼 보이지만 호스트 이름의 IP 주소가 변경되면 동적이 아닙니다. nftables에 호스트 이름 지원이 있는지조차 모르겠습니다.

내 선택이 무엇인지 알고 싶습니다.

답변1

출발점:

/sbin/iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT

그런 다음 이 crontab 작업을 추가합니다(필요한 경우 1분마다 실행할 수 있음).

#! /bin/bash

dig +short abc.com | while read address; do
    if [ -z "`/sbin/iptables-save | grep "$address"`" ]; then
        /sbin/iptables -A OUTPUT -d "$address" -p tcp -m tcp --dport 80  -j ACCEPT
        /sbin/iptables -A OUTPUT -d "$address" -p tcp -m tcp --dport 443 -j ACCEPT
    fi
done

이것은 완전히 테스트되지 않았지만 작동할 것입니다.

관련 정보