Date: Thu, 3 May 2018 21:05:03 -0700 From: Doug Hardie <bc979@lafn.org> To: freebsd-questions@freebsd.org Subject: UDP packet transmission Message-ID: <91591EE5-91EA-4C79-BE7B-A5F9F53CFADA@mail.sermon-archive.info>
next in thread | raw e-mail | index | archive | help
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. 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. 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. 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. 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 I am hoping there is another solution that would be better. Thanks, -- Doug
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?91591EE5-91EA-4C79-BE7B-A5F9F53CFADA>