OpenVPN – ouvrir les ports pour les clients uniquement via iptables

Serveur OpenVPN fonctionnant sur mon server ubuntu (mode tun ). Mon problème est que je ne peux pas configurer certains ports uniquement pour les clients VPN. J'ai une solution sale, mais je veux mieux.

Je n'ai pas de règles iptables , sauf écouter ici, tout est accessible depuis le net. Mon sous-réseau de server OpenVPN est 10.8.0.0/24. J'ai donc facilement ouvert certains ports uniquement pour l'access via 10.8.0.1, accessible uniquement aux users VPN :

 iptables -A INPUT -s 10.8.0.0/24 -p tcp --dport 6000:7000 -j ACCEPT iptables -A INPUT -p tcp --dport 63000:64000 -j REJECT 

Cela fonctionne, puisque 10.8.0.1 est transmis à mon hôte uniquement dans un réseau VPN [sur le client], sinon, il va ailleurs. Mais cela est incorrect: il existe une pratique de falsification d'ip qui peut contourner mon iptables afaik [sur le server], et, potentiellement, 10.8.0.1 ne devrait pas être utilisé directement si possible pour moi .. Existe-t-il une meilleure solution?

Mes interfaces sont: tun0 et eth0 .

J'ai essayé de suivre le suivi suivant:

 iptables -t nat -A POSTROUTING -p tcp --dport 6000 -j LOG --log-prefix "routing xx::" 

Il s'agit du suivi de la request du réseau vpn :

 routing xx::IN=eth0 OUT= MAC=....... SRC=my real ip address DST=vpn server host LEN=48 TOS=0x08 PREC=0x00 TTL=116 ID=26271 DF PROTO=TCP SPT=60889 DPT=63210 WINDOW=8192 RES=0x00 SYN URGP=0 

-i sur de tels packages sont toujours eth0 , car ici, je n'ai aucune idée de la façon de filterr les packages tun0 et de les autoriser uniquement …

Donc, seules les requests au sein de VPN devraient être autorisées. Est-ce possible ou je pense au mauvais sens?

J'ai un client-to-client et une redirect-gateway def1 . Comme je le comprends, le trafic vers mon hôte depuis le client passant par le tunnel, au tun0, puis obtient eth0, et enfin atteint le port / application local …