I might just be talking out my nose here, I can't try it. But it looks like it might work.
I guess you are using plain iptables rules? I use Firehol. I find I actually UNDERSTAND Firehol, even if it gives me fits every once in a while! (All badly written rules on my part, but from what I understand, a miswritten IPtables rule is just as bad (if not much worse) than a miswritten Firehol rule (as Firehol tries to failsafe badly written rules) )
If you use Firehol to make your firewall rules, you should be able to modify your interface statement thusly:
Code:
interface eth0 linode src "xxx.yyy.zzz.0/24 1.2.3.4"
What this rule SHOULD do (I haven't used it, the docs are here:
http://firehol.sourceforge.net/commands.html#parameters) is that it will match the SOURCE of the incoming packet to the rules in quotes (Is the source in subnet xxx.yyy.zzz.0? Is the source 1.2.3.4?). If so, it moves on into your firewall rules. If not, the packet is dropped. And you can add addresses as you need to by just putting "{space} {ip address}" into the quotes in the rule.
Is that what you were looking for?[/url]