![단일 도메인 이름으로 아웃바운드 연결을 제한하는 방법은 무엇입니까?](https://linux55.com/image/175714/%EB%8B%A8%EC%9D%BC%20%EB%8F%84%EB%A9%94%EC%9D%B8%20%EC%9D%B4%EB%A6%84%EC%9C%BC%EB%A1%9C%20%EC%95%84%EC%9B%83%EB%B0%94%EC%9A%B4%EB%93%9C%20%EC%97%B0%EA%B2%B0%EC%9D%84%20%EC%A0%9C%ED%95%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 장치에 대한 아웃바운드 액세스를 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
이것은 완전히 테스트되지 않았지만 작동할 것입니다.