Differences between revisions 1 and 17 (spanning 16 versions)
Revision 1 as of 2009-02-15 19:04:18
Size: 651
Editor: PieterSmit
Comment:
Revision 17 as of 2017-11-03 21:54:26
Size: 1821
Editor: PieterSmit
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Setup of OpenVpn on multihome box.
 * Problem is Openvpn answers udp packets back using default Gw, and selects different ip than incoming ip.
 * http://openvpn.net/
 * [[http://tumbleweed.org.za/2008/09/19/split-routing-debianubuntu|Split DSL]] local and international traffic on different accounts.
 * Note: PSK only supports single tunnel, need to use cert's for multi client. https://community.openvpn.net/openvpn/wiki/GettingStartedwithOVPN
Line 6: Line 7:
=== Setup of OpenVpn on multihome box. ===
Problem is Openvpn answers udp packets back using default Gw, and selects different ip than incoming ip.

Options:
Line 8: Line 13:
 2. OpenVpn: Bind to lo:127.0.0.2, use nat to nat incoming on udp:1194 to 127.0.0.2.
    * Kernel bug ? Still selecting wrong source
 3. OpenVpn: Multiple instances each bound to specific ext ip.
 1. OpenVpn: Bind to lo:127.0.0.2, use nat to nat incoming on udp:1194 to 127.0.0.2.
    * X-( Kernel bug ? Still selecting wrong source
 1. OpenVpn: Multiple instances each bound to specific ext ip.
Line 12: Line 17:
    * (!) Setup OpenVpn to add host routes as they activate ?
 1. OpenVpn: '''Solution - :-)''' bind to a real interface
    * '''Solution''' :-) bind to single ip real inside int. (loop does not work ? bug X-( -Maybe need sysctl -w net.ipv4.conf.all.route_localnet=1 )
    * Nat external to real int.
    * Tested can connect to any of the external ip's
    * My guesse as to why it works is that the packets are seen as being routed out ?
    e.g. bash script to setup nat.
    {{{
       #!/bin/bash
       iplist_FWext="e1=196.1.1.1 e2=196.2.1.1 e3=196.3.1.1"
       iphost_FWint="10.0.0.1"
       for i in ${iplist_FWext}; do
          fw_ip=${i##*=}
          fw_int=${i%%=*}
          nat to-destination "${iphost_FWint}" dport 1194 proto udp dst "${fw_ip}"
          done;
    }}}
Line 16: Line 37:
----
CategoryLinux CategoryVpnTunnel

Linux multihome openvpn

Setup of OpenVpn on multihome box.

Problem is Openvpn answers udp packets back using default Gw, and selects different ip than incoming ip.

Options:

  1. OpenVpn: Bind to all interfaces.

    • Linux selects int/ip based on routing. Local gen packets select int before mangle can replace fwmark.
  2. OpenVpn: Bind to lo:127.0.0.2, use nat to nat incoming on udp:1194 to 127.0.0.2.

    • X-( Kernel bug ? Still selecting wrong source

  3. OpenVpn: Multiple instances each bound to specific ext ip.

    • WORKS! but need separate subnet for each instance, thus client ip changes when re-connects.
    • (!) Setup OpenVpn to add host routes as they activate ?

  4. OpenVpn: Solution - :-) bind to a real interface

    • Solution :-) bind to single ip real inside int. (loop does not work ? bug X-( -Maybe need sysctl -w net.ipv4.conf.all.route_localnet=1 )

    • Nat external to real int.
    • Tested can connect to any of the external ip's
    • My guesse as to why it works is that the packets are seen as being routed out ? e.g. bash script to setup nat.
             #!/bin/bash
             iplist_FWext="e1=196.1.1.1 e2=196.2.1.1 e3=196.3.1.1"
             iphost_FWint="10.0.0.1"
             for i in ${iplist_FWext}; do
                fw_ip=${i##*=}
                fw_int=${i%%=*}
                nat to-destination "${iphost_FWint}" dport 1194 proto udp dst "${fw_ip}"
                done;



CategoryLinux CategoryVpnTunnel

linux/multihome/openvpn (last edited 2017-11-03 21:54:26 by PieterSmit)