Você poderia fazer isso de alguma forma com os intervalos IP do CIDR [1], já que eles podem ser mapeados para os países [2].
Você pode então usar um aplicativo como iptables [3] para controlar qualquer tráfego de entrada em qualquer porta (independente do protocolo). Este tutorial descreve isso em alguns mais detalhes.
Em combinação com o CIDR, o comando seria algo como isto:
iptables -A INPUT -s 64.110.50.0/24 -j ACCEPT
Dependendo de quantos amigos você tem, é possível restringir isso pelos bloqueios de IP reservados pela Telco / Internet de seus amigos provedor .
(as regras do BTW CIDR são usadas pelos serviços em nuvem da Amazon, e eles recomendam tornar as instâncias da AWS mais seguras dessa maneira. Portanto, sua pergunta tem muito mérito, mas desde que eu entrei não posso aprová-la - ou pelo contrário, meu voto não aparece).
Links adicionais para referência que não posso incorporar, pois só tenho dois links para usar como um novo:
1) en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
2) blog.erben.sk/2014/02/06/country-cidr-ip-ranges
3) en.wikipedia.org/wiki/Iptables