ClearFoundation Tracker - ClearCenter
View Issue Details
0007891ClearCenterapp-dynamic-dns - Dynamic DNSpublic2016-03-30 06:522016-03-30 08:13
bchambers 
bchambers 
normalminorhave not tried
assignedopen 
7.2.0 Updates 
 
0007891: Wrong IP may update on MultiWAN
If a multiWAN system with a preference selected for a particular interface is assigned private IP's, Dynamic DNS ip referrer may use any route to fetch the address, and not end up using the preferred interface.

A proposed fix would be to modify the following files:

/usr/clearos/apps/clearcenter/libraries/Web_Service.php

public function request($action, $postfields = "")

to

public function request($action, $postfields = "", $bind = NULL)

add to "Set main curl options" section:

if ($bind != NULL)
   curl_setopt($ch, CURLOPT_INTERFACE, $bind);

/usr/clearos/apps/dynamic_dns/libraries/DNS_Update.php

Line 229

$ip = $ip_referrer->get();

to

$ip = $ip_referrer->get($ip);

/usr/clearos/apps/dynamic_dns/libraries/IP_Referrer.php

public function get()
    {
        $payload = $this->request('getip', NULL);

        return $payload;
    }

to

public function get($bind_ip)
    {
        $payload = $this->request('getip', NULL, $bind_ip);

        return $payload;
    }
No tags attached.
Issue History
2016-03-30 06:52bchambersNew Issue
2016-03-30 06:52bchambersStatusnew => assigned
2016-03-30 06:52bchambersAssigned To => bchambers
2016-03-30 06:57bchambersDescription Updatedbug_revision_view_page.php?rev_id=881#r881
2016-03-30 08:13user2Note Added: 0002961

Notes
(0002961)
user2   
2016-03-30 08:13   
Note: IP referrer lookups are not supported in Multi-WAN. Syswatch doesn't track IP referrers in MultiWAN, so it will never detect a changed IP. In syswatch:

    if ($numwans >= 2) {
        $config{is_multiwan} = $STATE_ENABLED;
        $config{use_get_ip} = $STATE_DISABLED;
        LogMsg("info", "config", "IP referrer disabled in multi-WAN\n");
    }

Keep in mind, Dynamic DNS updates still happen on boot and manually.

If we want to add support for IP referrers in MultiWAN mode, this policy would need to change. I can't think of a good reason why this policy was put in place (?) ... but it's definitely intentional.