我想将我的设备的出站访问限制在一个域名上,比如说abc.com。我怎么能这么做?
设备需要将域名解析为IP地址,该地址可能会根据服务器负载而改变。我同意允许DNS访问+一个域。
看起来iptables可以接受主机名,但如果主机名的IP地址发生变化,则不会是动态的。我甚至不知道nftable中是否有主机名支持。
我想知道我有什么选择。
发布于 2020-06-23 13:57:45
作为起点:
/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作业(如果您想要的话,可以每分钟运行它):
#! /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这是完全未经测试的,但应该有效。
https://unix.stackexchange.com/questions/594580
复制相似问题