Linux Netfilter discussions
 help / color / mirror / Atom feed
* FORWARD packet problem
@ 2006-07-19 15:12 Paulo Andre
  2006-07-19 17:19 ` Jorge Davila
  2006-07-19 19:09 ` Pascal Hambourg
  0 siblings, 2 replies; 5+ messages in thread
From: Paulo Andre @ 2006-07-19 15:12 UTC (permalink / raw)
  To: netfilter

I have a multiple isp fw
eth0 = int
eth1 = default isp
eth2 = sec isp

when I try and make a connection to and internal server via the eth2 , 
the packet appears on the PREROUTING table, and then not on FORWARD , 
anyone have any ideas?

Paulo


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: FORWARD packet problem
  2006-07-19 15:12 FORWARD packet problem Paulo Andre
@ 2006-07-19 17:19 ` Jorge Davila
  2006-07-19 19:09 ` Pascal Hambourg
  1 sibling, 0 replies; 5+ messages in thread
From: Jorge Davila @ 2006-07-19 17:19 UTC (permalink / raw)
  To: Paulo Andre; +Cc: netfilter

There is no so much information to get an answer.

What is your routing table information?

What are your firewall rules?

I'm guessing a routing problem or missed firewall rules.

Jorge.

El mié, 19-07-2006 a las 17:12 +0200, Paulo Andre escribió:
> I have a multiple isp fw
> eth0 = int
> eth1 = default isp
> eth2 = sec isp
> 
> when I try and make a connection to and internal server via the eth2 , 
> the packet appears on the PREROUTING table, and then not on FORWARD , 
> anyone have any ideas?
> 
> Paulo
> 
-- 
Jorge Isaac Davila Lopez
Nicaragua Open Source
+505 808 2478
davila@nicaraguaopensource.com



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: FORWARD packet problem
  2006-07-19 15:12 FORWARD packet problem Paulo Andre
  2006-07-19 17:19 ` Jorge Davila
@ 2006-07-19 19:09 ` Pascal Hambourg
  2006-07-20 13:50   ` Paulo Andre
  1 sibling, 1 reply; 5+ messages in thread
From: Pascal Hambourg @ 2006-07-19 19:09 UTC (permalink / raw)
  To: netfilter

Hello,

Paulo Andre a écrit :
> I have a multiple isp fw
> eth0 = int
> eth1 = default isp
> eth2 = sec isp
> 
> when I try and make a connection to and internal server via the eth2 , 
> the packet appears on the PREROUTING table, and then not on FORWARD , 
> anyone have any ideas?

I guess there is a default route via eth1.
If so, first check that /proc/sys/net/ipv4/conf/eth2/rp_filter=0 else 
the input routing, which takes place between PREROUTING and INPUT or 
FORWARD, may drop incoming IP packets on eth2 whose source address is 
not routed out via eth2 as a protection against IP spoofing.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: FORWARD packet problem
  2006-07-19 19:09 ` Pascal Hambourg
@ 2006-07-20 13:50   ` Paulo Andre
  2006-07-20 15:46     ` Pascal Hambourg
  0 siblings, 1 reply; 5+ messages in thread
From: Paulo Andre @ 2006-07-20 13:50 UTC (permalink / raw)
  To: Pascal Hambourg; +Cc: netfilter

Pascal Hambourg wrote:

> Hello,
>
> Paulo Andre a écrit :
>
>> I have a multiple isp fw
>> eth0 = int
>> eth1 = default isp
>> eth2 = sec isp
>>
>> when I try and make a connection to and internal server via the eth2 
>> , the packet appears on the PREROUTING table, and then not on FORWARD 
>> , anyone have any ideas?
>
>
> I guess there is a default route via eth1.
> If so, first check that /proc/sys/net/ipv4/conf/eth2/rp_filter=0 else 
> the input routing, which takes place between PREROUTING and INPUT or 
> FORWARD, may drop incoming IP packets on eth2 whose source address is 
> not routed out via eth2 as a protection against IP spoofing.
>
>
Thanks Pascal, that fixed it.
Would I have to use CONNMARK and MARK to get connections leaving the 
correct interface?

Paulo



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: FORWARD packet problem
  2006-07-20 13:50   ` Paulo Andre
@ 2006-07-20 15:46     ` Pascal Hambourg
  0 siblings, 0 replies; 5+ messages in thread
From: Pascal Hambourg @ 2006-07-20 15:46 UTC (permalink / raw)
  To: netfilter

Paulo Andre a écrit :
>>
>>> I have a multiple isp fw
>>> eth0 = int
>>> eth1 = default isp
>>> eth2 = sec isp
>>>
>>> when I try and make a connection to and internal server via the eth2 
>>> , the packet appears on the PREROUTING table, and then not on FORWARD 
>>> , anyone have any ideas?

[disable rp_filter on the interface]

> Thanks Pascal, that fixed it.

Be aware that now eth2 is not protected against IP spoofing by the input 
routing any more. So you must use iptables rules to drop incoming 
packets with an "impossible" IP source address on this interface, i.e. 
an address belonging to another interface (lo, eth0, eth1) subnet.

> Would I have to use CONNMARK and MARK to get connections leaving the 
> correct interface?

I'm not sure I understand your question correctly. Do you mean routing 
reply packets belonging to connections coming from the secondary ISP 
back through the same interface ?

If so, you have to use CONNMARK+MARK+advanced routing only when there is 
no other way to identify packets which must be sent via the non-default 
interface. If they have distinctive characteristics other than the 
source or destination IP addresses (for example the source or 
destination port), you don't need CONNMARK and can use only 
MARK+advanced routing. If they have distinctive source IP addresses, you 
can use only advanced routing. And of course, if they have distinctive 
destination IP addresses, you only need standard routing.

But routing the packets through the correct interface won't allow you to 
re-enable rp_filter, at least when MARK is in use, because the rp_filter 
validation does not take iptables rules into account. I'm not sure about 
using only advanced routing though (does rp_filter validation use the 
packet destination address ?).


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-07-20 15:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-19 15:12 FORWARD packet problem Paulo Andre
2006-07-19 17:19 ` Jorge Davila
2006-07-19 19:09 ` Pascal Hambourg
2006-07-20 13:50   ` Paulo Andre
2006-07-20 15:46     ` Pascal Hambourg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox