# iptables treibt mich zum Wahnsinn - kriege kein routing hin!

## Poldi-1

Hallo

es gibt ja schon einige Threads zu iptables, aber da ich nicht mal weiss wo mein problem liegt, poste ich einfach mal meine /etc/iptables.conf

```

*raw

:PREROUTING ACCEPT [41425:5819139]

:OUTPUT ACCEPT [47399:5038764]

COMMIT

# Completed on Sat Nov  6 20:28:26 2004

# Generated by iptables-save v1.2.11 on Sat Nov  6 20:28:26 2004

*nat

:PREROUTING ACCEPT [171:15828]

:POSTROUTING ACCEPT [24:1361]

:OUTPUT ACCEPT [10:687]

-A POSTROUTING -o eth0 -j MASQUERADE

COMMIT

# Completed on Sat Nov  6 20:28:26 2004

# Generated by iptables-save v1.2.11 on Sat Nov  6 20:28:26 2004

*mangle

:PREROUTING ACCEPT [41425:5819139]

:INPUT ACCEPT [40625:5780277]

:FORWARD ACCEPT [773:37452]

:OUTPUT ACCEPT [47399:5038764]

:POSTROUTING ACCEPT [48172:5076216]

COMMIT

# Completed on Sat Nov  6 20:28:26 2004

# Generated by iptables-save v1.2.11 on Sat Nov  6 20:28:26 2004

*filter

:INPUT ACCEPT [7842:695018]

:FORWARD ACCEPT [51:2520]

ACCEPT

:OUTPUT ACCEPT [13502:2439833]

-A INPUT -i lo -j ACCEPT

-A INPUT -i eth0 -j ACCEPT

-A FORWARD -i eth1 -o eth0 -j ACCEPT

-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

COMMIT

```

eth0 (192.168.0.25) --> ADSL-Modem

eth1 (192.168.0.24) --> LAN

Ich kann die Rechner untereinander pingen und die ADSL-Verbindung der Gentoo-Box funktioniert. Nur komme ich halt nicht vom LAN ins Internet, nichtmal ping geht.

Was habe ich falsch gemacht?

----------

## tuxfan

du hast das masquerading vergessen

```

  $IPTABLES -A POSTROUTING -o eth1 -t nat -j MASQUERADE

```

----------

## toskala

n -s würd ich noch reintun...

-s 192.168.0.0/24

----------

## EnricoHorn

Poste bitte mal den Output von folgenden:

ifconfig

route -n

Hast du IP-Forwarding aktiviert?

Hier ein Ausschnitt aus der Kernel -Hilfe

 *Quote:*   

> 
> 
> Note that your box can only act as a router if you enable IP
> 
> forwarding in your kernel; you can do that by saying Y to "/proc
> ...

 

----------

## Poldi-1

Erstmal Danke für die rege Anteilnahme! Also, ...

@tuxfan MASQUERADE ist an (Zeile 11)

@EnricoHorn ip-forwarding ist an, und hier der Rest:

ifconfig

```

eth0      Link encap:Ethernet  HWaddr 00:E0:18:A6:0F:A5

          inet addr:192.168.0.25  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::2e0:18ff:fea6:fa5/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:16908 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5255 errors:0 dropped:0 overruns:0 carrier:4

          collisions:80 txqueuelen:1000

          RX bytes:4103936 (3.9 Mb)  TX bytes:459602 (448.8 Kb)

          Interrupt:5

eth1      Link encap:Ethernet  HWaddr 00:08:54:D1:84:0A

          inet addr:192.168.0.24  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::208:54ff:fed1:840a/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:3381 errors:0 dropped:0 overruns:0 frame:0

          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:311029 (303.7 Kb)  TX bytes:1278 (1.2 Kb)

          Interrupt:11 Base address:0x2000

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

ppp0      Link encap:Point-to-Point Protocol

          inet addr:82.82.187.9  P-t-P:145.253.4.128  Mask:255.255.255.255

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492 Metric:1

          RX packets:13 errors:0 dropped:0 overruns:0 frame:0

          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:3

          RX bytes:676 (676.0 b)  TX bytes:663 (663.0 b)
```

route -n

```

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

145.253.4.128   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0

192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

127.0.0.0       127.0.0.1       255.0.0.0       UG    0      0        0 lo

0.0.0.0         145.253.4.128   0.0.0.0         UG    0      0        0 ppp0
```

Last edited by Poldi-1 on Sun Nov 07, 2004 3:42 pm; edited 1 time in total

----------

## ajqwak

