redirect doesn't seem to work?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 05 November 2002 4:41 am, Ben Russo wrote:

> Have a UNIX server.  User wants to write programs to receive SNMPTraps.
> I *thought* I could redirect incomming traffic to port 162 to a high
> port, (like 4162) where the user could have his programs receive the
> messages with no special privelages?
>
> Anyway, a completely normal box, no special firewalling rules....
> The only rule I create is:
>
> iptables -t nat -A POSTROUTING -p udp -m udp --dport 162 -j REDIRECT
> --to-ports 4162
>
> Now, the user starts his program that binds to udp port 4162 ( I can see
> it with "netstat -nap" ) but he doesn't see any packets coming in.
> I run tcpdump -n | grep snmptrap and I see packets coming from the
> network to the server on udp port 162, and the server sending back icmp
> unreachable packets back to the sources??
>
> Why doesn't the redirect work?

Is this rule on the machine sending the SNMP traps, or the machine receiving 
them ?

If it's on the sender, then the problem is that REDIRECT changes the 
destination address to the machine the rule is on, therefore it will not get 
to the destination.

If it's on the receiver, then the problem is that you've put the rule in the 
POSTROUTING chain, which is not traversed by incoming packets, so they never 
see the rule.

>From the description above in your first paragraph it sounds like you want to 
run the netfilter rule on the machine which is receiving the traps, so try 
this instead:

iptables -A PREROUTING -t nat -p udp --dport 162 -j REDIRECT --to 4162

 
Antony.

-- 

There are only 10 types of people in the world:
those who understand binary notation,
and those who don't.



[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux