Skip to contentSkip to conversation

Unicast packets to multiple destinations -only-

DISCUSSION Luigi Corsello 3 participants 3 messages Nov 18, 2004

lore
Share & tools
lore
#0 lore raw

Hi all,

I got 3 IPs in one interface (ip addr add, not aliasing), and wanted to only allow unicast packets to any of them (and/or their subnet in one case, to allow broadcasts for the local net).
Aim: no broadcasts, no multicast, spoofing prevention?.

You can't have multiple -d in rules. My quick solution was 3 tables (this is a sample):

iptables -N ta
iptables -N tb
iptables -N tc

iptables -A tc -d ! $ip3 -j DROP
iptables -A tb -d ! $ip2 -j tc
iptables -A ta -d ! $ip1 -j tb

iptables -A INPUT -j ta

It works, much junk stays out. All services work.
From the list point of view, is this insane(a) stupid(b) or clever(c)? and why?

Cheers,
/lc

#1 lore raw
Quoted 18 lines · Luigi Corsello

Hi all,

I got 3 IPs in one interface (ip addr add, not aliasing), and wanted to only allow unicast packets to any of them (and/or their subnet in one case, to allow broadcasts for the local net).
Aim: no broadcasts, no multicast, spoofing prevention?.

You can't have multiple -d in rules. My quick solution was 3 tables (this is a sample):

iptables -N ta
iptables -N tb
iptables -N tc

iptables -A tc -d ! $ip3 -j DROP
iptables -A tb -d ! $ip2 -j tc
iptables -A ta -d ! $ip1 -j tb

Quoted 5 lines

iptables -A INPUT -j ta

It works, much junk stays out. All services work.
From the list point of view, is this insane(a) stupid(b) or clever(c)?
and why?

if it works, then it's neither insane nor stupid. just to add a viewpoint, if you asked me how to accomplish the same, i would have probably answered:

  iptables -N scrub_interface_0
  iptables -A scrub_interface_0 -d ${ip1} -j RETURN
  iptables -A scrub_interface_0 -d ${ip2} -j RETURN
  iptables -A scrub_interface_0 -d ${ip3} -j RETURN
  iptables -A scrub_interface_0 -j DROP

  iptables -A INPUT -i ${int0} -j scrub_interface_0

from my perspective--i can figure out what the above is doing much more quickly than i can looking at your method. but it's really just that--personal preference.

-j

--
"When will I learn? The answer to life's problems aren't at the bottom
of a bottle, they're on TV!"
--The Simpsons

#2 lore raw
In reply to Luigi Corsello
Quoted 1 line · Luigi Corsello

You can't have multiple -d in rules. My quick solution was 3 tables

Try `iptables -m iprange -h'

Quoted 4 lines

Cheers,
/lc

Regards,

Samuel
CookingLinux TM