Re: Buggy netfilter?

Linux Advanced Routing and Traffic Control

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

 





Roy wrote:

You mail is little hard to undersatnd what you need.

what this configuration is supposed to do?



I would like to connect to my firewall and to the machines behind it (with DNAT) from the Internet.
The firewall has 2 Internet providers, one with a broadband DSL (ppp0) connection, one with a cabel connection (eth0).


I can connect to my firewall through both connections, but DNAT operates only on eth0.

However ppp0 DNAT should work as well, because the packets go the same route inside the netfilter. An iptables log event is also fired, but in the end the ppp0 packets get lost, while the eth0 packets get forwarded to the target machine (behind the firewall).

The ppp0 packets cannot be tracked down as they entered the firewall. tcpdump sees only ppp0 pockets coming in, but nothing goes back, and nothing goes out on the inner interface (eth2) to the target.

With eth0 everything works well.
ppp0 mtu is reduced as well, so I don't have more ideas what else to try to make this configuration work.



----- Original Message ----- From: "Gludovátz Gábor" <ggabor@xxxxxxxxx>
To: <lartc@xxxxxxxxxxxxxxx>
Sent: Wednesday, March 31, 2004 11:53 PM
Subject: Buggy netfilter?



Or am I doing something really wrong.



2 public interfaces (eth0 and ppp0), with 2 public IP addresses.


I can ping and connect to both interface's IP address. I can login with
ssh, anything on _both_ IP address.

But iptables DNAT works only for eth0.

Here are my settings:

(ppp is initialized with 'pptp provider.ip')

--- /etc/ppp/options ---

nodefaultroute
noipdefault
name '"'adsluser@provider'"'
linkname '"'adsl'"'
noauth
debug
mtu 1400
mru 1400

--- ip route settings ---

Just like in the Adv-Routing-HowTo (4.2.1. Split access), except for the
different IP addresses.

--- iptables ---

iptables -t nat -N ROUTING1
iptables -t nat -N ROUTING2

iptables -t nat -A PREROUTING -p tcp -i eth0 -j ROUTING1
iptables -t nat -A PREROUTING -p tcp -i ppp0 -j ROUTING1

iptables -t nat -A ROUTING1 -p tcp -j ROUTING2 -s $clientip1/32
iptables -t nat -A ROUTING1 -p tcp -j ROUTING2 -s $clientip2/32

iptables -t nat -A ROUTING2 -p tcp -j LOG  --dport 3389 --log-prefix
'"'FW: MSTSC connection attempt '"' --log-level warn
iptables -t nat -A ROUTING2 -p tcp -j DNAT --dport 3389 --to-destination
192.168.100.23:3389

---

eth2 is the 3rd interface, with access to our 192.168.100.* private network.


-- The result: --


I can reach both interfaces (from the Internet), I can connect through
them to the firewall.

But DNAT works only with the eth0 interface.

Strange: iptables LOG rule is fired for ppp0 and eth0 connections,
but eth0 connections are successful, and at the same time:
ppp0 connections are just waiting without anything coming back.

But as you can see, the packets for both go the same way in iptables.

--- tcpdump ---

If I go through ppp0, nothing can be seen on the inner interface (eth2).
The packets seem to get lost somewhere, so nothing (nothing at all) goes
back to the client, who tries to connect.



Thanks in advance


-- Gábor GLUDOVÁTZ <gabor@xxxxxxxxxxxxx> / +36 (70) 520 31 62 http://www.gludovatz.com/ ... ... .. .. . .


_______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/


[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux