From owner-freebsd-net@FreeBSD.ORG Sun Aug 24 19:37:48 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D466DFDE for ; Sun, 24 Aug 2014 19:37:48 +0000 (UTC) Received: from onlyone.friendlyhosting.spb.ru (onlyone.friendlyhosting.spb.ru [IPv6:2a01:4f8:131:60a2::2]) by mx1.freebsd.org (Postfix) with ESMTP id 989413D7F for ; Sun, 24 Aug 2014 19:37:48 +0000 (UTC) Received: from lion.home.serebryakov.spb.ru (unknown [94.19.235.70]) (Authenticated sender: lev@serebryakov.spb.ru) by onlyone.friendlyhosting.spb.ru (Postfix) with ESMTPSA id F3C8556400 for ; Sun, 24 Aug 2014 23:37:46 +0400 (MSK) Date: Sun, 24 Aug 2014 23:37:38 +0400 From: Lev Serebryakov Reply-To: lev@FreeBSD.org Organization: FreeBSD X-Priority: 3 (Normal) Message-ID: <754783310.20140824233738@serebryakov.spb.ru> To: freebsd-net@freebsd.org Subject: Does anybody have set of scripts to support two uplink connections (with two ISPs) without AS and BGP? MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Aug 2014 19:37:48 -0000 Hello, Freebsd-net. Typical task: two "home-grade" ISPs, one router. Need to monitor both channels, switch default route, balance outgoing traffic, manage ipfw firewall, etc. For Linux here is Net::ISP::Balance (http://lstein.github.io/Net-ISP-Balance/) and LSM as part of it (http://lsm.foobar.fi/download/), but they are very Linux-specific. Maybe, somebody have good set of such scripts? Looks like /sbin/dhclient-script should be rewritten too, for example, because standard one uses "default interface" detection which fails in race condition of two ISPs (both uses DHCP!), for example. -- // Black Lion AKA Lev Serebryakov