mboss a écrit 8 commentaires

  • [^] # Re: Port + Adresse

    Posté par  . En réponse au message rediriger un port sur une interface réseau. Évalué à 1. Dernière modification le 24 juin 2013 à 20:34.

    excuse moi, je n'y connait rien, c'est pour cela que je pose mes questions ici
    j'avais juste pensé à rediriger ces ports, mais en effet d'après ce tu expliques pour un client torrent inutile
    Mais je n'en savais rien

  • # problème trouvé, mais solution ?

    Posté par  . En réponse au message N'utiliser un vpn que pour une application. Évalué à 0.

    Je pense avoir trouvé le problème dans mon script ci-dessus
    Au début on déclare l'ip et le gateway du vpn.
    Mais ces derniers changent tout le temps, donc ça marche pas…

    Est-ce qu'il existe une commande pour router le trafic sur l'interface réseau du vpn (tun0) plutôt que sur une ip ?

    MERCI

  • [^] # Re: Port + Adresse

    Posté par  . En réponse au message rediriger un port sur une interface réseau. Évalué à 0. Dernière modification le 24 juin 2013 à 15:02.

    Et comment je crée ce tunnel local ?
    MERCI :D

  • [^] # Re: Port + Adresse

    Posté par  . En réponse au message rediriger un port sur une interface réseau. Évalué à -1.

    haha
    mes conditions : je veux forcer l'application rtorrent de mon serveur à passer par mon vpn
    Je ne peux pas faire passer tout le trafic de mon serveur via le vpn car sinon je n'arrive plus à y accéder
    Et comme rtorrent n'utilise que deux ports… :)

  • [^] # Re: Port + Adresse

    Posté par  . En réponse au message rediriger un port sur une interface réseau. Évalué à -1.

    Tu peux en revanche écrire des règles de filtrage qui n'examinent que le numéro de port et appliquer un traitement en conséquence sur tes paquets.

    Là tu m'as compris :)

    Mais quelle règle utiliser avec quel outil ?

    Merci bcp

    Bonne journée

  • # essai de script

    Posté par  . En réponse au message N'utiliser un vpn que pour une application. Évalué à 0.

    Re-Bonjour,

    J'ai tenté en m'inspirant des exemples du net de faire un script comme certains me le conseillaient ici.
    Mais cela ne fonctionne pas.

    Voilà mon script d'up

       #!/bin/bash
    
        TUNDEV=$1
        TUNIP=$4
        # Ici on met le réseau du VPN, pour le connaitre veuillez vous connecter au VPN avec la 
        # configuration fournie sans le "route-nopull" et faire un ifconfig sur l'interface tun créée
        # Faites pareil pour la gateway avec un `route`
        VPNNET="10.7.0.10/24" 
        VPNGW="10.7.0.9"
    
        EXTIF=eth0
        VPNNAME=vpntorrent
        MARK=100 # spécifique a ce VPN, vous choisissez, mettez en un différent par vpn
        # On commence par nettoyer au cas ou OpenVPN aurait violemment redémarré dans le passé
        echo "- Flushing iptables"
        iptables -t mangle -D OUTPUT -o $EXTIF -m owner --uid-owner $VPNNAME -j MARK --set-mark $MARK
        iptables -t nat -D POSTROUTING -m mark --mark $MARK -j MASQUERADE
        iptables -t nat -D POSTROUTING -m mark --mark $MARK -j SNAT --to-source $TUNIP
        echo "- Flushing iproutes"
        ip route flush table $VPNNAME
        ip rule del fwmark $MARK
        echo "- Flushing rp_filter"
        for f in all $TUNDEV
        do echo 1 > /proc/sys/net/ipv4/conf/$f/rp_filter ; done
    
        echo "+ adding iptables"
        # On marque tous les paquets appartenant au group $VPNNAME
        iptables -t mangle -A OUTPUT -o $EXTIF -m owner --gid-owner $VPNNAME -j MARK --set-mark $MARK
        iptables -t nat -A POSTROUTING -m mark --mark $MARK -j MASQUERADE
        # L'IP source des paquets doit etre changée vu que l'on va les faire passer par l'interface VPN                               tun
        iptables -t nat -A POSTROUTING -m mark --mark $MARK -j SNAT --to-source $TUNIP
    
        echo "+ adding iproutes"
        echo " + net ${NET} on main table"
        ip route add $VPNNET dev $TUNDEV proto kernel scope link src $TUNIP
        echo " + net ${NET} on ${VPNNAME} table"
        ip route add $VPNNET dev $TUNDEV proto kernel scope link src $TUNIP table ${VPNNAME}
        echo " + gw"
        ip route add default via $VPNGW dev $TUNDEV table ${VPNNAME}
        ip rule add fwmark $MARK table ${VPNNAME}
        ip route flush cache table ${VPNNAME}
        ip route flush cache
    
        echo "+ adding rp_filter" # ca c'est la commande magique
        for f in all $TUNDEV
        do echo 0 > /proc/sys/net/ipv4/conf/$f/rp_filter ; done
    
        echo "+ adding dns" # On utilise les DNS de google qui ont une meilleure latence quelque soit     la position du serveur VPN
        echo "nameserver 8.8.8.8
        nameserver 8.8.4.4
        nameserver 213.186.33.99
        " > /etc/resolv.conf
    
    

    Celui de down

    #!/bin/bash
    
        TUNDEV=$1
        TUNIP=$4
        VPNNET="10.7.0.10/16"
        VPNGW="10.7.0.9"
        EXTIF=eth0
        VPNNAME=vpntorrent
        MARK=100 # spécifique au vpn, meme que pour le up
    
        echo "- Flushing iptables"
        iptables -t mangle -D OUTPUT -o $EXTIF -m owner --gid-owner $VPNNAME -j MARK --set-mark $MARK
        iptables -t nat -D POSTROUTING -m mark --mark $MARK -j MASQUERADE
        iptables -t nat -D POSTROUTING -m mark --mark $MARK -j SNAT --to-source $TUNIP
        echo "- Flushing iproutes"
        ip route flush table $VPNNAME
        ip rule del fwmark $MARK
        echo "- Flushing rp_filter"
        for f in all $TUNDEV
        do echo 1 > /proc/sys/net/ipv4/conf/$f/rp_filter ; done
    
        echo "+ flushing dns"
        echo "nameserve ksxxxxx.kimsufi.com # votre nameserver habituel, au choix
        " > /etc/resolv.conf
    
    

    Et ma conf openvpn :

       client
        dev tun
        proto udp
        remote nl2.mullvad.net 53
        resolv-retry infinite
        nobind
        persist-key
        persist-tun
        comp-lzo
        verb 3
        remote-cert-tls server
        ping-restart 60
        ping 10
        ca master.mullvad.net.crt
        cert mullvad.crt
        key mullvad.key
        route-noexec
        script-security 2
        up /usr/local/vpn/vpntorrent-up
        down /usr/local/vpn/vpntorrent-down
        persist-key
        persist-tun
    
    

    NB : il y avait ça comme script dans la conf par défaut de mon provider vpn

        # Parses DHCP options from openvpn to update resolv.conf
            up /etc/openvpn/update-resolv-conf
            down /etc/openvpn/update-resolv-conf
    
    

    Merci d'avance pour votre aide
    Et bonne fin de journée :)

  • [^] # Re: setgid

    Posté par  . En réponse au message changer le groupid d'un processus (ou le lancer avec un certain groupid). Évalué à 0.

    et donc si je veux mettre rtorrent dans le groupe A, comment j fais ?

    Excusez-moi de ma noobitude

  • # Merci pour toutes vos réponses

    Posté par  . En réponse au message N'utiliser un vpn que pour une application. Évalué à 0.

    J'ai lu ailleurs qu'on pouvait mettre route-nopull dans le fichier de configuration openvpn pour ne pas utiliser les routes fournies.

    Ainsi je pourrais faire du Policy-based routing comme le dit chaispaquichui.

    Mais une fois ces modifications faites pour associer le trafic à la table de routage créée,ces modifications sont elles conservées après un reboot du serveur ?

    Si non comment faire, à part un script au lancement d'open vpn ?

    Merci et bonne soirée :)