Re: DNAT and VPN Tunnel problems, traffic checks in, but doesn't check out

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

 



No.. just 10base-T 10 and 100.
 
Daniel
----- Original Message -----
Sent: Tuesday, March 04, 2003 12:00 PM
Subject: Re: DNAT and VPN Tunnel problems, traffic checks in, but doesn't check out

dumb question. is there any token ring in your network at all.
thanks
steve

Daniel Beckham wrote:
Yeah, I actually DNAT and SNAT private addresses to public addresses on the
public interface on the firewall for some of the developers here, so I know
that using that SNAT line *should* work, as it does in practice already.

To answer your questions, here is the interface setup on the firewall.

eth0 -- public interface (207.111.175.64/26) to the external router
(internet) and normal traffic from and to the 129.41.69.128/26 subnet comes
over this wire
eth1 -- private interface to local network using 10.1.2.0/24 address space
tun0 -- a openvpn tunnel between the remote 10.1.1.0/24 network and private
10.1.2.0/24 network

The remote network is a private address space behind a router in the public
129.41.69.128/26 address space.  The eth0 interface does not specifically
listen for traffic from 129.41.69.137, instead it's just the gateway for any
external public traffic incoming to the 207.111.175.64/26 subnet.  There are
also several eth0:N aliases for local private machines that are DNAT/SNAT'ed
to public addresses for different reasons.

I use the following lines to allow all traffic to be forwarded from the
private interface (eth1) and the openvpn tunnel (tun0):
$IPTABLES -A FORWARD -i tun+ -j ACCEPT
$IPTABLES -A FORWARD -i tap+ -j ACCEPT
$IPTABLES -A FORWARD -i eth1 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

The line for the tap device isn't really necessary for my setup, but it is
just there in case I decide to fool with bridging.

As far as I can tell, things should be working correctly.  And the funny
thing is that they do, sort of.  Responses to the DNAT'ed traffic initiated
by the client returns over the tunnel, but only part of the response traffic
by the client goes back out.  I.e. I can send very tiny emails, but nothing
large like a reply.  I can download files via ftp, but can not upload.   And
I've confirmed that traffic outgoing from the client is going over the
tunnel.

This is driving me crazy. =)

Daniel Beckham
dealnews.com


----- Original Message -----
From: <richardo@start-global.com>
To: "Daniel Beckham" <danbeck-netfilter@dealnews.com>
Sent: Tuesday, March 04, 2003 10:32 AM
Subject: Re: DNAT and VPN Tunnel problems, traffic checks in, but doesn't
check out


  
Hi Daniel.

The second rule you mention below would be correct and needed for these
connections to work properly, so keep it in there ..... a couple of things
I thought about, though ..... .did you setup an alias on the firewall
    
box's
  
'external' network card to listen for packets destined for 129.41.69.137 ?
..... as follows :

ifconfig ethWHATEVER:0 129.41.69.137 netmask your.mask.goes.here

... also, what does your filter table look like, is the FORWARD chain
    
setup
  
correctly to allow the connection through the firewall ?

Regards,
Richard.

Richard Oatridge
Head of IT, Start-global Ltd
http://www.start-global.com
tel :  +44 1564 779297
email : richardo@start-global.com


|--------+----------------------------------->
|        |          "Daniel Beckham"         |
|        |          <danbeck-netfilter@dealne|
|        |          ws.com>                  |
|        |          Sent by:                 |
|        |          netfilter-admin@lists.net|
|        |          filter.org               |
|        |                                   |
|        |                                   |
|        |          04/03/2003 15:29         |
|        |                                   |
|--------+----------------------------------->

---------------------------------------------------------------------------
    
----------------------------------------------|
  
  |
    
|
  
  |       To:     "Netfilter" <netfilter@lists.netfilter.org>
    
|
  
  |       cc:
    
|
  
  |       Subject:     Re: DNAT and VPN Tunnel problems, traffic checks
    
in, but doesn't check out                           |
  
---------------------------------------------------------------------------
    
----------------------------------------------|
  

Thank you for your help, but I don't really understand what you are trying
to tell me.  The first config line makes sense and that is similar to what
I'm doing now.  Although, I'm not using any specific ports because I'm
testing at the moment.

The second line is confusing though.  Why would I SNAT a 10.1.1.0/24
address
to another 10.1.1.0/24 address?  I was thinking you may have meant a
10.1.2.0/24 address, but that makes even less sense as that is the client
trying to connect in the first place.  Also, why would you use a 10.1.1.7
as
the -d option, the destination address?  Btw, I tried several combinations
including your example just for the hell of it, but none of them work. =)

