Welcome! Btw, would anyone find it useful to be able to add also SRV records in the cache via modparam? I did it for A/AAAA records, but should be easy to extend for SRV...
Cheers, Daniel On 28.05.20 17:01, Alex Balashov wrote: > Thank you for this, Daniel! > > On 5/28/20 3:51 AM, Daniel-Constantin Mierla wrote: >> For the records, I added a modparam to corex module which allows >> adding A/AAAA records in the internal dns cache at startup. It could >> be useful in this case as alternative for /etc/hostname entries, but >> also at least for some testing scenarios to avoid updating records on >> dns server, which may take time to propagate. >> >> * >> https://www.kamailio.org/docs/modules/devel/modules/corex.html#corex.p.dns_cache >> >> During runtime, there are rpc commands to add/remove records in the >> dns cache. >> >> Cheers, >> Daniel >> >> On 20.05.20 20:56, Daniel-Constantin Mierla wrote: >>> >>> Hello, >>> >>> having use_dns_cache=no is not that bad if you have a local dns >>> cache application pointed by /etc/resolv.conf, provided that you do >>> not need srv based load balancing. >>> >>> Not being the developer of dns resolving part in kamailio and the >>> dns cache, I investigated a bit and practically the /etc/hosts is >>> the pre-dns way of associating domains to ip addresses, without ttl >>> and other attributes specific to dns records. That seems the reason >>> the libc dns related functions do not use it implicitly, thus also >>> not reflected inside kamailio dns caching. >>> >>> Now, you can add records to kamailio dns cache via rpc commands, >>> which can be done also from config using jsonrpc_exec() from >>> jsonrpcs module (e.g., using event_route[htable:mod-init] before sip >>> traffic is handled). The command should be liked: >>> >>> kamctl rpc dns.add_a domain ttl ipaddr flags >>> >>> The flags can be 1 to add it as a bad record (blacklisted domain) or >>> 2 to add it as permanent record (do not expire). You can use >>> dns.add_aaaa for ipv6. >>> >>> Actually I am now thinking to add the possibility to add to dns >>> cache via modparam of ipops module, to make it easier overall. >>> >>> Cheers, >>> Daniel >>> >>> On 20.05.20 19:35, George Diamantopoulos wrote: >>>> Hello all, >>>> >>>> Thank you for your enlightening answers. I ended up creating DNS >>>> entries anyway, so it's all good now. use_dns_cache=no sounded a >>>> little scary :-). >>>> >>>> BR. >>>> George >>>> >>>> On Tue, 19 May 2020 at 19:44, Daniel-Constantin Mierla >>>> <mico...@gmail.com <mailto:mico...@gmail.com>> wrote: >>>> >>>> A quick follow up as I found quite interesting that nowadays >>>> *BSDs allow >>>> specifying order of lookup in resolv.conf to include the hosts >>>> file, but >>>> that doesn't seem to be in Linux: >>>> >>>> * https://man.openbsd.org/resolv.conf.5#lookup >>>> >>>> Cheers, >>>> Daniel >>>> >>>> >>>> On 19.05.20 17:48, Daniel-Constantin Mierla wrote: >>>> > Hello, >>>> > >>>> > worth to clarify that Kamailio doesn't implement a dns resolver >>>> from >>>> > scratch, it still uses the functions from libc. It only does >>>> caching and >>>> > try to use cashing records first. >>>> > >>>> > By default, the following dns functions are used internally >>>> when the >>>> > cache doesn't have the record already -- they are set in the >>>> dns_func >>>> > structure: >>>> > >>>> > struct dns_func_t dns_func = { >>>> > res_init, >>>> > res_search, >>>> > gethostbyname, >>>> > #ifdef HAVE_GETHOSTBYNAME2 >>>> > gethostbyname2 >>>> > #else >>>> > NULL >>>> > #endif >>>> > }; >>>> > >>>> > So practically by leveraging res_init()/res_search() is >>>> relying on >>>> > /etc/resolv.conf to do DNS queries, which is not using the >>>> /etc/hosts >>>> > (iirc). For more see: >>>> > >>>> > * https://linux.die.net/man/3/res_search >>>> > >>>> > Cheers, >>>> > Daniel >>>> > >>>> > On 19.05.20 17:23, Alex Balashov wrote: >>>> >> You are correct that Kamailio does not use the libc resolver / >>>> >> libresolv, but rather its own resolver, which ignores >>>> /etc/hosts. >>>> >> >>>> >> -- Alex >>>> >> >>>> >> On 5/19/20 10:42 AM, George Diamantopoulos wrote: >>>> >>> Hello all, >>>> >>> >>>> >>> I've come across this today when trying to setup DMQ >>>> replication: >>>> >>> >>>> >>> root@sbcpub0-stage-lhe0-cn1:/root# systemctl restart kamailio >>>> >>> root@sbcpub0-stage-lhe0-cn1:/root# kamcmd dmq.list_nodes >>>> >>> { >>>> >>> host: 172.30.154.189 >>>> >>> port: 5090 >>>> >>> resolved_ip: 172.30.154.189 >>>> >>> status: active >>>> >>> last_notification: 0 >>>> >>> local: 1 >>>> >>> } >>>> >>> root@sbcpub0-stage-lhe0-cn1:/root# getent hosts >>>> >>> dmq-ng.services.domain.com >>>> <http://dmq-ng.services.domain.com> >>>> <http://dmq-ng.services.domain.com> >>>> >>> 172.30.154.189 dmq-ng.services.domain.com >>>> <http://dmq-ng.services.domain.com> >>>> >>> <http://dmq-ng.services.domain.com> >>>> >>> 172.17.130.13 dmq-ng.services.domain.com >>>> <http://dmq-ng.services.domain.com> >>>> >>> <http://dmq-ng.services.domain.com> >>>> >>> >>>> >>> root@sbcpub0-stage-lhe0-cn1:/root# grep dmq-ng /etc/kamailio/* >>>> >>> /etc/kamailio/kamailio-module-params.cfg:modparam("dmq", >>>> >>> "notification_address", "sip:dmq-ng.services.domain.com:5090 >>>> <http://dmq-ng.services.domain.com:5090> >>>> >>> <http://dmq-ng.services.domain.com:5090>") >>>> >>> >>>> >>> In another case, where the resolving IPs for the DMQ service >>>> hostname >>>> >>> were listed as A records in DNS, this worked as expected. >>>> >>> In this case, the second host of the DMQ group is not >>>> listed in >>>> >>> dmq.list_nodes, despite its being set in /etc/hosts, as shown >>>> by the >>>> >>> getent command. >>>> >>> >>>> >>> Doesn't kamailio use nss for hostname resolution? Am I missing >>>> >>> something else? Thanks! >>>> >>> >>>> >>> BR, >>>> >>> George >>>> >>> >>>> >>> >>>> >>> _______________________________________________ >>>> >>> Kamailio (SER) - Users Mailing List >>>> >>> sr-users@lists.kamailio.org >>>> <mailto:sr-users@lists.kamailio.org> >>>> >>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>> >>> >>>> >> -- >>>> >> Alex Balashov | Principal | Evariste Systems LLC >>>> >> >>>> >> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) >>>> >> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ >>>> >> >>>> >> _______________________________________________ >>>> >> Kamailio (SER) - Users Mailing List >>>> >> sr-users@lists.kamailio.org >>>> <mailto:sr-users@lists.kamailio.org> >>>> >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>> > -- >>>> > Daniel-Constantin Mierla -- www.asipto.com >>>> <http://www.asipto.com> >>>> > www.twitter.com/miconda <http://www.twitter.com/miconda> -- >>>> www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda> >>>> > Funding: https://www.paypal.me/dcmierla >>>> > >>>> -- Daniel-Constantin Mierla -- www.asipto.com >>>> <http://www.asipto.com> >>>> www.twitter.com/miconda <http://www.twitter.com/miconda> -- >>>> www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda> >>>> Funding: https://www.paypal.me/dcmierla >>>> >>>> >>>> _______________________________________________ >>>> Kamailio (SER) - Users Mailing List >>>> sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> >>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>> >>>> >>>> _______________________________________________ >>>> Kamailio (SER) - Users Mailing List >>>> sr-users@lists.kamailio.org >>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>> -- >>> Daniel-Constantin Mierla --www.asipto.com >>> www.twitter.com/miconda --www.linkedin.com/in/miconda >>> Funding:https://www.paypal.me/dcmierla >> >> -- >> Daniel-Constantin Mierla --www.asipto.com >> www.twitter.com/miconda --www.linkedin.com/in/miconda >> Funding:https://www.paypal.me/dcmierla >> >> >> _______________________________________________ >> Kamailio (SER) - Users Mailing List >> sr-users@lists.kamailio.org >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >> > > -- > Alex Balashov | Principal | Evariste Systems LLC > > Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) > Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ > > _______________________________________________ > Kamailio (SER) - Users Mailing List > sr-users@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users -- Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda Funding: https://www.paypal.me/dcmierla _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users