On Fri, Feb 10, 2012 at 1:05 PM, Pandu Poluan <pa...@poluan.info> wrote:
>
> On Feb 11, 2012 12:42 AM, "Michael Mol" <mike...@gmail.com> wrote:
>>
>> On Fri, Feb 10, 2012 at 12:29 PM, Pandu Poluan <pa...@poluan.info> wrote:
>> >
>> > On Feb 11, 2012 12:16 AM, "Michael Orlitzky" <mich...@orlitzky.com>
>> > wrote:
>> >>
>> >> On 02/10/12 11:46, Pandu Poluan wrote:
>> >> >
>> >> > On Feb 10, 2012 10:08 PM, "Mick" <michaelkintz...@gmail.com
>> >> > <mailto:michaelkintz...@gmail.com>> wrote:
>> >> >>
>> >> >> > >
>> >> >> > > The need: a VPN client that:
>> >> >> > > + can selectively send packets fulfilling a criteria (in this
>> >> > case, dest=
>> >> >> > > IP address of internal server)*
>> >> >>
>> >> >> As far as I know typical VPNs require the IP address (or FQDN) of
>> >> >> the
>> >> >> VPN
>> >> >> gateway.  If yours changes because ISP A goes down then the tunnel
>> >> > will fail
>> >> >> and be torn down.
>> >>
>> >> I must have missed the original message. OpenVPN can do this. Just
>> >> specify multiple "remote vpn.example.com" lines in your client configs,
>> >> one for each VPN server.
>> >>
>> >> It also handles updating the routing table for you. Rather than match
>> >> "IP address of internal server," it will match "IP address on internal
>> >> network" and route through the VPN automatically.
>> >>
>> >
>> > I'm still torn between OpenVPN and HAproxy. The former works with both
>> > TCP
>> > and UDP, while the latter is lighter and simpler but works with TCP
>> > only*.
>> >
>> > *The traffic will be pure TCP, but who knows I might need a UDP tunnel
>> > in
>> > the future.
>> >
>> > Any experience with either?
>> >
>> > Do note that I don't actually need a strong security (e.g. IPsec); I
>> > just
>> > need automatic failover *and* fallback.
>>
>> We're not using multiple internet connections to the same network
>> where I work, but we do use UDP-based OpenVPN to connect a few
>> networks.
>>
>> TCP OpenVPN connections are very, very bad, IMO. With a TCP VPN, you
>> easily break systems' TCP stacks' link bandwidth estimation. I once
>> had a 30s ping time, because the pipe was hogged and backlogged from a
>> mail client synchronizing.
>>
>
> No, no, no. What I meant was running TCP and UDP *on top of* OpenVPN (which
> uses UDP).
>
> HAproxy seems to be able to perform its magic with TCP connections.

That's what I was talking about. Where I work, we use OpenVPN,
operating in UDP mode. This is after several bad experiences using it
in TCP mode.

By "UDP mode" and "TCP mode", I mean OpenVPN's connections to other
OpenVPN nodes were in UDP or TCP, respectively. When OpenVPN's
connections operate over TCP (and thus it gets guarantee'd delivery),
you can create a situation where a tunneled TCP connection attempts to
push data faster than your Internet connection can allow because it
never gets any congestion feedback; OpenVPN was accepting packets
faster than it could shove them through, and was buffering the rest.

In the situation I encountered, I was syncing my email over the vpn,
but I couldn't quickly reach any internal services; their response
time got slower and slower until I bounced my openvpn daemon (breaking
any outstanding tunneled TCP connections), but then they rapidly
degraded again. Towards the end, I discovered I had a non-tunneled
ping time of <100 ms, but a tunneled ping time of 30m.

If HAProxy is smart about congestion management, you shouldn't see
this behavior. If not, you may.

-- 
:wq

Reply via email to