I was using snmpwalk earlier and it kept using the “wrong” IP address to send packets from. The destination was firewalled to only accept packets from certain sources, and I didn’t want to poke another hole just because snmpwalk was being stupid.
I read a lot of man pages to try to find out how to specify the source address but couldn’t find anything anywhere. Eventually I uncovered a post from 2004 saying that you can use the clientaddr directive in snmp.conf.
So, just so this is easy to find the next time I need it, you can force it on the command line with:
$ snmpwalk --clientaddr=192.168.0.1 …
And you do have to put the ‘=’ in there.