Você pode fazer isso com tabelas ip.
Um conjunto de comandos será algo como isto
limpar correntes existentes
sudo iptables --flush
sudo iptables --delete-chain
permitir loopback
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
permitir todo o ICMP
sudo iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
sudo iptables -A OUTPUT -p icmp -j ACCEPT
permite conexões estabelecidas
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
acesso a partir de home.no-ip.org
e porta 80
sudo iptables -A INPUT -p tcp --dport 80 -m string --string "Host: home.something.com" --algo bm -j ACCEPT
em seguida, regra para todo o tráfego de entrada de mobile.no-ip.org
sudo iptables -A INPUT -m state --state NEW -s mobile.no-ip.org -j ACCEPT
permite o SSH para qualquer
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
nega que todos aceitem as regras acima
sudo iptables -A INPUT -j DROP
políticas padrão
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
salvar
sudo service iptables save
Não tenho certeza se isso funcionará, mas você pode tentar :) Este é apenas um exemplo de regras e pode usá-las como modelo.