[Dnsmasq-discuss] Dynamic address config?

Feng Shao sevenever at gmail.com
Sun Nov 27 12:47:09 UTC 2022


Aha! This indeed meets my requirements exactly! In my case I also added '-l
root' to alias.

Thank you!

On Sat, Nov 26, 2022 at 10:36 PM Geoff Back <geoff at demonlair.co.uk> wrote:

> Hello,
>
> How about adding:
>
> alias labssh='ssh -i ~/.ssh/id_rsa.work'
>
> to your shell profile (.bashrc or whatever)?  Then you can just do 'labssh
> <ip-address>' and the alias expansion makes ssh use the appropriate ID file.
>
> Regards,
>
> Geoff.
>
> Geoff Back
> What if we're all just characters in someone's nightmares?
>
> On 26/11/2022 13:14, Feng Shao wrote:
>
> Thanks for the reply Petr.
> Let me explain more about the motivation: I am a developer and our testers
> test the code on various environments, including VMs on cloud and k8s
> worker nodes from cloud providers. These machines and IPs are not
> provisioned/allocated by dnsmasq. For cost reason, these environments only
> lives for a short period of time, like one week or so, and testers
> provision these IPs directly without awareness of network administrators,
> that’s also why we don’t configure hostname for these machines in DNS
> system. Also I can not know in advance the list of possible IPs.
>
> Whenever tester find some issue or need help, they give me the IP of the
> environments and I need to ssh to that environment. Because I will probably
> login to that same machine several times since the testers are testing my
> code on that machine recently, I want to setup passwordless login. So I
>  normally ssh-copy-id -i <~/.ssh/id_rsa.work> <IP>first, then ssh to that
> machine. In order to instruct ssh to use my ssh key when connecting to that
> IP, I have below lines in my .ssh/config:
>
> Host *.mylab
>   User root
>   IdentityFile ~/.ssh/id_rsa.wor <http://id_rsa.work/>k
>
> And lines like below in /etc/hosts:
> address=/123.123.123.123.mylab/123.123.123.123
> address=/123.123.123.12 <http://123.123.123.123>4.mylab/123.123.123.12
> <http://123.123.123.123/>4
>
> So that I can now “ssh 123.123.123.123.mylab”
>
> As you can see, the problem here is, whenever a new IP comes, I need to
> add a new entry in /etc/hosts. So what I want is any <IP>.mylab is resolved
> to <IP>.
>
> A key pair can be specified when creating VM on cloud, but I can not ask
> every tester add my ssh key pair when creating VM.
>
>
> Petr Menšík <pemensik at redhat.com>于2022年11月25日 周五19:52写道:
>
>> Did you know that dnsmasq registers all hosts by their name, if they send
>> their own hostname when requesting DHCP from dnsmasq? Just use domain=mylab
>> and have that host send hostname. It would make using names possible
>> without any additional configuration.
>>
>> I do not get what is the advantage of having IP suffixed by some domain.
>> It looks like IP address, but it is even longer. Names of machines should
>> be easy to remember or use, I doubt that would be the case here.
>>
>> I think we have new feature conf-script, which can generate dnsmasq
>> configuration on the output. But I doubt we have a possible code for what
>> you describe. Could you please describe more about intended usage? Why
>> isn't using just hostname for each host enough? Using dhcp-host seems
>> enough for similar uses.
>>
>> I think DLZ plugins for BIND9 are able to do similar things to your
>> request, but that would be very heavy-weight solution. I think more
>> motivation for your current design should be shared, because I do not
>> understand advantage of your solution.
>>
>> Cheers,
>> Petr
>> On 11/23/22 06:47, Feng Shao wrote:
>>
>> There are a bunch of machines in our lab, and we normally don't have DNS
>> records configured for them, only accessing by IP. In order to ssh to them
>> with key auth, I have a config in my .ssh/config like
>>
>> Host *.mylab
>>   User root
>>   IdentityFile ~/.ssh/id_rsa.work
>>
>> and I have some "address=/123.123.123.123.mylab/123.123.123.123" line in
>> dnsmasq.conf. The problem here is I need to add an entry whenever a new IP
>> comes.
>>
>> Can this configuration be dynamically? For example,
>> "address=/*.mylab/somecmd %1", where "somecmd" is a external command and %1
>> will be replaced by the name in A/AAAA request. So that for any DNS request
>> to *.mylab, dnsmasq invoke this external command and pass the name as
>> argument, the output of external command, which will be interpreted as
>> IPv4/IPv6 addr then responsed to client?
>>
>> _______________________________________________
>> Dnsmasq-discuss mailing listDnsmasq-discuss at lists.thekelleys.org.ukhttps://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss
>>
>> --
>> Petr Menšík
>> Software Engineer, RHEL
>> Red Hat, https://www.redhat.com/
>> PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB
>>
>> _______________________________________________
>> Dnsmasq-discuss mailing list
>> Dnsmasq-discuss at lists.thekelleys.org.uk
>> https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss
>>
>
> _______________________________________________
> Dnsmasq-discuss mailing listDnsmasq-discuss at lists.thekelleys.org.ukhttps://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss
>
>
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20221127/11bc7421/attachment.htm>


More information about the Dnsmasq-discuss mailing list