Como você está editando o / etc / hosts, você tem acesso root. A melhor e mais elegante maneira é usar o iptables (ou seja, bloquear os pacotes deixando a caixa para www.telegram.org)
Você pode testar inserindo comandos do iptables na linha de comando.
# iptables -A OUTPUT -d www.telegram.org -j REJECT
Você pode ver que adicionou a regra com:
# iptables -S OUTPUT
-P OUTPUT ACCEPT
-A OUTPUT -d 149.154.167.120/32 -j REJECT --reject-with icmp-port-unreachable
E você pode testar uma tentativa de acesso a ele com:
# wget web.telegram.org
--2017-04-26 14:38:01-- http://web.telegram.org/
Resolving web.telegram.org... 149.154.167.120, 2001:67c:4e8:fa60:3:0:811:140
Connecting to web.telegram.org|149.154.167.120|:80... failed: Connection refused.
Connecting to web.telegram.org|2001:67c:4e8:fa60:3:0:811:140|:80... failed: Network is unreachable.
Você não nos disse qual SO está executando, então você pode não ter uma versão mais nova do iptables e, portanto, você pode estar sem o switch -S. Você pode usar -L:
# iptables -L OUTPUT
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere 149.154.167.120 reject-with icmp-port-unreachable
Se você quiser excluir a regra que acabou de adicionar, simplesmente substitua -A por -D no comando acima.
Nota: se você quiser que estas regras sejam permanentes na reinicialização, você precisa fazer iptables-save > /etc/sysconfig/iptables
ou adicioná-las manualmente a / etc / sysconfig / iptables.
iptables é bastante complicado, mas as páginas do manual são bastante úteis.
(Eu estou rodando o CentOS 6 e 7 em meus servidores. O firewalld é o novo front-end padrão do CentOS 7, mas eu instalei o iptables-services e o uso completamente suportado.)