Se client-to-client
for ativado , o servidor VPN encaminha pacotes internamente de cliente para cliente sem enviá-los à camada IP do host (ou seja, ao kernel). A pilha de rede do host não vê esses pacotes.
.-------------------.
| IP Layer |
'-------------------'
.-------------------.
| TUN device (tun0) |
'-------------------'
.-------------------.
| OpenVPN server |
'-------------------'
^ |
1 | | 2
| v
.----------------. .----------------.
| Client a | | Client b |
'----------------' '----------------'
Se client-to-client
for desativado , os pacotes de um cliente para outro cliente passarão pela camada IP do host (iptables, tabela de roteamento etc.) da máquina que hospeda o servidor VPN: se o encaminhamento de IP estiver ativado , o host pode encaminhar o pacote (usando sua tabela de roteamento) novamente para a interface TUN e o daemon da VPN encaminhará o pacote para o cliente correto dentro do túnel.
.-------------------.
| IP Layer | (4) routing, firewall, NAT, etc.
'-------------------' (iptables, nftables, conntrack, tc, etc.)
^ |
3 | | 5
| v
.-------------------.
| TUN device (tun0) |
'-------------------'
^ |
2 | | 6
| v
.-------------------.
| OpenVPN server |
'-------------------'
^ |
1 | | 7
| v
.----------------. .----------------.
| Client a | | Client b |
'----------------' '----------------'
Neste caso ( client-to-client
desativado), você pode bloquear os pacotes cliente-cliente usando o iptables:
iptables -A FORWARD -i tun0 -o tun0 -j DROP
onde tun0
é sua interface VPN.