Something that I did not mention before though is that I have tried this:
iptables -t nat -A POSTROUTING -s 10.1.1.7 -p tcp -j SNAT --to
129.41.69.137

I would think this would solve the problem, but this doesn't help.  Anyone
else have any ideas?

Thank you for your help,

Daniel Beckham
dealnews.com



----- Original Message -----
From: "Pavan Gokarn" <pavang@techknowledge.ws>
To: "Daniel Beckham" <danbeck-netfilter@dealnews.com>
Sent: Tuesday, March 04, 2003 12:15 AM
Subject: Re: DNAT and VPN Tunnel problems, traffic checks in, but doesn't
check out


    
yes daniel you'll need a rule to get the packets back from the remote
network back into your network.
these will be the rules substitute them eoth you desired ip addresses
for outgoing connection
# iptables -t nat -A PREROUTING -d 129.41.69.137 -p tcp --dport 25 -j
DNAT --to 10.1.1.7
for incomming replies
# iptables -t nat -A POSTROUTING -d 10.1.1.7 -p tcp --dport 25 -j
      
SNAT --to
    
10.1.1.something

remember not to allow all types of connections to in and out because
      
this
  
might cause a security threat. substitute the 10.1.1.something ip
      
address
  
with the ip that connects/talks to the 10.1.1.7 address.
this might work
hope this was helpful
regards

----- Original Message -----
From: Daniel Beckham <danbeck-netfilter@dealnews.com>
To: <netfilter@lists.netfilter.org>
Sent: Tuesday, March 04, 2003 3:53 AM
Subject: DNAT and VPN Tunnel problems, traffic checks in, but doesn't
      
check
    
out


      
I'm seeing a strange issue with DNAT'ed traffic over a VPN.  Incoming
packets arrive just fine, but outgoing traffic has trouble for large
        
streams
      
of tcp data.

My setup is fairly simple.   A group of machines on a private network
        
behind
      
a gateway/firewall (netfilter) connect through an OpenVPN tunnel to a
        
remote
      
group of machines on a different private network.

Local subnet: 10.1.2.0/24
Remote Subnet 10.1.1.0/24

Client machines on the local subnet can freely talk to servers on the
        
remote
      
subnet through the vpn with out any problems.

Until the vpn tunnel was functional, client machines on the local
        
private
    
network connected to mail.dealnews.com to retrieve and send mail, a
        
public
    
interface of the mail server on the remote private network.  Now that
        
the
    
vpn is working, they need to retrieve and send mail using the private
address 10.1.1.7.

For several reasons, one being laptop administration, I don't want to
        
change
      
all of the mail client's ip addresses to 10.1.1.7.  I want to use
        
iptables
    
to DNAT packets headed for the public mail address (mail.dealnews.com)
        
to
    
the private mail address 10.1.1.7 so that packets are routed over the
        
vpn
    
instead of the internet.

This is how I attempted to configure iptables:
iptables -t nat -A PREROUTING -s 10.1.2.10 -d 129.41.69.137 -p all -j
DNAT --to-destination 10.1.1.7

The -s option is there so that I can test the config myself without
        
Borking
      
the rest of the network.

This seems to work at first as I can see traffic sent from the client
        
to
    
mail.dealnews.com over the tunnel interface on the remote network.
        
What
    
happens though, is although that I can connect to the remote mail
        
server

    
just fine through IMAP and even send out a very small email message
        
through
      
SMTP, large mail messages just stall and fail.  Ftp is the same way.
        
I
  
can
      
transfer files from the remote server, but I can not send any sizeable
        
file
      
to the server.  I know for sure that traffic is traveling over the vpn
tunnel because I'm dumping the tunnel interface up at the remote
        
network.
    
This sounds like something to do with fragmentation or possibly
        
something
    
along that line of thinking, but I can not for the life of me figure
        
out
    
what this is.

I wondered if possibly, I needed another rule to DNAT packets coming
        
from
    
the remote network over the tunnel back to the public
        
mail.dealnews.com
  
ip
    
address:
iptables -t nat -A PREROUTING -s 129.41.69.37 -d 10.1.2.10 -p all -j
DNAT --to-destination 129.41.69.137

But this didn't seem to help anything.

Could anyone help me figure out how I can work around this?  Again,
        
incoming
      
traffic through the tunnel seems to work just fine, but outgoing
        
traffic
    
only half seems to work.  As strange as that sounds.

Thanks,

Daniel
dealnews.com




        
      






    







  


[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