ich habe von iptables auch keine Ahnung, aber 

fehlt da nicht das Gateway?

route -n

```
Kernel routing table

Destination     Gateway         Genmask         Flags MSS    Window Use Iface

62.26.xxx.xxx   *               255.255.255.255 UH    0      0        0 ppp0

192.168.2.0     *               255.255.255.0   U     0      0        0 eth1

192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

127.0.0.0       *               255.0.0.0       U     0      0        0 lo

default         *               *               U     0      0        0 ppp0
```

----------

## Poldi-1

ppp0 ist down wenn ich hier was schreibe (auf windows/rechner), weil routing geht ja nicht  :Sad: 

----------

## EnricoHorn

Dein Masquerading muss natürlich über ppp0 gehen, nicht über eth1!!!

----------

## ajqwak

Unter Gentoo ist das Gatewy dann gesetzt?

(

```
route add default gw 192.168.0.25
```

)

----------

## Poldi-1

Habe nochmal mein Post editiert und die Daten von route ind ifconfig geposted wenn ich online bin.

Da ppp0 über eth1 läuft, dachte ich das wäre egal, weil dasselbe. Hab ich mich da geirrt?

----------

## Poldi-1

 *ajqwak wrote:*   

> Unter Gentoo ist das Gatewy dann gesetzt?
> 
> (
> 
> ```
> ...

 

Habe das Kommando mal ausprobiert und dann wurden nicht mal mehr die Hostnames resolved wenn ich versucht hab aus dem LAN zu pingen.

----------

## EnricoHorn

 *Poldi-1 wrote:*   

> 
> 
> Da ppp0 über eth1 läuft, dachte ich das wäre egal, weil dasselbe. Hab ich mich da geirrt?

 

Jo, da hast du dich geirrt. Das ppp0 ist praktisch ein Interface noch mal auf dem eth1 drauf. eth1 ist ja ein Ethernet-Interface wobei ppp0 in unserem Fall ein pppoe(=PPP-Over-Ethernet)-Interface ist.

Mach mal das MASQUERADING auf ppp0.

----------

## EnricoHorn

 *Poldi-1 wrote:*   

>  *ajqwak wrote:*   Unter Gentoo ist das Gatewy dann gesetzt?
> 
> (
> 
> ```
> ...

 

Ja, das funzt net. rp-pppoe setzt das Default-GW selber.

----------

## ajqwak

Ich tu mir immer noch mit deiner Routingtabelle schwer. 

Der Router stellt die Verbindung von LAN und Internet her. Oder soll es zu mindest.  :Smile: 

Du hast zwei Netzwerkarten eth0 und eth1. Beide sind im lokalen netz (192.168.0.0). 

In meinem Router sind 3 Netzwerkkarten, wobei eth2 das modem anschließt und nun ppp0 heißt.

----------

## EnricoHorn

@ajqwak

Also ich denke, die Routing-Tabelle ist ok. Allerdings braucht er genau genommen für eth0 keine IP-Adresse und damit auch keinen Routingeintrag. Ich würde an seiner Stelle die Konfiguration für eth0 komplett aus /etc/conf.d/net rausnehmen, so dass er dann nur noch das "rohe" eth0 Interface ohne IP hat.

----------

## EnricoHorn

Ääh, wo hängt jetzt das Modem dran? An eth0? Dann geht natürlich ppp0 über eth0! Und eth0 darf natürlich keine interne IP-Adresse haben! (wenn wirklich nur das Modem dranhängt!!)

----------

## ajqwak

Genau da vermute ich auch das Problem, habe aber keine Lösung parat.

----------

## EnricoHorn

Also meiner Meinung nach müsste es gehen, wenn er:

1. Die Konfiguration von eth0 aus /etc/init.d/net rausnimmt

2. net.eth0 stoppt:

```

/etc/init.d/net.eth0 stop

```

3. eth0 ohne IP wieder hoch bringen:

```

ifconfig eth0 up

```

4. RP-PPPOE starten:

```

/etc/init.d/rp-pppoe start

```

5. Das Masquerading auf ppp0 macht:

```

iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.0/24 -j MASQUERADE

```

Dann vielleicht noch:

```

rc-update del net.eth0 default

```

damit eth0 beim Booten nicht wieder eine IP bekommt.

----------

## Poldi-1

Alles gemacht, geht aber immer noch nicht  :Sad:  Nur das resolven von hostnames geht. Hier nochmal meine aktuellen Daten:

ifconfig

```

eth0      Link encap:Ethernet  HWaddr 00:E0:18:A6:0F:A5

          inet6 addr: fe80::2e0:18ff:fea6:fa5/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:274 errors:0 dropped:0 overruns:0 frame:0

          TX packets:282 errors:0 dropped:0 overruns:0 carrier:5

          collisions:0 txqueuelen:1000

          RX bytes:22611 (22.0 Kb)  TX bytes:19228 (18.7 Kb)

          Interrupt:5

eth1      Link encap:Ethernet  HWaddr 00:08:54:D1:84:0A

          inet addr:192.168.0.24  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::208:54ff:fed1:840a/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:664 errors:0 dropped:0 overruns:0 frame:0

          TX packets:360 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:51271 (50.0 Kb)  TX bytes:30771 (30.0 Kb)

          Interrupt:11 Base address:0x2000

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

ppp0      Link encap:Point-to-Point Protocol

          inet addr:82.82.162.18  P-t-P:145.253.4.128 Mask:255.255.255.255

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492 Metric:1

          RX packets:239 errors:0 dropped:0 overruns:0 frame:0

          TX packets:264 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:3

          RX bytes:11587 (11.3 Kb)  TX bytes:11074 (10.8 Kb)

```

/etc/conf.d/net

```

iface_eth0=""

iface_eth1="192.168.0.24 broadcast 192.168.0.255 netmask 255.255.255.0"

```

route -n

```

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

145.253.4.128   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0

192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

127.0.0.0       127.0.0.1       255.0.0.0       UG    0      0        0 lo

0.0.0.0         145.253.4.128   0.0.0.0         UG    0      0        0 ppp0

```

/etc/iptables.conf

```

*raw

:PREROUTING ACCEPT [41425:5819139]

:OUTPUT ACCEPT [47399:5038764]

COMMIT

*nat

:PREROUTING ACCEPT [171:15828]

:POSTROUTING ACCEPT [24:1361]

:OUTPUT ACCEPT [10:687]

-A POSTROUTING -o ppp0 -j MASQUERADE

COMMIT

*mangle

:PREROUTING ACCEPT [41425:5819139]

:INPUT ACCEPT [40625:5780277]

:FORWARD ACCEPT [773:37452]

:OUTPUT ACCEPT [47399:5038764]

:POSTROUTING ACCEPT [48172:5076216]

COMMIT

*filter

:INPUT ACCEPT [7842:695018]

:FORWARD ACCEPT [51:2520]

:OUTPUT ACCEPT [13502:2439833]

-A INPUT -i lo -j ACCEPT

-A INPUT -i eth0 -j ACCEPT

-A FORWARD -i eth1 -o eth0 -j ACCEPT

-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

COMMIT

```

----------

## EnricoHorn

Hallo,

1. Du hast den Source -Parameter bei MASQUERADE nicht drin (-s 192.168.0.0/24)

2. Kommst du von dem Router-Rechner raus?

3. Die MTU bei ppp0 scheint mir ein bisschen hoch.

----------

## nillsen

Hi,

ist ein Router nicht dafür da, 2 verschiedene Subnetze zu verbinden ? Ich würde mal die beiden Adressen der Netzwerkkarten in 2 Netze legen.

----------

## Cirrius

Folgende Konfiguration läuft bei mir ohne Probleme.

eth0 = Internes Netz

eth1 = DSL-Modem

ppp0 = DSL-Wahlverbindung

```
iptables -F

iptables -t nat -F

iptables -I INPUT 1 -i eth0 -j ACCEPT

iptables -I INPUT 1 -i lo -j ACCEPT

iptables -A INPUT -p TCP -i ! eth0 -d 0/0 --dport 0:1023 -j DROP

iptables -A INPUT -p UDP -i ! eth0 -d 0/0 --dport 0:1023 -j DROP

iptables -I FORWARD -i eth0 -d 192.168.0.0/255.255.0.0 -j DROP

iptables -A FORWARD -i eth0 -s 192.168.0.0/255.255.0.0 -j ACCEPT

iptables -A FORWARD -i ppp0 -d 192.168.0.0/255.255.0.0 -j ACCEPT

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

/etc/init.d/iptables save

rc-update add iptables default

/etc/init.d/iptables start 
```

----------

## Poldi-1

@EnricoHorn

1. Habe jetzt -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE

-geht aber leider immer noch nicht  :Sad: 

2. Vom Router ins Internet ist kein Problem, http, ftp usw. Kann ja immerhin auch DNS-Namen aus dem LAN resolven (dnsmasq scheint zu funktionieren)

3. Keine Ahnung, die MTU habe ich nicht verändert.

@nillsen

meine eth0 hat ja jetzt gar keine IP-Informationen mehr (also auch kein Subnetz). Müsste doch reichen, oder?

@Cirrius

1. Wie sind Deine Netzwerkkarten konfiguriert? (IP/Subnetz)

2. Wie sieht bei Dir die Ausgabe von route -n aus?

3. Ich brauche doch erstmal keine DROP-Regeln um ein funktionierendes Routing hinzukriegen, oder? Klar ist das unsicher, aber darum kann ich mich dann immernoch kümmern wenn es funktioniert.

----------

## Poldi-1

@Cirrius

ES KLAPPT: Habe alle Einstellungen von Dir (bis auf die DROP-Regeln) übernommen, und ES FUNZT.

Danke euch allen!

Muss jetzt erstmal zur Arbeit, aber melde mich bestimmt nochmal wegen dem Feintuning!

Greetz!

    Poldi

----------

## Cirrius

 *Poldi-1 wrote:*   

> @Cirrius
> 
> ES KLAPPT: Habe alle Einstellungen von Dir (bis auf die DROP-Regeln) übernommen, und ES FUNZT.
> 
> Danke euch allen!
> ...

 

OK! Das höre ich gerne....

----------

## Poldi-1

Hat alles schön funktioniert für ein paar Tage. Jetzt hatte ich mal meinen ersten Tag frei und hab sogar mein samba aufgesetzt gekriegt  :Smile: 

Zur Belohnung spiele ich ein bisschen auf einem anderen Rechner im LAN und plötzlich is die Internetverbindung weg. Also logge ich mich über ssh ein und will die verbindung starten (adsl-start) aber es geht nicht weil sie angeblich schon up ist. Schliessen konnte ich sie aber auch nicht weil die PIDs nicht übereinstimmten. Also reboot. Danach konnte ich mich auch nicht mehr einwählen (time-out) und wenn ich ifconfig -a mache habe ich plötzlich ein device sit0 für ipv6 in ipv4 tunnel, dabei habe ich tunneling im kernel gar nicht aktiviert, auch nicht als modul. was kann ich jetzt machen das ich wieder ins internet komme?

----------

## BloX

Für ein IPv6-in-IPv4 Tunnel ist das Tunnel-Modul vom Kernel auch nicht erforderlich.

Überprüfe halt wo das sit0-Device herkommen könnte.

Bei welchem Provider bist du? (Kann es sein, dass dieser IPv6-Adressen verteilt  und der  rp-pppoe das dann automatisch eingerichtet hat?)

Die Standardfrage: was sagt ifconfig -a bzw. ip -4 route show?

Was  passiert, wenn du das Tunnel-Device  abschaltest (ifconfig sit0 down)?

Greets,

_____BloX

----------

## Poldi-1

Wie soll ich das denn überprüfen wo es herkommt?

Bin bei Arcor, keine Ahnung ob die IP6 Adressen zuweisen. Ich denke mal nicht, da sit0 die ersten Tage nicht da war.

ifconfig -a gibt immernoch dasselbe aus wie bereits in diesem Thread gepostet, plus halt den Eintrag für sit0

```

sit0      Protokoll:IPv6-nach-IPv4

          NOARP  MTU:1480  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          Kollisionen:0 Sendewarteschlangenlänge:0

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

```

Passiert nix, abgeschaltet hab ich das Teil eh sofort als ich es bemerkt hab.

Kann das ein Virus/Trojaner sein?!?!

----------

## BloX

 *Poldi-1 wrote:*   

> 
> 
> Bin bei Arcor, keine Ahnung ob die IP6 Adressen zuweisen.
> 
> 

 

Soweit ich weiss, teilt Arcor wirklich IPv6-Adressen zu, diese dürften dann aber eigentlich nichts mit Tunneln zu tun haben.

 *Poldi-1 wrote:*   

> Kann das ein Virus/Trojaner sein?!?!

 

Denke eher nicht, da ja keine Daten über das Interface laufen.

Ist wirklich höchst seltsam das ganze.

Kommt das Device bei jedem Neustart? Was passiert, wenn du

```
ifconfig sit0 down; adsl-stop; adsl-start
```

machst?

Was sagt die Routingtabelle, wenn sit0 up/down ist?

Greets,

_____BloX

EDIT: Hast du schonmal dmesg und die logs untersucht, ob sich da irgendwelche Angaben rauslesen lassen, wann sit0 auftaucht?

----------

