Ao usar um servidor OpenVPN TUN (camada 3) client-to-client
desativado, meus clientes ainda podem se comunicar.
A configuração de cliente para cliente deve evitar isso de acordo com a documentação:
Remova o comentário da diretiva cliente-para-cliente se desejar que os clientes conectados possam se comunicar pela VPN. Por padrão, os clientes só poderão acessar o servidor.
Por que os clientes podem continuar se comunicando quando esta opção está desativada?
Aqui está o conf do meu servidor:
port 443
proto tcp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh4096.pem
topology subnet
server 10.10.201.0 255.255.255.128
ifconfig-pool-persist ipp.txt
crl-verify /etc/openvpn/keys/crl.pem
push "route [omitted]"
push "dhcp-option DNS [omitted]"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login
cipher AES-256-CBC
tls-auth /etc/openvpn/keys/pfs.key 0
verb 4
Se
client-to-client
estiver ativado , o servidor VPN encaminha os pacotes cliente a cliente internamente sem enviá-los para a camada IP do host (ou seja, para o kernel). A pilha de rede do host não vê esses pacotes.Se
client-to-client
estiver desativado , os pacotes de um cliente para outro cliente passam pela camada IP do host (iptables, tabela de roteamento etc. ) tabela de roteamento) novamente para a interface TUN e o daemon VPN encaminhará o pacote para o cliente correto dentro do túnel.Neste caso (
client-to-client
desabilitado), você pode bloquear os pacotes cliente-a-cliente usando iptables:onde
tun0
está sua interface VPN.Você precisa fazer mais do que apenas comentar a diretiva, como diz aqui :
Portanto, você pode configurar uma política de endereço IP separada para cada cliente. Consulte a seção Configurando regras específicas do cliente e políticas de acesso aqui: https://openvpn.net/index.php/open-source/documentation/howto.html . e aqui: https://www.sbarjatiya.com/notes_wiki/index.php/Configuring_separate_IP_and_firewall_rule_for_each_openvpn_client .
O próximo parágrafo da página man para
openvpn
responder a esta pergunta, embora não seja necessariamente claro na primeira leitura:A
client-to-client
opção causa um curto-circuito nas tabelas de roteamento normais no servidor. Removê-lo não impede que os clientes usem as tabelas de roteamento do servidor. Se essas tabelas de roteamento - e a configuração do firewall do servidor - permitirem que os clientes se vejam, eles poderão fazê-lo.