내 장치에 대한 아웃바운드 액세스를 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
이것은 완전히 테스트되지 않았지만 작동할 것입니다.