From owner-freebsd-questions@freebsd.org Fri May 4 07:23:21 2018 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0B7CFCA940 for ; Fri, 4 May 2018 07:23:21 +0000 (UTC) (envelope-from srs0=+vbu=hx=mail.sermon-archive.info=doug@sermon-archive.info) Received: from mail.sermon-archive.info (sermon-archive.info [71.177.216.148]) by mx1.freebsd.org (Postfix) with ESMTP id 6DDAE68E1B for ; Fri, 4 May 2018 07:23:21 +0000 (UTC) (envelope-from srs0=+vbu=hx=mail.sermon-archive.info=doug@sermon-archive.info) Received: from [10.0.1.251] (mini [10.0.1.251]) by mail.sermon-archive.info (Postfix) with ESMTPSA id 40ck543Y2pz2fjQt; Fri, 4 May 2018 00:23:20 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.3 \(3445.6.18\)) Subject: Re: UDP packet transmission From: Doug Hardie In-Reply-To: <3e93f140-af24-fba0-65f2-70c772a338f8@qeng-ho.org> Date: Fri, 4 May 2018 00:23:20 -0700 Cc: Nick Garrido via freebsd-questions Content-Transfer-Encoding: quoted-printable Message-Id: References: <91591EE5-91EA-4C79-BE7B-A5F9F53CFADA@mail.sermon-archive.info> <3e93f140-af24-fba0-65f2-70c772a338f8@qeng-ho.org> To: Arthur Chance X-Mailer: Apple Mail (2.3445.6.18) X-Virus-Scanned: clamav-milter 0.99.4 at mail X-Virus-Status: Clean X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 May 2018 07:23:22 -0000 > On 4 May 2018, at 00:03, Arthur Chance wrote: >=20 > On 04/05/2018 05:05, Doug Hardie wrote: >> I have a somewhat unusual situation and have not found a solution for = it. I have a remote machine running 12 current. It has two independent = internet connections. They are from two different sources and have = different IP addresses. One is a fixed IP address and the other = dynamic. The purpose is to be able to access the device if one of those = interfaces is down. It is only accessed when problems occur. Typically = that is when the fixed address is not accessible. The problem is there = is no way to know the dynamic address. >>=20 >> To address this, I tried sending a UDP packet through the dynamic IP = link to another machine at a fixed IP address. It records the IP = address that originated the packet and logs it. Hence, I can easily = find the last dynamic IP that was used and access the device through = that. However, to make that happen, I need to be able to send a UDP = packet that goes through a specific interface and does not use the = routing table. >>=20 >> The most frequent approach I have found is to bind the socket to only = the dynamic IP address's interface. However, that does change the = originating IP address in the packet to that interface, but continues to = transmit via the interface found in the routing table. >>=20 >> Another suggestion was to use raw sockets. However, all the reading = on that (Stevens et al) indicate that the packet will still be = transmitted on the interface selected in the routing table. >>=20 >> Yet another suggestion was to change the routing table temporarily, = send the packet, and then change it back. Besides a lot of potential = for weird stuff, it would break a number of other connections going = through the fixed IP address. =20 >>=20 >> I am hoping there is another solution that would be better. Thanks, >=20 > Why not use setfib to give the UDP packet sending process its own > routing table? Never encountered that before. Great solution. Thanks, -- Doug